Quickstart
Fetch an OG Score in five minutes. Five languages, one call, one key.
1. Get your API key
Submit a request through our contact form with your use case.
You'll receive a sk_live_... key once — store it securely, it won't be shown again.
2. Fetch a coin score
Replace sk_live_... with your key and pick a language:
curl -H "X-API-Key: sk_live_..." \
https://api.ogaudit.com/api/v1/projects/bitcoin-btc/score
const res = await fetch(
'https://api.ogaudit.com/api/v1/projects/bitcoin-btc/score',
{ headers: { 'X-API-Key': 'sk_live_...' } }
);
const { data, meta } = await res.json();
console.log(data.og_score, data.band); // 72.01, 'B'
import requests
res = requests.get(
'https://api.ogaudit.com/api/v1/projects/bitcoin-btc/score',
headers={'X-API-Key': 'sk_live_...'},
)
data = res.json()['data']
print(data['og_score'], data['band']) # 72.01 B
<?php
$client = new \GuzzleHttp\Client();
$res = $client->get('https://api.ogaudit.com/api/v1/projects/bitcoin-btc/score', [
'headers' => ['X-API-Key' => 'sk_live_...'],
]);
$data = json_decode($res->getBody(), true)['data'];
echo $data['og_score'] . ' ' . $data['band']; // 72.01 B
req, _ := http.NewRequest("GET",
"https://api.ogaudit.com/api/v1/projects/bitcoin-btc/score", nil)
req.Header.Set("X-API-Key", "sk_live_...")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
var body struct {
Data struct {
OgScore float64 `json:"og_score"`
Band string `json:"band"`
} `json:"data"`
}
json.NewDecoder(res.Body).Decode(&body)
fmt.Println(body.Data.OgScore, body.Data.Band) // 72.01 B
3. Fetch an exchange score
Same auth, different path:
curl -H "X-API-Key: sk_live_..." \
https://api.ogaudit.com/api/v1/exchanges/binance/score
const res = await fetch(
'https://api.ogaudit.com/api/v1/exchanges/binance/score',
{ headers: { 'X-API-Key': 'sk_live_...' } }
);
const { data } = await res.json();
console.log(data.og_score, data.band);
res = requests.get(
'https://api.ogaudit.com/api/v1/exchanges/binance/score',
headers={'X-API-Key': 'sk_live_...'},
)
print(res.json()['data']['og_score'])
$res = $client->get('https://api.ogaudit.com/api/v1/exchanges/binance/score', [
'headers' => ['X-API-Key' => 'sk_live_...'],
]);
$data = json_decode($res->getBody(), true)['data'];
req, _ := http.NewRequest("GET",
"https://api.ogaudit.com/api/v1/exchanges/binance/score", nil)
req.Header.Set("X-API-Key", "sk_live_...")
res, _ := http.DefaultClient.Do(req)
4. Handle errors
All error responses share the same shape. Inspect error.code for programmatic handling:
401 MISSING_KEY/INVALID_KEY/REVOKED_KEY— regenerate via our contact form403 IP_NOT_ALLOWED— your IP is not in the key's allowlist404 COIN_NOT_FOUND/EXCHANGE_NOT_FOUND— check slug orflags.is_gone429 RATE_LIMIT_EXCEEDED/QUOTA_EXCEEDED— waitRetry-Afterseconds503 API_DISABLED— service paused; retry later
5. Key response fields
Full schema on the API Reference. Most-used fields:
data.og_score— 0–100 (float)data.band— A/B/C/D/Fdata.confidence— high/medium/low (based on review count)data.og_score_rank/og_score_rank_total— e.g. 1/949data.market— price, market cap, 24h volume, ATH/ATLdata.sentiment— community bullish/bearish percentagesdata.flags— is_verified, is_listed, is_gone, statusmeta.cache_ttl_remaining_seconds— cache freshness