Authentication
How do you authenticate with the API?
Create a key in your account, store it in your secret manager, and send it with every API request. Do not send browser session cookies to v1 routes.
Authorization: Bearer dsa_live_YOUR_KEYAPI v1 · Agency
Submit public URLs from your app, queue the same audit pipeline used by the website, and fetch status or a compact JSON result for client portals and agency workflows.
Authentication
Create a key in your account, store it in your secret manager, and send it with every API request. Do not send browser session cookies to v1 routes.
Authorization: Bearer dsa_live_YOUR_KEYLimits
Agency keys are also burst-limited to 60 requests per minute per key. Quota errors return JSON with error and code.
X-RateLimit-Limit monthly request limitX-RateLimit-Remaining requests left this monthX-RateLimit-Reset next UTC month as Unix secondsEndpoints
POST /api/v1/audits
Body: { "url": "https://example.com" }. The URL must be public; localhost, private IPs, and internal domains are blocked.
curl -X POST https://deepseoanalysis.com/api/v1/audits \
-H "Authorization: Bearer dsa_live_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"url":"https://example.com"}'{
"id": 123,
"slug": "AbC123_xYz90",
"status": "queued",
"links": { "self": "https://deepseoanalysis.com/api/v1/audits/AbC123_xYz90" }
}GET /api/v1/audits/{slug}
Queued and running audits return only status. Done audits include a compact result: URL, scan time, scores, summary, and issue rows.
curl https://deepseoanalysis.com/api/v1/audits/AbC123_xYz90 \
-H "Authorization: Bearer dsa_live_YOUR_KEY"{
"status": "done",
"result": {
"url": "https://example.com/",
"scannedAt": "2026-07-05T12:00:00.000Z",
"scores": { "overall": 82, "categories": {}, "geoVisibility": 71 },
"summary": { "pagesCrawled": 24, "checksRun": 110, "passed": 94, "failed": 16 },
"issues": [
{ "checkId": "onpage-meta-description-missing", "category": "onpage", "severity": "warning", "passed": false, "details": "3 pages have no meta description." }
]
}
}MCP · Pro & Agency
The Model Context Protocol server exposes the same audit engine as tools your AI can call directly. Authenticate with any API key — Pro and Agency both include MCP.
Endpoint
https://deepseoanalysis.com/api/mcpStateless JSON transport. Send your key as Authorization: Bearer dsa_live_.... Clients without native header auth (e.g. Claude Desktop) use the mcp-remote bridge:
{
"mcpServers": {
"deepseoanalysis": {
"command": "npx",
"args": [
"mcp-remote",
"https://deepseoanalysis.com/api/mcp",
"--header",
"Authorization: Bearer dsa_live_YOUR_KEY"
]
}
}
}Tools
seo_run_audit — queue a full-site audit for a URL, returns a slugseo_audit_page — quick single-page check (no crawl, finishes in seconds)seo_get_audit — poll status, then fetch summary, issues, or full (detailed views are paginated)seo_list_audits — recent audits for the accountseo_list_monitored_sites — monitored sites with latest scores + a siteIdseo_rank_history — keyword ranking history (Pro & Agency)seo_ai_visibility_history — weekly AI-visibility score history (Pro & Agency)MCP shares the monthly quota and 60/min burst limit. Starting an audit spends monthly quota once; status polls, completed-report pages, and other read tools are free.
Prompts: full_seo_review, quick_page_check, and ai_visibility_review give clients one-click guided workflows that chain these tools.
FAQ
The raw REST API (api/v1) is included on the Agency plan. The MCP server for AI clients is included on both Pro and Agency. Free accounts can read these docs, but keys only work once the owning account has the matching entitlement.
The full API key is shown once when you create it. DeepSEOAnalysis stores only a short prefix and a scrypt hash of the full key.
Agency API keys share a 10,000 request monthly quota and each key is burst-limited to 60 requests per minute. Responses include X-RateLimit-Limit, X-RateLimit-Remaining, and X-RateLimit-Reset headers.
The API only returns audits owned by the API key user. Audits submitted through the API are associated with that user account.