---
title: "Extract API (Legacy)"
method: GET
path: "/web/crawl"
tags: ["Web Search"]
deprecated: true
---

# Extract API (Legacy)

`GET /web/crawl`

## Request

- Base URL: `https://api.desearch.ai`
- URL: `https://api.desearch.ai/web/crawl`
- Auth: API key in header `Authorization`

> **Deprecated.**

Deprecated compatibility alias for `GET /web/extract`. Existing clients can continue using this route during the migration.

Billing metadata: successful billable responses include the `X-Desearch-Cost-Usd`, `X-Desearch-Usage-Count`, `X-Desearch-Service`, and `X-Desearch-Currency` headers. JSON object responses also include optional `cost_usd`, `usage_count`, `service`, and `currency` fields. For example, `usage_count=10` at `$0.015 / 1,000` resolves to `cost_usd=0.00015`. JSON arrays, text, and streaming responses keep their body shape and expose billing metadata only through headers.

## Query parameters

- `url` string, required: URL to extract content from
- `format` 'html' | 'text': Format of the content to be returned. Options are 'html' or 'text'. Default is 'text'.
- `js` 'true' | 'false': Render the page with a headless browser before extracting content. Use for SPAs or pages whose body is populated by JavaScript. Must be exactly `true` or `false` (case-sensitive); enables a separate billing tier when set to `true`.
- `wait` integer, nullable: Optional extra wait in milliseconds after the page loads. Only applied when ``js=true``.

## Response `200`

Content of the web link

## Other responses

- `301`: Moved Permanently
- `304`: Not Modified
- `401`: Unauthorized
- `422`: Validation Error
- `429`: Too Many Requests
- `500`: Internal Server Error
- `502`: Crawler upstream unavailable
- `504`: Crawler upstream timed out

---

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