FixRank Resources · Developer API

FixRank REST API Documentation

Integrate automated crawl intelligence, 8-stage website audits, AI visibility telemetry, and autonomous fix agents directly into your CI/CD pipelines and internal dashboards.

API Version 1.4 · StableBase URL: https://api.fixrank.ai/v1

Authentication

Bearer Token Header

Pass your API key in the standard Authorization: Bearer <key> header on all requests.

Rate Limits

High throughput

Standard tier grants 60 requests/minute. Enterprise workspaces receive up to 300 requests/minute with custom burst headroom.

Official SDKs

Node.js & Python

Install via npm i @fixrank/sdk or pip install fixrank for typed requests.

Snippet Format:
POST/api/audit
Audits

Start Website Audit

Initiate a full 8-stage intelligence audit across technical, content, Google, and AI-search visibility vectors.

Request Headers

Authorization:Bearer fr_live_••••••••
Content-Type:application/json

Parameters

FieldTypeReqDescription
urlstringyesFully-qualified URL to analyze (e.g. 'https://example.com').
depthnumberoptMaximum crawl depth from root page (default: 3, max: 10).
maxPagesnumberoptTotal page crawl limit (default: 100, max: 25000).
enginesarrayoptEngines to execute (crawl, audit, google, ai_visibility, semantic, content, linking, fix).
Expected Response: 202 AcceptedError Codes
Request · CURL
curl -X POST https://api.fixrank.ai/v1/audit \
  -H "Authorization: Bearer fr_live_9a74c2e8b1d3" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://example.com",
    "depth": 3,
    "maxPages": 250,
    "engines": ["crawl", "audit", "google", "ai_visibility", "fix"]
  }'
Sample Response (202)
{
  "status": "success",
  "code": 202,
  "data": {
    "auditId": "aud_9f48a12e-83dc-4731",
    "siteUrl": "https://example.com",
    "status": "queued",
    "estimatedDurationSeconds": 45,
    "activeEngines": [
      "crawl",
      "audit",
      "google",
      "ai_visibility",
      "fix"
    ],
    "statusStreamUrl": "https://api.fixrank.ai/v1/audit/aud_9f48a12e-83dc-4731/status",
    "createdAt": "2026-09-13T17:15:00Z"
  }
}
GET/api/audit/{id}
Audits

Get Audit Findings & Report

Retrieve full audit intelligence, executive summary, health scores, and prioritized findings.

Request Headers

Authorization:Bearer fr_live_••••••••

Parameters

FieldTypeReqDescription
idstringyesThe unique audit ID returned by the creation endpoint.
includeRawCrawlbooleanoptWhether to include raw HTML snapshot trees (default: false).
Expected Response: 200 OKError Codes
Request · CURL
curl -X GET https://api.fixrank.ai/v1/audit/aud_9f48a12e-83dc-4731 \
  -H "Authorization: Bearer fr_live_9a74c2e8b1d3"
Sample Response (200)
{
  "status": "success",
  "code": 200,
  "data": {
    "id": "aud_9f48a12e-83dc-4731",
    "siteUrl": "https://example.com",
    "status": "completed",
    "scores": {
      "overall": 88,
      "technical": 92,
      "aiVisibility": 79,
      "contentEngine": 85,
      "linking": 94
    },
    "findingsSummary": {
      "critical": 2,
      "warning": 6,
      "notice": 14,
      "totalResolved": 19
    },
    "completedAt": "2026-09-13T17:15:42Z"
  }
}
GET/api/audit/{id}/status
Audits

Audit Live Progress Stream

Check current stage completion percentage across the 8 autonomous intelligence engines.

Request Headers

Authorization:Bearer fr_live_••••••••

Parameters

FieldTypeReqDescription
idstringyesThe unique audit ID.
Expected Response: 200 OKError Codes
Request · CURL
curl -X GET https://api.fixrank.ai/v1/audit/aud_9f48a12e-83dc-4731/status \
  -H "Authorization: Bearer fr_live_9a74c2e8b1d3"
Sample Response (200)
{
  "status": "success",
  "code": 200,
  "data": {
    "auditId": "aud_9f48a12e-83dc-4731",
    "state": "running",
    "percentComplete": 68,
    "currentStage": "ai_visibility_agent",
    "stages": {
      "crawl_engine": { "status": "completed", "pagesCrawled": 250 },
      "audit_agent": { "status": "completed", "issuesFound": 8 },
      "google_agent": { "status": "completed", "queriesAudited": 120 },
      "ai_visibility_agent": { "status": "processing", "progress": 45 },
      "semantic_engine": { "status": "queued" },
      "content_engine": { "status": "queued" },
      "linking_engine": { "status": "queued" },
      "fix_agent": { "status": "queued" }
    }
  }
}
POST/api/crawl
Crawl Engine

