
API Documentation
Audit API reference.
Run AI search optimization audits programmatically. Available on the Agency plan.
Authentication
All API requests require a Bearer token. Generate an API key from your Tools page or via the key management endpoint.
Authorization: Bearer gts_your_api_key_here
Base URL
https://greaterthanservices.com/api/v1
Run an Audit
/auditRun a full 3-pillar audit (CRO + GEO + ASO) on any public URL. The audit is auto-unlocked and deducted from your monthly quota. Takes 30-90 seconds depending on site complexity.
Request body
{
"url": "https://example.com",
"email": "optional@email.com"
}| Parameter | Type | Required | Description |
|---|---|---|---|
| url | string | Yes | The public URL to audit |
| string | No | Email to associate with the audit report |
Example request
curl -X POST https://greaterthanservices.com/api/v1/audit \
-H "Authorization: Bearer gts_your_api_key" \
-H "Content-Type: application/json" \
-d '{"url": "https://example.com"}'Response
{
"id": "uuid-of-audit",
"url": "https://example.com",
"overallScore": 67,
"cro": {
"score": 72,
"findings": [...],
"strengths": [...],
"summary": "..."
},
"geo": {
"score": 58,
"findings": [...],
"strengths": [...],
"summary": "..."
},
"aso": {
"score": 71,
"findings": [...],
"strengths": [...],
"summary": "..."
},
"executiveSummary": "...",
"topPriorities": ["...", "...", "..."],
"generatedAt": "2026-06-22T...",
"pdfUrl": "https://greaterthanservices.com/api/audit/{id}/pdf"
}Finding object
{
"signalId": "schema-markup",
"title": "Missing Organization Schema",
"plain_english": "AI search engines can't identify your business.",
"description": "No JSON-LD Organization schema detected.",
"recommendation": "Add Organization schema with name, url, logo.",
"severity": "critical", // critical | high | medium | low
"effort": "low", // low | medium | high
"impact": "+15% AI citation rate"
}Error codes
| Status | Meaning |
|---|---|
| 401 | Invalid or missing API key |
| 400 | Invalid URL or missing required field |
| 403 | Audit quota exhausted or no Agency subscription |
| 429 | Rate limit exceeded (20 audits/hour) |
| 500 | Internal error — retry after a minute |
Rate limits
- 20 audits per hour burst limit
- 150 audits per month (Agency plan quota)
- Each API call deducts 1 audit from your monthly quota
- Reports are auto-unlocked — no separate payment required
API key management
Manage your API keys programmatically or from the Tools page.
/api/keysCreate a new API key. Requires Clerk session auth.
/api/keysList all your API keys (prefix only, not the full key).
/api/keys?id=key_idRevoke an API key.
Download PDF report
/api/audit/{id}/pdfDownload the audit report as a PDF. If you have white-label branding configured, the PDF will use your branding automatically. Requires Clerk session auth (not API key — open the URL in a browser while signed in).