API playground
Run a live audit against the visible4ai analyse API straight from your browser. See the full reference.
POST
/api/v1/analyseRun a visibility audit on a URLAuthenticated with a Bearer API key. Pro or Enterprise plan required. Rate limit: 100 requests / 15 min, 1000 / 24 h per key.
Authorization
BearerPasted only into your browser tab. Never persisted. Mint or manage keys →
Request body
application/json| Field | Type | Required | Description |
|---|---|---|---|
| url | string | Required | Absolute URL to audit. Must use http or https and resolve to a public host. |
| fresh | boolean | Optional | When true, bypasses the 24 h domain cache and forces a fresh crawl. Default false. |
Example
json
{
"url": "https://example.com",
"fresh": false
}Try it out
Server response
No request sent yet. Fill in the form above and click Execute.
Response fields
200 OKTop-level keys on a successful audit response. Nested objects (visibility, files, eeat, etc.) follow the same shape used by the web UI — drill into the live response above to see them.
| Field | Type | Description |
|---|---|---|
| url | string | Echo of the URL you sent. Useful when an agent fans out many requests in parallel. |
| domain | string | Hostname extracted from url, with the www. prefix stripped. The unit the cache and rate limit dedupe by. |
| geoScore | number | Overall GEO readiness score, 0–100. Combines AI discovery files, E-E-A-T signals, robots permissions, and citation visibility. |
| title | string | The page's HTML <title> tag, trimmed. |
| metaDescription | string | The page's <meta name="description"> content, trimmed. |
| summary | string | One-paragraph synthesis of the audit findings, written in plain language. |
| visibility | object | Whether each LLM cites your domain right now. Booleans keyed by provider: perplexity, openai, gemini, claude. |
| citations | object | Citation snippets returned by each LLM, keyed by provider. Each entry has the source text and the URL the LLM linked to. |
| files | object | Each AI-discovery file's status (e.g. llmsTxt.present, aiTxt.present, ecpJson.present). 10 entries total. |
| eeat | object | E-E-A-T signal breakdown: experience, expertise, authoritativeness, trustworthiness. |
| lightAudit | object | Page-level audit subset (score, headings, schema markup, content depth, …). Lighter than the full file/citation audit. |
| recommendations | array | Prioritised quick wins. Each item has title, priority (high / medium / low), and a one-paragraph explanation. |
| _cached | boolean | true if served from the 24-hour domain cache. Send "fresh": true in the request body to bypass. |
| _cacheExpiresAt | number | Unix milliseconds when the cached entry expires. Only present when _cached is true. |
Responses
| Status | Meaning |
|---|---|
| 200 | Successful audit. JSON payload with geoScore, files, citations, recommendations, _cached, _cacheExpiresAt. |
| 400 | Missing, malformed, or non-public URL in the request body. |
| 401 | Missing, invalid, or revoked API key. |
| 403 | Account does not have a Pro or Enterprise plan. |
| 413 | Request body exceeded the 16 KB limit. |
| 429 | Per-key rate limit hit. Honour the Retry-After header. |
| 502 | Transient crawl or analysis failure. Retry; contact support if it persists. |