Trigger Real-Time URL Crawl

Simulate bot fetch matching Googlebot or OAI-SearchBot to parse canonicals, robots rules, and DOM structure.

Request Headers

Authorization:Bearer fr_live_••••••••
Content-Type:application/json

Parameters

FieldTypeReqDescription
urlstringyesTarget page URL to parse.
userAgentstringopt'googlebot' | 'oai-searchbot' | 'claude-web' (default: 'fixrank-engine').
renderJsbooleanoptExecute client-side JavaScript execution (default: true).
Expected Response: 200 OKError Codes
Request · CURL
curl -X POST https://api.fixrank.ai/v1/crawl \
  -H "Authorization: Bearer fr_live_9a74c2e8b1d3" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://example.com/pricing",
    "userAgent": "oai-searchbot",
    "renderJs": true
  }'
Sample Response (200)
{
  "status": "success",
  "code": 200,
  "data": {
    "url": "https://example.com/pricing",
    "statusCode": 200,
    "responseTimeMs": 184,
    "renderedDomSize": 48200,
    "meta": {
      "title": "Pricing & Plans | FixRank AI",
      "canonical": "https://example.com/pricing",
      "canonicalMatch": true,
      "h1": "Transparent pricing for high-performing teams."
    },
    "robots": {
      "allowedByRobotsTxt": true,
      "isIndexable": true,
      "noindex": false
    }
  }
}
POST/api/agents/run
Autonomous Agents

Dispatch Fix Agent

Execute the autonomous Fix Agent to generate validated code patches, schema updates, or robots.txt directives.

Request Headers

Authorization:Bearer fr_live_••••••••
Content-Type:application/json

Parameters

FieldTypeReqDescription
findingIdstringyesID of the specific finding to generate a fix for.
targetFrameworkstringopt'nextjs' | 'react' | 'html' | 'wordpress' | 'astro'.
autoFormatDiffbooleanoptReturn git-compatible unified diff (default: true).
Expected Response: 200 OKError Codes
Request · CURL
curl -X POST https://api.fixrank.ai/v1/agents/run \
  -H "Authorization: Bearer fr_live_9a74c2e8b1d3" \
  -H "Content-Type: application/json" \
  -d '{
    "findingId": "find_schema_org_missing_faq",
    "targetFramework": "nextjs",
    "autoFormatDiff": true
  }'
Sample Response (200)
{
  "status": "success",
  "code": 200,
  "data": {
    "findingId": "find_schema_org_missing_faq",
    "agentName": "Fix Agent v2.6",
    "patchType": "json_ld_schema",
    "riskLevel": "low",
    "diff": "@@ -14,6 +14,15 @@\n+  <script type=\"application/ld+json\">\n+    {\"@context\": \"https://schema.org\", \"@type\": \"FAQPage\", ...}\n+  </script>",
    "explanation": "Injects structured FAQPage JSON-LD schema matching Google search guidelines."
  }
}
GET/api/ai-visibility
AI Visibility

Query AI Citations & Mentions

Extract brand presence, citations, mentions, and source links across ChatGPT Search, Google AI Overviews, Claude, and Perplexity.

Request Headers

Authorization:Bearer fr_live_••••••••

Parameters

FieldTypeReqDescription
siteUrlstringyesMonitored website URL.
platformstringopt'all' | 'chatgpt' | 'google_ai_overviews' | 'perplexity' | 'claude'.
timeframestringopt'7d' | '30d' | '90d' (default: '30d').
Expected Response: 200 OKError Codes
Request · CURL
curl -X GET "https://api.fixrank.ai/v1/ai-visibility?siteUrl=https://example.com&platform=all&timeframe=30d" \
  -H "Authorization: Bearer fr_live_9a74c2e8b1d3"
Sample Response (200)
{
  "status": "success",
  "code": 200,
  "data": {
    "siteUrl": "https://example.com",
    "timeframe": "30d",
    "totalCitations": 1420,
    "visibilityShare": 68.4,
    "breakdown": {
      "googleAiOverviews": { "citations": 840, "sharePercent": 74.2 },
      "chatgptSearch": { "citations": 320, "sharePercent": 61.5 },
      "perplexity": { "citations": 210, "sharePercent": 66.8 },
      "claude": { "citations": 50, "sharePercent": 52.0 }
    },
    "topCitedSources": [
      { "url": "/guides/modern-seo", "citations": 412 },
      { "url": "/compare/fixrank-vs-legacy", "citations": 289 }
    ]
  }
}
GET/api/semantic
Content & Semantic

