API CatalogSEO Site Audit

SEO Site Audit API

Run every website health check in a single call and get back one score, one grade, and a flat list of warnings. Use it for SEO dashboards, agency reporting, site builders, CMS plugins, and launch QA, where a per-check integration is more work than the result is worth.

Endpoint

POST /v1/seo/site-audit

Request body

FieldTypeRequiredDescription
urlstringYesWebsite or page URL to audit.
sitemap_urlstringNoSitemap URL. Defaults to /sitemap.xml on the audited domain.
originstringNoOrigin header value used for the CORS check. Defaults to https://example.com.
include_meta_tagsbooleanNoGenerate SEO meta tags from page_content. Defaults to false.
page_contentstringNoPage content used when include_meta_tags is true.
target_keywordstringNoTarget keyword for the generated metadata.

Example request

curl --request POST \
  --url https://seo-website-audit-api.p.rapidapi.com/v1/seo/site-audit \
  --header "Content-Type: application/json" \
  --header "X-RapidAPI-Key: $RAPIDAPI_KEY" \
  --header "X-RapidAPI-Host: seo-website-audit-api.p.rapidapi.com" \
  --data '{"url":"https://example.com","sitemap_url":"https://example.com/sitemap.xml","origin":"https://app.example.com"}'

Example response

{
  "success": true,
  "data": {
    "url": "https://example.com",
    "domain": "example.com",
    "score": 86,
    "grade": "B",
    "summary": {
      "passed_checks": 6,
      "warning_count": 2,
      "critical_count": 0
    },
    "checks": {
      "url_safety": {
        "url": "https://example.com",
        "final_url": "https://example.com",
        "redirect_count": 0,
        "redirect_chain": ["https://example.com"],
        "is_safe": true,
        "threat_types": [],
        "is_homograph": false,
        "status_code": 200
      },
      "security_headers": {
        "url": "https://example.com",
        "status_code": 200,
        "score": 80,
        "grade": "B",
        "present_headers": {},
        "missing_headers": [],
        "recommendations": []
      },
      "robots_txt": {},
      "sitemap": {},
      "cors": {},
      "ssl": {},
      "dns": {},
      "meta_tags": null
    },
    "warnings": []
  },
  "error": null,
  "meta": {
    "request_id": "req_example"
  }
}

Response fields

FieldTypeDescription
urlstringThe normalized URL that was audited.
domainstringDomain extracted from url.
scoreintegerOverall score, 0-100. The mean of the component scores.
gradestringA at 90+, B at 80+, C at 70+, D at 60+, F below that.
summary.passed_checksintegerComponent checks scoring 80 or above.
summary.warning_countintegerLength of the warnings array.
summary.critical_countintegerFailures treated as critical, such as a homograph URL.
checksobjectThe full payload of each individual check, keyed by check name.
checks.meta_tagsobject | nullnull unless include_meta_tags was true.
warningsstring[]Flattened, prefixed warnings from every check.

Each entry under checks is the same shape that the standalone endpoint returns, so a dashboard can render one audit and the per-check pages interchangeably: URL Safety, Security Headers, Robots.txt, Sitemap, CORS, SSL, DNS, and Meta Tags.

Notes

  • The audit runs the network checks against live third-party infrastructure, so it is slower than any single endpoint and its results vary with timeouts, firewalls, DNS propagation, and rate limits.
  • Setting include_meta_tags to true adds an AI generation step and further latency.
  • Scores are diagnostic signals, not guarantees of search ranking or production readiness.