AEO Inspector Api API

AI answer-engine visibility for any website: a $0.05 deep AEO scan (up to 10 pages, 100-point score, fixes, ready-to-paste llms.txt/robots.txt/JSON-LD), a $9 report that asks ChatGPT, Microsoft Copilot, Gemini, Claude, Grok, Google AI Overviews, Google AI Mode, Perplexity, Meta AI, DeepSeek, Qwen, M

Operations 6

GET /api/v1/domain-report One-domain report: site security grade + AI visibility (AEO), every fix with a verify command #
GET /report 16-engine AI visibility report for a website #
GET /api/v1/scan Deep AEO scan of a website as JSON, with ready-to-paste fixes #
GET /api/v1/report 16-engine AI visibility report as JSON (same as /report) #
POST /api/v1/track Weekly AI visibility tracking: 4 weekly runs of the 16-engine report, prepaid #
POST /api/v1/log-audit AI crawler log audit: which AI crawlers really visit a site, impostors, and pages they never fetch #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/aeoinspector-com:aeo-inspector-api-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

aeoinspector-com-api-openapi.json Raw ↑
{"openapi":"3.1.0","info":{"title":"AEO Inspector","version":"2.2.0","description":"AI answer-engine visibility for any website: a $0.05 deep AEO scan (up to 10 pages, 100-point score, fixes, ready-to-paste llms.txt/robots.txt/JSON-LD), a $9 report that asks ChatGPT, Microsoft Copilot, Gemini, Claude, Grok, Google AI Overviews, Google AI Mode, Perplexity, Meta AI, DeepSeek, Qwen, Mistral, GLM, MiniMax, Exa Answer and You.com five category questions, 3 times each (mention rate, citations, competitor share, cited sources), and $19 prepaid weekly tracking (4 runs). MCP at /mcp. Free HTML checks at https://aeoinspector.com.","contact":{"name":"AEO Inspector","url":"https://aeoinspector.com/llms.txt"},"x-guidance":"AI answer-engine visibility for any website: a $0.05 deep AEO scan (up to 10 pages, 100-point score, fixes, ready-to-paste llms.txt/robots.txt/JSON-LD), a $9 report that asks ChatGPT, Microsoft Copilot, Gemini, Claude, Grok, Google AI Overviews, Google AI Mode, Perplexity, Meta AI, DeepSeek, Qwen, Mistral, GLM, MiniMax, Exa Answer and You.com five category questions, 3 times each (mention rate, citations, competitor share, cited sources), and $19 prepaid weekly tracking (4 runs). MCP at /mcp. Free HTML checks at https://aeoinspector.com. Call a paid route without payment to get an x402 v2 challenge (402 + PAYMENT-REQUIRED header), pay in USDC, retry with PAYMENT-SIGNATURE. Invalid input -> 400, never charged. More: https://aeoinspector.com/llms.txt"},"servers":[{"url":"https://aeoinspector.com"}],"x-discovery":{"wellKnown":"https://aeoinspector.com/.well-known/x402","llms":"https://aeoinspector.com/llms.txt"},"paths":{"/api/v1/domain-report":{"get":{"operationId":"api_v1_domain_report","summary":"One-domain report: site security grade + AI visibility (AEO), every fix with a verify command","description":"Runs the OrionCMD site audit (TLS from CT logs, DNS/DNSSEC/CAA, RDAP expiry, SPF/DMARC/DKIM/MTA-STS, security headers, security.txt) and the AEO Inspector deep scan (AI crawler access, bot-vs-browser diff, agent-ready checks) for one domain. Returns both grades and one merged, priority-sorted fixes[] (paste-ready DNS records, registrar auto-renew steps, robots.txt/llms.txt/JSON-LD) with a shell command to verify each. Stored 30 days with HTML and fixes.txt links. Not charged if any part can't run.","x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"2"},"protocols":[{"x402":{"version":2,"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x2dAF658B01e257206375798a15832E9f547D65dD"}}]},"responses":{"200":{"description":"Success (payment settled)","content":{"application/json":{}}},"400":{"description":"Invalid input. Never charged."},"402":{"description":"Payment required. x402 v2 challenge in the PAYMENT-REQUIRED header."},"502":{"description":"Upstream data source failed. Payment NOT settled."}},"parameters":[{"name":"url","in":"query","required":true,"schema":{"type":"string","description":"Website or page URL, e.g. example.com","minLength":4,"maxLength":2048},"example":"example.com"}]}},"/report":{"get":{"operationId":"report","summary":"16-engine AI visibility report for a website","description":"Five category questions, each asked 3 times (240 answers), to ChatGPT, Microsoft Copilot, Gemini, Claude, Grok, Google AI Overviews, Google AI Mode, Perplexity, Meta AI, DeepSeek, Qwen, Mistral, GLM, MiniMax, Exa Answer and You.com; returns per-engine answers, mention rate (answers naming the brand), citation rate (answers whose sources include the site's own domain), a visibility score, competitor share of mentions and the sources the engines cited. Settles only after the engines finish; if fewer than 12 of 16 engines answer the response is 502 and payment is NOT settled. Takes 2-4 minutes.","x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"9"},"protocols":[{"x402":{"version":2,"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x2dAF658B01e257206375798a15832E9f547D65dD"}}]},"responses":{"200":{"description":"Success (payment settled)","content":{"application/json":{}}},"400":{"description":"Invalid input. Never charged."},"402":{"description":"Payment required. x402 v2 challenge in the PAYMENT-REQUIRED header."},"502":{"description":"Upstream data source failed. Payment NOT settled."}},"parameters":[{"name":"url","in":"query","required":true,"schema":{"type":"string","description":"Website or page URL, e.g. example.com","minLength":4,"maxLength":2048},"example":"example.com"},{"name":"topic","in":"query","required":false,"schema":{"type":"string","description":"Optional: what the site offers, used in the questions (default: the page's meta description)","maxLength":220}},{"name":"brand","in":"query","required":false,"schema":{"type":"string","description":"Optional: brand name to look for (default: detected from the page)","maxLength":60}}]}},"/api/v1/scan":{"get":{"operationId":"api_v1_scan","summary":"Deep AEO scan of a website as JSON, with ready-to-paste fixes","description":"Crawls the homepage and up to 9 sitemap pages; checks robots.txt for 21 AI crawlers, firewall blocks for AI user agents, a browser vs Googlebot vs AI-crawler fetch diff (JS shells, stale prerender snapshots, cloaking-like gaps), Cloudflare AI-bot block diagnosis with a WAF Skip rule, Base44/Replit/Lovable detection with platform fixes, text without JavaScript, metadata, JSON-LD with required-property validation, sameAs/Wikidata entity signals, freshness, question headings with direct answers, TTFB, HTML size and language tags; asks Perplexity one category question. Returns the 100-point score, sections, checks, prioritized fixes, per-page data and a kit (llms.txt, robots.txt, Organization/WebSite/FAQPage JSON-LD). 10-25 seconds. Unreachable sites return 502, not settled.","x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.05"},"protocols":[{"x402":{"version":2,"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x2dAF658B01e257206375798a15832E9f547D65dD"}}]},"responses":{"200":{"description":"Success (payment settled)","content":{"application/json":{}}},"400":{"description":"Invalid input. Never charged."},"402":{"description":"Payment required. x402 v2 challenge in the PAYMENT-REQUIRED header."},"502":{"description":"Upstream data source failed. Payment NOT settled."}},"parameters":[{"name":"url","in":"query","required":true,"schema":{"type":"string","description":"Website or page URL, e.g. example.com","minLength":4,"maxLength":2048},"example":"example.com"}]}},"/api/v1/report":{"get":{"operationId":"api_v1_report","summary":"16-engine AI visibility report as JSON (same as /report)","description":"Five category questions, each asked 3 times (240 answers), to ChatGPT, Microsoft Copilot, Gemini, Claude, Grok, Google AI Overviews, Google AI Mode, Perplexity, Meta AI, DeepSeek, Qwen, Mistral, GLM, MiniMax, Exa Answer and You.com; returns per-engine answers, mention rate (answers naming the brand), citation rate (answers whose sources include the site's own domain), a visibility score, competitor share of mentions and the sources the engines cited. Settles only after the engines finish; if fewer than 12 of 16 engines answer the response is 502 and payment is NOT settled. Takes 2-4 minutes.","x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"9"},"protocols":[{"x402":{"version":2,"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x2dAF658B01e257206375798a15832E9f547D65dD"}}]},"responses":{"200":{"description":"Success (payment settled)","content":{"application/json":{}}},"400":{"description":"Invalid input. Never charged."},"402":{"description":"Payment required. x402 v2 challenge in the PAYMENT-REQUIRED header."},"502":{"description":"Upstream data source failed. Payment NOT settled."}},"parameters":[{"name":"url","in":"query","required":true,"schema":{"type":"string","description":"Website or page URL, e.g. example.com","minLength":4,"maxLength":2048},"example":"example.com"},{"name":"topic","in":"query","required":false,"schema":{"type":"string","description":"Optional: what the site offers, used in the questions (default: the page's meta description)","maxLength":220}},{"name":"brand","in":"query","required":false,"schema":{"type":"string","description":"Optional: brand name to look for (default: detected from the page)","maxLength":60}}]}},"/api/v1/track":{"post":{"operationId":"api_v1_track","summary":"Weekly AI visibility tracking: 4 weekly runs of the 16-engine report, prepaid","description":"Pass url and email as query parameters or a JSON body. Runs the first 16-engine report immediately (2-4 minutes), then every Monday until 4 successful runs are done. Returns a private tracking_url with a trend chart and competitor shifts. Payment settles only if the first run succeeds (>= 12 of 16 engines). A confirmation email with the tracking link is sent, then a short result after each weekly run (service emails only, with a stop link).","x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"19"},"protocols":[{"x402":{"version":2,"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x2dAF658B01e257206375798a15832E9f547D65dD"}}]},"responses":{"200":{"description":"Success (payment settled)","content":{"application/json":{}}},"400":{"description":"Invalid input. Never charged."},"402":{"description":"Payment required. x402 v2 challenge in the PAYMENT-REQUIRED header."},"502":{"description":"Upstream data source failed. Payment NOT settled."}},"parameters":[{"name":"url","in":"query","required":true,"schema":{"type":"string","description":"Website or page URL, e.g. example.com","minLength":4,"maxLength":2048},"example":"example.com"},{"name":"email","in":"query","required":true,"schema":{"type":"string","description":"Where the confirmation and weekly result emails go","maxLength":254},"example":"you@example.com"}]}},"/api/v1/log-audit":{"post":{"operationId":"api_v1_log_audit","summary":"AI crawler log audit: which AI crawlers really visit a site, impostors, and pages they never fetch","description":"New / beta: tested on synthetic logs only, not yet on real customer logs. Send an access log as the request body (text, or gzip with Content-Encoding: gzip): nginx/Apache combined (optionally with an X-Forwarded-For field), Apache common, Cloudflare Logpush http_requests JSON, or the reduced JSON lines made by https://aeoinspector.com/log-audit. Each request claiming a known crawler is checked against the IP list its operator publishes (in_vendor_ranges / outside_vendor_ranges / no_vendor_list). Returns per-crawler counts, status bands, failing paths, impersonation count, and with ?pages=/a,/b which key pages AI crawlers never fetched. Limits: 5242880 bytes (after decompression), 50000 lines, 8192 chars per line (longer lines are skipped and counted). Oversized or unreadable input is 413/400 and never charged. Processed in memory only; nothing is stored or logged.","x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.50"},"protocols":[{"x402":{"version":2,"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x2dAF658B01e257206375798a15832E9f547D65dD"}}]},"responses":{"200":{"description":"Success (payment settled)","content":{"application/json":{}}},"400":{"description":"Invalid input. Never charged."},"402":{"description":"Payment required. x402 v2 challenge in the PAYMENT-REQUIRED header."},"502":{"description":"Upstream data source failed. Payment NOT settled."}},"parameters":[{"name":"pages","in":"query","required":false,"schema":{"type":"string","description":"Optional comma-separated paths to check coverage for, e.g. /,/pricing","maxLength":8000},"example":"/,/pricing"}],"requestBody":{"required":true,"content":{"text/plain":{"schema":{"type":"string","description":"Access log, one request per line"},"example":"66.249.66.1 - - [29/Oct/2026:10:00:00 -0500] \"GET / HTTP/1.1\" 200 512 \"-\" \"Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)\""}}}}}}}