Entity Map & Semantic Gaps

Inspect recognized entities, topical authority clusters, and semantic keyword relationship gaps.

Request Headers

Authorization:Bearer fr_live_••••••••

Parameters

FieldTypeReqDescription
urlstringyesURL to evaluate for entity coverage.
Expected Response: 200 OKError Codes
Request · CURL
curl -X GET "https://api.fixrank.ai/v1/semantic?url=https://example.com/blog/ai-search" \
  -H "Authorization: Bearer fr_live_9a74c2e8b1d3"
Sample Response (200)
{
  "status": "success",
  "code": 200,
  "data": {
    "url": "https://example.com/blog/ai-search",
    "entityCoverageScore": 84,
    "dominantEntities": [
      { "name": "Generative Artificial Intelligence", "confidence": 0.98, "type": "Technology" },
      { "name": "Retrieval-Augmented Generation", "confidence": 0.94, "type": "Concept" }
    ],
    "semanticGaps": [
      { "missingEntity": "Query Fan-out", "relevance": 0.89, "recommendation": "Add conceptual explanation of multi-stage AI query fanout." },
      { "missingEntity": "Citation Entropy", "relevance": 0.82, "recommendation": "Reference statistical attribution models." }
    ]
  }
}
GET/api/linking
Internal Linking

Internal Link Equity & Graph

Extract orphan page warnings, anchor text distribution, and high-value contextual linking recommendations.

Request Headers

Authorization:Bearer fr_live_••••••••

Parameters

FieldTypeReqDescription
siteUrlstringyesRoot domain to analyze.
showOrphansOnlybooleanoptFilter for pages with 0 internal inbound links (default: false).
Expected Response: 200 OKError Codes
Request · CURL
curl -X GET "https://api.fixrank.ai/v1/linking?siteUrl=https://example.com" \
  -H "Authorization: Bearer fr_live_9a74c2e8b1d3"
Sample Response (200)
{
  "status": "success",
  "code": 200,
  "data": {
    "siteUrl": "https://example.com",
    "totalPagesAnalyzed": 340,
    "averageInboundLinksPerPage": 6.8,
    "orphanPagesCount": 3,
    "suggestedOpportunities": [
      {
        "sourceUrl": "/blog/ai-search-guide",
        "targetUrl": "/tutorials/run-first-audit",
        "suggestedAnchor": "run an automated search audit",
        "contextSnippet": "...before publishing, always run an automated search audit to verify crawlability..."
      }
    ]
  }
}
GET/api/sites
Sites

List Managed Sites

Retrieve workspace sites, health status, verification records, and scheduled audit cadences.

Request Headers

Authorization:Bearer fr_live_••••••••

Parameters

FieldTypeReqDescription
limitnumberoptNumber of sites to return (default: 20, max: 100).
Expected Response: 200 OKError Codes
Request · CURL
curl -X GET https://api.fixrank.ai/v1/sites \
  -H "Authorization: Bearer fr_live_9a74c2e8b1d3"
Sample Response (200)
{
  "status": "success",
  "code": 200,
  "data": [
    {
      "id": "site_38a0f91c",
      "domain": "example.com",
      "isVerified": true,
      "latestHealthScore": 92,
      "aiVisibilityIndex": 84,
      "lastAuditedAt": "2026-09-12T14:30:00Z",
      "auditFrequency": "weekly"
    }
  ]
}

HTTP Status & Error Codes

Every FixRank API response returns standard HTTP status codes. When an error occurs, the JSON envelope includes a human-readable message and an actionable error code.

CodeTitleMeaning & Remediation
200OKRequest succeeded. Response data returned in standard JSON envelope.
201CreatedResource successfully initialized.
202AcceptedAsynchronous job queued (e.g. audit dispatch).
400Bad RequestInvalid payload parameters or malformed JSON structure.
401UnauthorizedMissing, expired, or invalid API key provided in Bearer token header.
403ForbiddenAccount tier does not have permission to execute this engine or exceeds site quota.
404Not FoundAudit ID, site domain, or resource does not exist in workspace.
429Rate LimitedExceeded API request velocity (Standard: 60 req/min, Enterprise: 300 req/min).
500Internal Server ErrorCrawler or engine failure. Automatic retry executed.

Related Developer & Resource Guides

Need custom API access or higher rate limits?

Talk to our developer relations team to configure dedicated IP pools, custom webhooks, and enterprise SLA guarantees.