For AI agents and developers
Everything on this site is also a free, no-auth, CORS-open API. Full machine-readable spec: /openapi.json. Discovery card: /.well-known/agent-card.json. The same four tools are also reachable over MCP (streamable HTTP) for agents that speak MCP instead of plain REST.
OpenAI tool definition
Paste into a tools array for function calling:
{
"type": "function",
"function": {
"name": "check_ai_visibility",
"description": "Check whether AI search crawlers (ChatGPT, Perplexity) can access and cite a given website, based on its live robots.txt, homepage and llms.txt.",
"parameters": {
"type": "object",
"properties": { "url": { "type": "string", "description": "The website to check, e.g. example.com" } },
"required": ["url"]
}
}
}
Call it with: GET https://ai-visibility.lastminutedealshq.com/check?url={url}
Claude tool definition
Paste into a tools array:
{
"name": "check_ai_visibility",
"description": "Check whether AI search crawlers (ChatGPT, Perplexity) can access and cite a given website, based on its live robots.txt, homepage and llms.txt.",
"input_schema": {
"type": "object",
"properties": { "url": { "type": "string", "description": "The website to check, e.g. example.com" } },
"required": ["url"]
}
}
The other endpoints
- GET /api/llms-txt/generate?url= - generate an llms.txt from a site's real pages
- GET /api/llms-txt/validate?url= - validate an existing llms.txt against the spec
- GET /api/robots-lint?url= (or POST the file as the body) - lint a robots.txt for AI-crawler mistakes
Data, CC BY 4.0
The raw crawler-access census behind this whole site: /data/census.json. Free to reuse; a link back to /data is the only ask. Citable with a DOI - see the cite-this box on that page.
Planned: a paid bulk tier
A machine-native bulk/webhook monitoring tier for agents checking many sites is planned but not yet built. GET /api/monitor returns a 402 preview today; a real hit there is the signal we use to decide whether to build it.