API documentation

orank API

orank scores how agent-ready websites are. Use this API to scan domains, look up cached scores, and retrieve SVG badges. Supports streaming responses via text/event-stream for real-time scan progress. Rate limits: 10 scans per minute per IP.

v1.0.0|Base URL: https://orank.ai|Raw OpenAPI spec

Endpoints

POST/api/scan

Scan a domain for agent-readiness

Runs a full agent-readiness scan on the given URL. Returns score, grade, and detailed layer breakdown. Supports streaming via text/event-stream for real-time progress updates. Rate limited to 10 requests per minute per IP — returns 429 if exceeded.

REQUEST BODYrequired

PropertyTypeDescription
url*stringThe domain or URL to scane.g. stripe.com
mcpUrlstringOptional MCP server URL to test

RESPONSES

200Scan completed successfully -> ScanResult
400Invalid input
429Rate limit exceeded — max 10 scans per minute per IP. Retry after the rate limit window resets.
500Scan failed
GET/api/score/{domain}

Get cached score for a domain

Returns the most recent cached scan result for the given domain. Returns 404 if no scan has been performed yet. Results are cached for 1 hour. Rate limited — returns 429 if exceeded.

PARAMETERS

NameInTypeDescription
domain*pathstringThe domain to look up (e.g. stripe.com)

RESPONSES

200Cached scan result -> ScanResult
404No cached score found for this domain
429Rate limit exceeded
500Database unavailable
GET/api/badge/{domain}

Get SVG badge for a domain

Returns an SVG badge showing the domain's orank score and grade. Embed in READMEs or websites. Cached for 1 hour.

PARAMETERS

NameInTypeDescription
domain*pathstringThe domain to get a badge for

RESPONSES

200SVG badge image
404No score found for this domain

Schemas

ScanResult

object

PropertyTypeDescription
domainstringThe scanned domain
urlstringThe normalized URL
finalUrlstringThe final URL after redirects
scoreintegerOverall score (0-100)
maxScoreintegerMaximum possible score
gradestringA | B | C | D | FLetter grade
ctaMessagestringCall-to-action message based on score
ctaTierstringtop | high | mid | lowCTA tier
layersarrayBreakdown by scoring layer-> LayerResult
scannedAtstring(date-time)When the scan was performed
durationMsintegerScan duration in milliseconds

LayerResult

object

PropertyTypeDescription
idstringLayer identifier
namestringLayer display name
descriptionstringLayer description
checksarray-> CheckResult
scoreintegerLayer score
maxScoreintegerLayer maximum possible score

CheckResult

object

PropertyTypeDescription
idstringCheck identifier
namestringCheck display name
descriptionstringWhat this check tests
statusstringpass | fail | warning | errorCheck result status
scoreintegerPoints earned
maxScoreintegerMaximum points for this check
detailsstringHuman-readable explanation of the result