Check your brand's AI visibility programmatically. All endpoints are free during beta.
Real-time brand AI visibility scan. Returns SSE events with progress updates and final result.
| Parameter | Type | Description |
|---|---|---|
brand required | string | Brand name to check |
domain | string | Website domain (enables technical scan) |
industry required | string | Industry category |
SSE Events:
start — Scan initiatedprogress — Step progress (tech scan, each AI query)result — Final result with score, breakdown, competitors, actionserror — Error messageExample:
curl -N "https://geo.agntwork.com/api/quickcheck/stream?brand=Notion&domain=notion.so&industry=productivity_tools"
# SSE response:
event: start
data: {"brand":"Notion","totalSteps":12}
event: progress
data: {"step":1,"totalSteps":12,"phase":"tech","message":"Scanning technical GEO..."}
event: result
data: {"id":"abc123","brand":"Notion","score":{"total":87,"grade":"A","organicVisibility":88,"directVisibility":100},...}
Retrieve a previously saved scan result by ID.
Example:
curl "https://geo.agntwork.com/api/quickcheck/abc123"
Get historical scan results for a brand.
| Parameter | Type | Description |
|---|---|---|
brand | string | Brand name |
domain | string | Domain name |
curl "https://geo.agntwork.com/api/history?brand=Notion"
# Response:
{"ok":true,"data":[
{"id":"abc123","brand":"Notion","score":87,"grade":"A","date":"2026-03-19"}
]}
Analyze a page's content for AI-readability across 10 dimensions.
| Parameter | Type | Description |
|---|---|---|
url required | string | Full URL to analyze |
curl "https://geo.agntwork.com/api/content-score?url=https://example.com/blog/post"
# Response:
{"ok":true,"data":{
"url":"https://example.com/blog/post",
"total":78,"grade":"A",
"breakdown":{"tech":18,"structure":22,"content":22,"trust":16},
"dimensions":{...},
"topIssues":[...]
}}
10 Dimensions:
| Layer | Dimension | Max |
|---|---|---|
| Technical | Schema Markup | /10 |
| Technical | SSR Readability | /10 |
| Structure | First Paragraph Precision | /10 |
| Structure | Heading Hierarchy | /10 |
| Structure | Paragraph Conciseness | /10 |
| Content | Citable Density | /10 |
| Content | Entity Association | /10 |
| Content | Information Density | /10 |
| Trust | E-E-A-T Signals | /10 |
| Trust | Source Authority | /10 |
All JSON endpoints return:
// Success
{"ok": true, "data": {...}}
// Error
{"error": "Error message"}
| Grade | Score Range | Meaning |
|---|---|---|
| A+ | 90-100 | Excellent — AI actively recommends you |
| A | 75-89 | Strong — mentioned frequently in organic queries |
| B | 60-74 | Good — some organic visibility, room to grow |
| C | 40-59 | Weak — mostly direct mentions only |
| D | 20-39 | Poor — rarely mentioned by AI |
| E/F | 0-19 | Invisible — AI doesn't know you |
Available industry values for the industry parameter:
technology, AI_tools, SaaS, project_management, marketing,
SEO, ecommerce, finance, healthcare, education,
real_estate, travel, food_delivery, cybersecurity, social_media,
analytics, CRM, design_tools, developer_tools, edtech,
fintech, healthtech, HR_tools, legal_tech, logistics, other
Register and login to get higher rate limits (10/day vs 3/day) and brand tracking.
curl -X POST "https://geo.agntwork.com/api/auth/register" \
-H "Content-Type: application/json" \
-d '{"email":"you@example.com","password":"your_password","name":"Your Name"}'
# Response: {"ok":true,"user":{...},"token":"..."}
curl -X POST "https://geo.agntwork.com/api/auth/login" \
-H "Content-Type: application/json" \
-d '{"email":"you@example.com","password":"your_password"}'
# Response: {"ok":true,"user":{...},"token":"..."}
List your tracked brands with latest scores. Requires Bearer token.
curl "https://geo.agntwork.com/api/tracked" \
-H "Authorization: Bearer YOUR_TOKEN"
# Response: {"ok":true,"brands":[{"brand":"Semrush","latest_score":93,...}]}
curl "https://geo.agntwork.com/api/benchmark?industry=seo_tools"
# Response: {"ok":true,"data":{"industry":"seo_tools","avg":85,"topBrand":"Semrush",...}}
AI-powered tools to actively improve your GEO score. All use GPT-5.4-mini for generation.
Generate an AI-powered optimization strategy based on scan results.
curl "https://geo.agntwork.com/api/strategy?id=abc123"
# Response: {"ok":true,"data":{"strategy":"1. DIAGNOSIS\n...","model":"gpt-5.4-mini"}}
Scan any domain's 10-dimension technical GEO configuration.
curl "https://geo.agntwork.com/api/competitor-tech?domain=semrush.com"
# Response: {"ok":true,"data":{"domain":"semrush.com","techScore":63,"robotsTxt":{...},...}}
Instant page AI-citability analysis. No AI call — results in seconds.
curl "https://geo.agntwork.com/api/page-analysis?url=https://example.com"
# Response: {"ok":true,"data":{"title":"...","wordCount":431,"weaknesses":[...]}}
AI content rewriter — analyzes page weaknesses and generates optimized content (meta, FAQ, comparison table, statistics, key takeaways).
curl -X POST "https://geo.agntwork.com/api/rewrite" \
-H "Content-Type: application/json" \
-d '{"url":"https://example.com","brand":"MyBrand","industry":"ai_tools"}'
# Response: {"ok":true,"data":{"rewrittenContent":"...","weaknesses":[...],"originalStats":{...}}}
Generate a complete authority building package: Reddit posts, Product Hunt copy, blog outreach emails, forum answers, press release.
curl -X POST "https://geo.agntwork.com/api/authority" \
-H "Content-Type: application/json" \
-d '{"brand":"MyBrand","domain":"example.com","industry":"ai_tools"}'
# Response: {"ok":true,"data":{"package":"## 1. REDDIT POSTS\n..."}}
Auto-generate a complete llms.txt file based on actual page content.
curl -X POST "https://geo.agntwork.com/api/generate-llms" \
-H "Content-Type: application/json" \
-d '{"url":"https://example.com","brand":"MyBrand","industry":"seo_tools"}'
# Response: {"ok":true,"data":{"llmsTxt":"# MyBrand\n> ..."}}
Scan for existing Schema types and generate missing ones (Organization, WebSite, FAQPage, BreadcrumbList).
curl -X POST "https://geo.agntwork.com/api/generate-schema" \
-H "Content-Type: application/json" \
-d '{"url":"https://example.com","brand":"MyBrand","industry":"ai_tools"}'
# Response: {"ok":true,"data":{"existing":["Organization"],"missing":["FAQPage"],"schemas":[...]}}
Public aggregate stats: total scans, unique brands, platform count.
# Response: {"scans":21,"brands":12,"platforms":3,"queries":630}
Last 8 public scans (brand, industry, score, grade, date). No sensitive data exposed.
# Response: {"ok":true,"data":[{"brand":"Canva","industry":"design","score":80,"grade":"A","date":1711065720}]}
Server health check: uptime, memory usage, DB size, Node version.
# Response: {"ok":true,"uptime":3600,"memory":{"rss":45,"heap":28},"db":{"sizeMB":0.3,"scans":21},"node":"v22.x","timestamp":"..."}
During beta, all endpoints are free. Anonymous: 3 scans/day. Registered: 10 scans/day + brand tracking + weekly auto-scans.
Optimization tools: 🚀 Open Optimize Dashboard