Skip to main content
POST /v1/hosted/scrape, costs 1 standard credit.

Request

Fields on ScrapeRequest:
FieldTypeDefaultNotes
urlstring,required
formatslist["markdown"]output formats to return
use_jsboolfalserender with a browser instead of plain HTTP
wait_forstring""CSS selector or delay to wait for before capture
timeout_msint30000
stealthboolfalseenable stealth fetch mode
curl -X POST "$SCOUT_HOSTED_BASE_URL/v1/hosted/scrape" \
  -H "Authorization: Bearer $SCOUT_HOSTED_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://example.com","formats":["markdown"],"timeout_ms":30000}'

Response

ScrapeResponse, wrapped in hosted usage metadata:
{
  "success": true,
  "hosted": {
    "tenant_id": "tn_..",
    "key_id": "key_..",
    "credits_charged": 1,
    "credit_type": "standard"
  },
  "scrape": {
    "success": true,
    "url": "https://example.com",
    "markdown": "# Example Domain\n..",
    "raw_markdown": "..",
    "metadata": {
      "url": "https://example.com",
      "crawled_at": "2026-07-06T18:00:00Z",
      "title": "Example Domain",
      "word_count": 28
    },
    "final_url": "https://example.com",
    "fetched_at": "2026-07-06T18:00:00Z",
    "content_hash": "sha256:..",
    "quality_score": 0.94,
    "duration_ms": 812
  }
}
metadata and content_hash are the evidence block, the source URL, fetch timestamp, and a hash you can diff against future runs.