Skip to content

Who's calling Agenstry?

Every search, skill lookup, MCP lookup, route decision and compose call leaves a row in our call log, with the caller's inferred host (Claude Desktop, OpenAI Responses API, Cursor, n8n…), API surface, and country. Free + public because the answer is positioning, not private signal. Connect your AI →

189,883
unique requesters · raw
147
search queries
637
API calls
30-day window · 346,866 total events logged (225,868 page views + 71,823 search impressions + 637 API hits)

By AI host (caller_kind)

Inferred from User-Agent · see full label reference →
Web browser 234,366 (67.6%)
Unknown (no UA) 66,165 (19.1%)
curl 13,612 (3.9%)
Other crawler 11,692 (3.4%)
MJ12bot / Majestic (SEO tool) 11,691 (3.4%)
SemrushBot (SEO tool) 5,498 (1.6%)
ChatGPT (browse) 1,453 (0.4%)
AhrefsBot (SEO tool) 854 (0.2%)
DataForSeoBot (SEO tool) 422 (0.1%)
Meta-ExternalAgent 254 (0.1%)
Python (httpx) 176 (0.1%)
Agenstry peer 159 (0.0%)
Python (urllib) 122 (0.0%)
Claude (browse) 110 (0.0%)
Amazonbot 93 (0.0%)

By API surface

web 273,918
rest 72,314
a2a 612
mcp 22
try_proxy 3

By country (top 25)

US 363
GB 248
DE 62
CN 39
AU 37
CH 27
SE 24
PL 24
JP 23
NL 20
BE 18
IN 17
ES 17
SG 15
FR 13
MY 12
IT 11
BR 9
DK 9
RU 7
NZ 7
KR 7
RO 5
HK 5
ID 4

What's behind this page

Every API surface (/a2a · /mcp · /api/v1/skills · /api/search · /api/route · /api/compose · the managed-runtime /agents/{domain}/a2a + /try proxy) routes its audit log through one helper at app/call_log.py. The helper extracts the caller's User-Agent (mapped to one of ~25 known hosts), IP-derived country code (via Cloudflare's CF-IPCountry header), referer hostname, and (when an A2A peer agent is calling) the peer's identity from the message metadata or X-Agent-Caller header. The row goes into agent_call_logs fire-and-forget so observability never adds latency to the hot path.

What stays private to owners: per-API-key breakdown on the agent dashboard. What's public: this page + per-skill / per-MCP usage badges on /skills and the MCP browser.