📡 GEO Tracker API

Check your brand's AI visibility programmatically. All endpoints are free during beta.

Rate Limits: 3 scans per IP per day (free tier). No auth required during beta.

Endpoints

1. Brand GEO Scan (Server-Sent Events)

GET /api/quickcheck/stream FREE

Real-time brand AI visibility scan. Returns SSE events with progress updates and final result.

ParameterTypeDescription
brand requiredstringBrand name to check
domainstringWebsite domain (enables technical scan)
industry requiredstringIndustry category

SSE Events:

Example:

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},...}

2. Get Saved Result

GET /api/quickcheck/:id FREE

Retrieve a previously saved scan result by ID.

Example:

curl "https://geo.agntwork.com/api/quickcheck/abc123"

3. Brand History

GET /api/history FREE

Get historical scan results for a brand.

ParameterTypeDescription
brandstringBrand name
domainstringDomain 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"}
]}

4. Content GEO Score

GET /api/content-score FREE

Analyze a page's content for AI-readability across 10 dimensions.

ParameterTypeDescription
url requiredstringFull 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:

LayerDimensionMax
TechnicalSchema Markup/10
TechnicalSSR Readability/10
StructureFirst Paragraph Precision/10
StructureHeading Hierarchy/10
StructureParagraph Conciseness/10
ContentCitable Density/10
ContentEntity Association/10
ContentInformation Density/10
TrustE-E-A-T Signals/10
TrustSource Authority/10

Response Format

All JSON endpoints return:

// Success
{"ok": true, "data": {...}}

// Error
{"error": "Error message"}

Score Grading

GradeScore RangeMeaning
A+90-100Excellent — AI actively recommends you
A75-89Strong — mentioned frequently in organic queries
B60-74Good — some organic visibility, room to grow
C40-59Weak — mostly direct mentions only
D20-39Poor — rarely mentioned by AI
E/F0-19Invisible — AI doesn't know you

Industries

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

🔐 Authentication

Register and login to get higher rate limits (10/day vs 3/day) and brand tracking.

5. Register

POST /api/auth/register FREE
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":"..."}

6. Login

POST /api/auth/login FREE
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":"..."}

7. Tracked Brands

GET /api/tracked AUTH

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,...}]}

8. Industry Benchmark

GET /api/benchmark FREE
curl "https://geo.agntwork.com/api/benchmark?industry=seo_tools"

# Response: {"ok":true,"data":{"industry":"seo_tools","avg":85,"topBrand":"Semrush",...}}

🚀 Optimization APIs

AI-powered tools to actively improve your GEO score. All use GPT-5.4-mini for generation.

GET /api/strategy?id=SCAN_ID FREE

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"}}
GET /api/competitor-tech?domain=DOMAIN FREE

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":{...},...}}
GET /api/page-analysis?url=URL FREE

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":[...]}}
POST /api/rewrite FREE

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":{...}}}
POST /api/authority FREE

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..."}}
POST /api/generate-llms FREE

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> ..."}}
POST /api/generate-schema FREE

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 APIs (no auth)

GET /api/stats

Public aggregate stats: total scans, unique brands, platform count.

# Response: {"scans":21,"brands":12,"platforms":3,"queries":630}
GET /api/recent

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}]}
GET /api/health

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":"..."}

Need More?

During beta, all endpoints are free. Anonymous: 3 scans/day. Registered: 10 scans/day + brand tracking + weekly auto-scans.

Optimization tools: 🚀 Open Optimize Dashboard