/api/v1/blog/postsList blog posts for one language, paginated.
operationId: listBlogPosts
curl "https://www.geo-tool.com/api/v1/blog/posts?locale=en&perPage=5"Developers
Two read-only endpoints, no authentication, no key, no signup. The machine-readable specification lives at /openapi.json and describes every parameter and every response field.
/api/v1/blog/postsList blog posts for one language, paginated.
operationId: listBlogPosts
curl "https://www.geo-tool.com/api/v1/blog/posts?locale=en&perPage=5"/api/v1/geo-indexAggregated metrics across all live-verified measurements.
operationId: getVisibilityIndex
curl "https://www.geo-tool.com/api/v1/geo-index"The GEO technical check is available to agents in every form — as a hosted MCP server, a local npm package, a Claude Code plugin, and a browser extension. Three read-only tools: check_ai_readiness (score 0–100), check_ai_crawlers (robots.txt vs. AI crawlers), check_citability (quotability of a draft).
Hosted MCP server (Streamable HTTP, no auth, 30 calls/hour):
https://www.geo-tool.com/api/mcpLocal and unlimited — CLI and MCP server via npm:
npx -y geo-tool-check --mcpMore channels: Official MCP Registry (io.github.shufflethis/geo-tool-check), Claude Code plugin (/plugin marketplace add geo-tool-com/geo-tool-check), and the open-source browser extension. github.com/geo-tool-com/geo-tool-check · geo-tool-extension
None. Both endpoints are public and read-only; there are no keys and no per-account quotas. Responses are cached at the edge: blog posts for 24 hours, the visibility index for one hour. Calling more often returns the same cached response. All responses carry RateLimit headers (RateLimit-Limit, RateLimit-Policy; the MCP endpoint additionally Remaining/Reset and Retry-After) so agents can self-throttle.
Stable endpoints live under the major-version path /api/v1. Breaking changes only ever ship under a new major path (/api/v2); /api/v1 then keeps working for at least 6 months. Deprecations are signalled via Deprecation and Sunset response headers (RFC 9745) on the affected endpoint and announced on this page. The unversioned paths remain available as aliases.
Errors always arrive as JSON with the same three fields: error as a readable message, code as a stable identifier, and hint describing what to change.
{
"error": "Visibility index temporarily unavailable",
"code": "upstream_unavailable",
"hint": "Retry later."
}The website analysis is deliberately undocumented and not intended for programmatic access. It consumes real engine and scraper time per call. To check a page, use the free check or the browser extension — it computes the identical score inside your own tab at no cost.