Other GEO tools build dashboards humans stare at. Answena is built for the layer below: agents that write content, CI pipelines that publish it, and IDEs where it gets edited. Score a page in 3 seconds, before it goes live.
Get an API key → Full API referenceBy the time you're staring at "this week your visibility dropped 4%", the damage is published. Answena scores a page before publish, returns the same JSON to a human, an IDE plugin, or an autonomous agent. One score, one source of truth, embedded in your build.
Run POST /api/v1/free-scan in GitHub Actions. Fail the build if the page drops below score 60. Block bad publishes the same way you block bad TypeScript.
An agent writes a draft → calls Answena → reads the cluster deltas → rewrites the weakest section. Closed-loop content optimization. The agent never publishes a sub-70 draft.
VSCode / Cursor / WordPress plugin: render Answena's score next to the editor. See your citability change as you type. No more "publish, wait a week, check Otterly."
No signup, no API key, no rate-limit ceremony for the basic scan. Hit /api/v1/free-scan and you get back a complete report.
# No auth needed for the free tier. curl -X POST https://answena.com/api/v1/free-scan \ -H "Content-Type: application/json" \ -d '{"url": "https://yourdomain.com/landing"}'
const r = await fetch('https://answena.com/api/v1/free-scan', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ url: 'https://yourdomain.com/landing' }) }); const { result } = await r.json(); console.log(`Score: ${result.score}/100`); // → Score: 73/100
import requests r = requests.post( "https://answena.com/api/v1/free-scan", json={"url": "https://yourdomain.com/landing"}, ) print(f"Score: {r.json()['result']['score']}/100")
{
"ok": true,
"result": {
"score": 73, // 0-100 composite
"grade": "B",
"clusters": { ... }, // 10 cluster scores
"hardFilters": { ... }, // pass / fail + reasons
"fixes": [ ... ], // ranked actions
"platformScores": {
"chatgpt": 76, "claude": 71,
"gemini": 68, "perplexity": 79,
"aio": 72
}
}
}
Honest baseline: the engine is open and free for anyone scoring their own pages. Quotas exist to keep one operator from melting the box for everyone else.
Public, no auth. Perfect for individual devs and CI experiments.
POST /api/v1/free-scanAPI key + history. The right tier for agent integrations and small SaaS.
Higher limits, dedicated probe panel, SLA. Talk to us.
Full reference at /docs.
/api/v1/free-scan
No auth. Score one URL.
/api/v1/sync/onboard
Get an API key for a domain.
/api/v1/connect
Auth. Live scan + personalised fixes.
/api/v1/quota
Auth. Current usage + limit.
/api/v1/sync/webhook
Auth. HMAC-signed webhook for findings.
/api/health
Provider availability snapshot.
Stable forever: /api/v1/* endpoint paths and field names. X-AISEO-Key header. The 0-100 score scale.
May evolve: additional fields in responses (additive only — your code never breaks). Cluster weights re-train against ground truth. Optional Claude-augmented payloads behind feature flags.
Versioned: any breaking change ships under /api/v2/*. v1 stays online for 12 months minimum after v2 ships.
Two options:
POST /api/v1/sync/onboard with { url, name } — you get back { site_id, api_key } instantly. Save the key, it's only shown once.POST /api/v1/free-scan without any key — works for the public diagnostic.