---
title: "Scrape"
method: POST
path: "/v1/scrape"
tags: ["Suprsonic"]
---

# Scrape

`POST /v1/scrape`

## Request

- Base URL: `https://suprsonic.ai`
- URL: `https://suprsonic.ai/v1/scrape`
- Auth: HTTP bearer

Extract content from any URL as Markdown or HTML. Returns the page's content in the chosen format (Markdown by default) with its title, description and links. Use when you have a URL and need what the page says. Start with fast; use standard for pages that need JavaScript and thorough only for sites that block scrapers. To pull specific fields into JSON use documents; to see the page as an image use screenshot. Cost: fast 1 credit, standard 2 credits, thorough 5 credits, charged only when a call succeeds.

## Request body

- ScrapeRequest
  - `url` string, required
  - `mode` string
  - `output` string
  - `wait_for` string, nullable
  - `timeout` integer

## Response `200`

The call's envelope: success, data (the capability's result), metadata, and credits_used (0 when the call did not succeed).

- UnifiedResponse: Standard envelope for all unified API responses.
  - `success` boolean, required
  - `data` union
    - object
    - unknown[]
      - unknown
  - `error` UnifiedError: RFC 7807 problem detail for machine-actionable errors.
    - `type` string, required
    - `title` string, required
    - `status` integer, required
    - `detail` string, nullable
    - `is_retriable` boolean
    - `retry_after_seconds` integer, nullable
    - `alternative_action` string, nullable
    - `error_category` string
    - `caller_error` string, nullable
  - `metadata` UnifiedMetadata: Metadata included in every unified API response.
    - `provider_used` string, nullable
    - `providers_tried` string[]
    - `mode_used` string, nullable
    - `response_time_ms` integer
    - `request_id` string
    - `capability` string, nullable
    - `params` object, nullable
  - `credits_used` integer

## Other responses

- `401`: No API key, or one that was not found or is revoked.
- `402`: Not enough credits for this call. The error's alternative_action says where to add them.
- `403`: The account is restricted by a billing issue.
- `422`: Validation Error
- `429`: The key's rate limit is reached. The error's retry_after_seconds says when to try again.

---

[API](https://skmtc.dev/o-mega/apis/suprsonic-api.md) - [All operations](https://skmtc.dev/o-mega/apis/suprsonic-api/llms.txt) - [OpenAPI document](https://skmtc.dev/o-mega/apis/suprsonic-api/revisions/0eb535eb5679?raw)
