Skip to main content
Sign in
Platform Data

API Usage

Who calls the public API, how often, and what they ask for

What is counted

Origin requests only. Responses served from the edge cache (the v1 endpoints are cached for 300s) never reach the server and cannot be counted here, so real client-side traffic is higher than these figures. Callers are identified by a salted daily hash of their IP — no addresses are stored, and a caller cannot be followed across days.

Volume

Last 24h
769
436 distinct callers
Last 7d
2,178
1,022 distinct callers
Last 30d
2,178
1,022 distinct callers
All time
2,178
since 2026-08-21
Avg response (30d)
422
milliseconds
p95 response (30d)
345
milliseconds
Error rate (30d)
0.4%
9 responses ≥ 400

Most recent request 1m ago

Who is calling

AI crawlers991
Browsers884
SEO tools209
Search engines63
Scripts & HTTP clients31
AI crawlersAgent reach — the 'for agents' audience528 callers
BrowsersBrowser-like user agent — a person, or a client sending no UA437 callers
SEO toolsMarketing scrapers — noise13 callers
Search enginesOrganic discovery / SEO reach38 callers
Scripts & HTTP clientscurl / python-requests / axios / node-fetch — real API consumers6 callers

Top user agents (30d)

Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; Amazonbot/0.1; +https://developer.amazon.com/support/amazonbot) Chrome/119.0.6045.214 Safari/537.36535
Mozilla/5.0 (compatible; Barkrowler/0.9; +https://babbar.tech/crawler)209
Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)163
Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)114
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36; compatible; OAI-SearchBot/1.4; +https://openai.com/searchbot105
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Safari/537.3697
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.3654
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.3648
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.3648
Sogou web spider/4.044

Which endpoints

/api/v1/investigations/[slug]1,204 · 55.3%
539 callers · 656ms avg · 9 errors
/api/views938 · 43.1%
460 callers · 134ms avg
/llms.txt26 · 1.2%
26 callers · 0ms avg
/api/search7 · 0.3%
1 callers · 434ms avg
/api/v1/investigations2 · 0.1%
1 callers · 139ms avg
/api/v11 · 0.0%
0 callers · 4ms avg

When

Requests per day8d observed
08-2108-28

Referring hosts (30d)

avoid.net1146
www.avoid.net30
web-jade-three-47.vercel.app24
web-8eyy2l6a7-chadjectives-projects.vercel.app2
web-fy0ycxid9-chadjectives-projects.vercel.app2
web-gcwggt5ij-chadjectives-projects.vercel.app2
web-kyyjp6iex-chadjectives-projects.vercel.app2
web-p7x50abgx-chadjectives-projects.vercel.app2
m.baidu.com1
web-git-claude-user-repeat-access-775b1f-chadjectives-projects.vercel.app1

How this is measured

Every public read endpoint is wrapped in withApiLogging(), which records one row per origin request after the response is sent. Logging never blocks or fails a request.

Identity. There is no consumer API key system, so a caller is identified as sha256(salt + IP + UTC date). Distinct-caller counts are counts of that hash. Raw IP addresses are not stored — the column was dropped in migration 034.

Endpoints are grouped by templated route, so /api/v1/investigations/[slug] is one row rather than one row per investigation.

Aggregates are computed in Postgres, not by scanning rows in the app — PostgREST silently caps an unbounded select at 1,000 rows, which has produced wrong figures on this site before.

Data refreshes every 5 minutes · All metrics derived from Supabase