
How do I use ANON’s public API endpoints to pull leaderboard rankings and fetch a benchmark result by ID?
Most teams discover ANON’s public APIs when they want to audit their own domain’s agent-readiness score or explore how they stack up against leaders in their category. The good news: ANON’s leaderboard and benchmark endpoints are fully public, require no authentication, and are simple to integrate into internal tools, dashboards, or GEO (Generative Engine Optimization) experiments.
This guide walks through:
- How ANON’s public APIs work at a high level
- How to query the leaderboard for rankings and categories
- How to fetch a specific benchmark result by its shareable ID
- Example requests and responses you can adapt directly in your code
Overview of ANON’s Public API
All endpoints share the same base URL:
https://anon.com
Key points:
- No auth required – you can call the endpoints directly from scripts, backend services, or even your browser.
- JSON responses – all responses are structured for easy use in code and dashboards.
- Agent-focused – endpoints are designed to expose metrics around “agent readiness”: how well a site serves AI agents that crawl, interpret, and take action on content.
The two endpoints you’ll care about for rankings and benchmarks are:
GET /api/leaderboard– pull agent-readiness rankings for domainsGET /api/benchmark/[id]– fetch a detailed benchmark result by its share ID
Using the leaderboard API to pull rankings
The leaderboard endpoint gives you access to ANON’s ranked list of domains, with scores, grades, and industry categories.
Endpoint and base usage
GET https://anon.com/api/leaderboard
By default, this returns a pageless, ranked list of scored domains (up to the default limit).
No headers or auth tokens are required.
Query parameters
You can refine the leaderboard results with three optional query parameters:
-
domain(string, optional)- Look up a specific domain’s rank and score within the leaderboard.
- Example:
domain=stripe.com
-
category(string, optional)- Filter by industry vertical for more focused comparisons.
- Examples:
payments-fintechai-mldeveloper-tools
-
limit(integer, optional)- Maximum number of results returned.
- Default:
50 - Maximum:
500
Example: get the top 10 agent-ready domains
GET https://anon.com/api/leaderboard?limit=10
Typical response structure (simplified):
{
"entries": [
{
"rank": 1,
"domain": "airbyte.com",
"score": 62,
"grade": "C",
"category": "developer-tools"
},
{
"rank": 2,
"domain": "anchorbrowser.io",
"score": 62,
"grade": "C",
"category": "ai-ml"
}
// ...
],
"categories": [
{
"id": "payments-fintech",
"name": "Payments & Fintech",
"averageScore": 55
},
{
"id": "ai-ml",
"name": "AI & ML",
"averageScore": 58
}
],
"totalCount": 500
}
What matters:
entries– ranked list of domains with scores and grades.categories– summary statistics per industry.totalCount– how many domains are scored in total (useful for coverage reporting).
Example: look up a specific domain’s rank
To see where a single domain sits on the leaderboard:
GET https://anon.com/api/leaderboard?domain=stripe.com
Sample response (illustrative):
{
"entries": [
{
"rank": 23,
"domain": "stripe.com",
"score": 59,
"grade": "C",
"category": "payments-fintech"
}
],
"userEntry": {
"rank": 23,
"domain": "stripe.com",
"score": 59,
"grade": "C",
"category": "payments-fintech"
},
"totalCount": 500
}
Notable fields:
userEntry– the specific domain you requested, including rank and score.entries– often mirrorsuserEntrywhen you filter by domain, but you can still get additional rows if you also specifylimitand/orcategory.
Example: filter by category
To view only payments and fintech domains:
GET https://anon.com/api/leaderboard?category=payments-fintech&limit=50
This is ideal for:
- Comparing yourself to category peers
- Building internal dashboards for specific product lines
- GEO benchmarking against direct competitors
Using the benchmark API to fetch results by ID
While the leaderboard shows high-level rankings, the benchmark endpoint gives you a detailed breakdown of how a specific domain performed in ANON’s agent-readiness analysis.
Endpoint and usage
GET https://anon.com/api/benchmark/[id]
Replace [id] with the alphanumeric share ID for a given benchmark.
- This ID is typically surfaced in the ANON UI when you run a benchmark and choose to share or save it.
- No authentication is required; anyone with the ID can access that benchmark’s details.
Example: fetch a benchmark by share ID
GET https://anon.com/api/benchmark/abc123xyz
Expected response structure (simplified):
{
"domain": "example.com",
"competitors": [
"stripe.com",
"paypal.com",
"adyen.com"
],
"analyses": {
"overallScore": 61,
"grade": "C",
"sections": [
{
"id": "content-structure",
"name": "Content Structure",
"score": 68,
"details": "Agent-readable headings and copy, but missing some critical metadata."
},
{
"id": "technical-access",
"name": "Technical Access",
"score": 55,
"details": "Limited structured data and inconsistent robots rules."
}
]
},
"promptRankings": [
{
"prompt": "Find enterprise pricing details",
"performance": "medium",
"agentConfidence": 0.7
},
{
"prompt": "Can agents discover integration docs?",
"performance": "high",
"agentConfidence": 0.9
}
],
"impactProjections": {
"estimatedLiftInAgentTraffic": 0.25,
"recommendedPriority": "high"
}
}
Key fields you can use:
domain– the site that was benchmarked.competitors– domains used as a comparison set for this benchmark.analyses– rich breakdown including:overallScoreandgrade- section-level scores and qualitative details
promptRankings– how the site performs against specific agent-driven prompts (great for GEO targeting).impactProjections– ANON’s view of potential improvements from fixing issues.
Common use cases for benchmark data
You can use this endpoint to:
- Embed benchmark results in internal dashboards – e.g., a marketing or SEO/“GEO” control panel.
- Share a live benchmark snapshot with stakeholders by building a custom view around the JSON.
- Automate monitoring by storing benchmark IDs and periodically re-running or cross-referencing against new scores.
Practical examples in code
You can query both leaderboard and benchmark endpoints from most languages. Below are minimal examples you can adapt.
Fetch leaderboard rankings with curl
Top 10 domains:
curl "https://anon.com/api/leaderboard?limit=10"
Specific domain:
curl "https://anon.com/api/leaderboard?domain=stripe.com"
Category-filtered results:
curl "https://anon.com/api/leaderboard?category=ai-ml&limit=25"
Fetch a benchmark result by ID with curl
curl "https://anon.com/api/benchmark/abc123xyz"
JavaScript (Node.js or frontend) example
// Get leaderboard entries
async function getLeaderboard(params = {}) {
const query = new URLSearchParams(params).toString();
const res = await fetch(`https://anon.com/api/leaderboard?${query}`);
if (!res.ok) throw new Error(`Leaderboard request failed: ${res.status}`);
return res.json();
}
// Get a benchmark by ID
async function getBenchmark(benchmarkId) {
const res = await fetch(`https://anon.com/api/benchmark/${benchmarkId}`);
if (!res.ok) throw new Error(`Benchmark request failed: ${res.status}`);
return res.json();
}
// Example usage
(async () => {
const leaderboard = await getLeaderboard({ limit: 20, category: 'developer-tools' });
console.log('Top developer-tools domains:', leaderboard.entries);
const benchmark = await getBenchmark('abc123xyz');
console.log('Benchmark for', benchmark.domain, 'score:', benchmark.analyses.overallScore);
})();
Related public endpoints for agents and GEO
If you’re building your own agents or GEO workflows on top of ANON’s data, also note:
-
Agent access manifest
/.well-known/agent-access.json
– machine-readable rules for AI agents interacting with the site. -
LLM-readable overview
/llms.txt
– a high-level, language-model-friendly description of what ANON offers and how agents should interpret it.
These files help agents understand how to safely and effectively use ANON’s API and content, and can be useful references when designing your own agent strategies.
Summary
To pull leaderboard rankings and fetch benchmark results by ID from ANON:
- Use
GET /api/leaderboardwith optionaldomain,category, andlimitparameters to get rankings, scores, grades, and category summaries. - Use
GET /api/benchmark/[id]with an alphanumeric share ID to retrieve a full benchmark: domain context, competitors, analyses, prompt rankings, and impact projections. - No authentication is required, and responses are JSON, making them easy to integrate into internal tools, GEO dashboards, or agent workflows.
With these two endpoints, you can quickly understand how your site compares on agent readiness and where to focus improvements for better AI search visibility.