Outcrawl Scrape API

The Scrape API from Outcrawl — 1 operation(s) for scrape.

Operations 1

POST /v1/scrape Fetch one URL and return clean content in the requested formats #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/outcrawl:outcrawl-scrape-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

outcrawl-scrape-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Outcrawl Scrape API
  version: 1.0.0
  summary: 'Web infrastructure for AI agents: scrape, crawl, search, agents and browsers on one credit balance.'
  description: 'Outcrawl exposes one API surface at `https://api.outcrawl.ai/v1`, generated here from the 63-row capability registry that is the only truth about what it serves. Every request carries one bearer credential: an API key, or an OAuth access token from `outcrawl login` or an MCP client that signed in. There is exactly one base URL for every capability below.


    This document is GENERATED by `scripts/generate-openapi.mjs` from `outcrawl-browser@76f967f`. It is never hand-edited; `node scripts/generate-openapi.mjs --check` fails the build on drift.'
  contact:
    name: Outcrawl
    url: https://outcrawl.ai/contact
servers:
- url: https://api.outcrawl.ai
  description: The only API surface.
security:
- ApiKeyAuth: []
tags:
- name: Scrape
paths:
  /v1/scrape:
    post:
      tags:
      - Scrape
      summary: Fetch one URL and return clean content in the requested formats
      description: Fetch one URL and return clean content in the requested formats. Use for a single known page; not for following links, and not for tasks that need decisions.
      operationId: scrape
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
              description: See the matching capability page under docs/app/ and the SDK reference for the exact fields this route accepts.
      responses:
        '200':
          description: Fetch one URL and return clean content in the requested formats. Use for a single known page; not for following links, and not for tasks that need decisions.
          content:
            application/json:
              schema:
                type: object
                description: See the matching capability page under docs/app/ and the SDK reference for the exact shape.
        '400':
          description: The request failed. `code` is one of the 22 values in the Error schema below.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: The request failed. `code` is one of the 22 values in the Error schema below.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '402':
          description: The request failed. `code` is one of the 22 values in the Error schema below.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: The request failed. `code` is one of the 22 values in the Error schema below.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: The request failed. `code` is one of the 22 values in the Error schema below.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '408':
          description: The request failed. `code` is one of the 22 values in the Error schema below.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '422':
          description: The request failed. `code` is one of the 22 values in the Error schema below.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: The request failed. `code` is one of the 22 values in the Error schema below.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: The request failed. `code` is one of the 22 values in the Error schema below.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '503':
          description: The request failed. `code` is one of the 22 values in the Error schema below.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
      - ApiKeyAuth: []
components:
  schemas:
    Error:
      type: object
      required:
      - code
      - message
      properties:
        code:
          type: string
          description: Machine-readable, one of the 45 values in the closed union. Branch on this, never on `message`.
          enum:
          - unauthorized
          - profile_in_use
          - cap_exceeded
          - exit_unavailable
          - no_capacity
          - tenant_scope
          - bad_request
          - not_found
          - profile_not_found
          - method_not_allowed
          - capability_unavailable
          - decode_unavailable
          - quota_exceeded
          - concurrency_limit
          - plan_required
          - page_unreachable
          - document_unrepresentable
          - page_lost
          - extraction_failed
          - answer_lost
          - deadline_exceeded
          - lab_arm_forbidden
          - search_refused
          - integration_check_failed
          - integration_changed
          - secret_intent_invalid
          - secret_intent_spent
          - cvc_not_storable
          - run_secrets_limit
          - run_secret_undeliverable
          - replay_access_denied
          - replay_control_denied
          - replay_control_cross_site
          - spend_cap_required
          - card_number_in_task
          - merchant_not_allowed
          - spend_cap_exceeded
          - per_purchase_exceeded
          - no_open_purchase
          - approval_denied
          - approval_timed_out
          - secret_in_answer
          - provider_test_failed
          - provider_cards_open
          - internal
        message:
          type: string
          description: Human-readable, fixed per code. Never parsed.
        details:
          type: object
          additionalProperties: true
          description: Optional structured context, shape depends on `code`.
  securitySchemes:
    ApiKeyAuth:
      type: http
      scheme: bearer
      description: An Outcrawl API key, `ock_<keyId>.<secret>`, minted in the console at https://outcrawl.ai/console/keys, or an OAuth access token, `oat_...`, issued by https://outcrawl.ai/api/auth with scope `api` (the CLI gets one from `outcrawl login`, an MCP client when it signs in).