SearchAudit.io
Developers

API Reference

Audit any URL, retrieve scores and issues, and track citations programmatically. The SearchAudit API is available on the Agency plan.

Introduction

The API is organized around REST. All requests use HTTPS and return JSON. The base URL is:

bash
https://api.searchaudit.io/v1

Authentication

Authenticate with a bearer token. Create API keys in Settings → API. Keep them secret — never commit them to source.

bash
curl https://api.searchaudit.io/v1/audits \
  -H "Authorization: Bearer sk_live_••••••••"

Run an audit

POST/v1/audits

Submit a URL to audit. Returns an audit object with a score and itemized issues once the scan completes (typically under 60 seconds).

bash
curl -X POST https://api.searchaudit.io/v1/audits \
  -H "Authorization: Bearer sk_live_••••••••" \
  -d url="acme.lovable.app"
json
{
  "id": "aud_7Hx2",
  "url": "acme.lovable.app",
  "status": "complete",
  "score": 31,
  "builder": "Lovable",
  "issues": [
    { "severity": "critical", "category": "Crawlability",
      "title": "No server-rendered content detected" }
  ]
}

Retrieve an audit

GET/v1/audits/{id}

Fetch a previously-run audit, including the full category breakdown and every issue.

bash
curl https://api.searchaudit.io/v1/audits/aud_7Hx2 \
  -H "Authorization: Bearer sk_live_••••••••"

Citation tracking

GET/v1/citations

Return citation results for your tracked prompts across ChatGPT, Perplexity, Gemini, Claude, and Google AI Overviews.

json
{
  "prompt": "best AC repair near Bangkok",
  "engine": "ChatGPT",
  "cited": true,
  "checked_at": "2026-06-07T09:14:00Z"
}

Errors & rate limits

The API uses standard HTTP status codes. 429 indicates you’ve exceeded your rate limit of 600 requests/minute on Agency.

json
{
  "error": { "type": "rate_limit_exceeded",
             "message": "Too many requests. Retry after 30s." }
}