docs / endpoint

POST /v1/page/crawl

Render a single page and return a slim page-SEO snapshot.

Credits: 2 credits per call. Timeout: 120s

Parameters

NameTypeRequiredDefaultDescription
url string required Absolute http(s) page URL to render and analyze. Required, max 2048 chars.

Request

→ requestPOST /v1/page/crawl
POST /v1/page/crawl HTTP/1.1
Authorization: Bearer sof_live_your_key_here
Content-Type: application/json

{
  "url": "https://example.com/"
}

Response

Wrapped in the standard envelope -- id, object, created_at, elapsed_ms, cache, credits -- documented once on The Contract. The body below is a real envelope with this endpoint's data shape; values vary per request, and a marks an array cut short for display.

← response200
{
  "id": "craw_a52bzsjezvnwxi3btsypdeke",
  "request_id": "req_2dhdwz5vzbh6nirm2e5m5n5eu4",
  "object": "crawl",
  "created_at": "2026-08-09T07:21:19Z",
  "elapsed_ms": 180,
  "cache": "miss",
  "credits": {
    "charged": 2,
    "balance": 9857
  },
  "data": {
    "url": "https://example.com/",
    "final_url": "https://example.com/",
    "http_status": 200,
    "title": "Example Domain",
    "meta_description": "An example page used for documentation.",
    "canonical": "https://example.com/",
    "headings": {
      "h1_count": 1,
      "h2_count": 2
    },
    "links": {
      "internal": 2,
      "external": 1
    },
    "images": {
      "total": 2,
      "missing_alt": 1
    },
    "is_html": true,
    "load_ms": 812
  }
}

Response fields

What each field in data (above) means.

FieldDescription
data.url The URL you requested.
data.final_url The URL actually rendered, after following any redirects.
data.http_status HTTP status code of the final response.
data.title Page title element content.
data.meta_description Page meta description content, or null if absent.
data.canonical Canonical URL declared by the page, or null if absent.
data.headings Heading-tag counts.
data.headings.h1_count Number of h1 elements on the page.
data.headings.h2_count Number of h2 elements on the page.
data.links Outbound link counts, split by scope.
data.links.internal Links pointing at the same site.
data.links.external Links pointing off-site.
data.images Image counts.
data.images.total Number of img elements on the page.
data.images.missing_alt Number of those images with no alt text.
data.is_html true if the response was rendered as an HTML document.
data.load_ms Time to render the page, in milliseconds.