---
title: "Extract schema-conforming JSON from a URL"
method: POST
path: "/extract"
tags: ["Web"]
---

# Extract schema-conforming JSON from a URL

`POST /extract`

## Request

- Base URL: `https://api.crawlora.net/api/v1`
- URL: `https://api.crawlora.net/api/v1/extract`
- Auth: API key in header `x-api-key`

Reads a public URL as clean Markdown, then returns data that strictly conforms to the supplied bounded JSON Schema. The response includes `truncated`, which is true when the page was too long and only its first part was used.

## Headers

- `x-api-key` string, required

## Request body

- ExtractOption
  - `instructions` string
  - `render` 'auto' | 'http' | 'browser'
  - `schema` object, required
  - `url` string, required

## Response `200`

OK

- ExtractResponseDoc
  - `code` integer
  - `data` ExtractResult
    - `data` unknown
    - `final_url` string
    - `model` string
    - `truncated` boolean: Truncated is true when the page was longer than the extraction input limit, so only its first part was considered.
    - `url` string
    - `usage` ExtractUsage
      - `input_tokens` integer
      - `output_tokens` integer
      - `total_tokens` integer
  - `msg` string

## Other responses

- `400`: Invalid URL or schema
- `500`: Extraction is not configured
- `502`: Fetch or model provider failed

---

[API](https://skmtc.dev/crawlora/apis/crawlora-api.md) · [All operations](https://skmtc.dev/crawlora/apis/crawlora-api/llms.txt) · [OpenAPI document](https://skmtc.dev/crawlora/apis/crawlora-api/revisions/0497899e2016?raw)
