---
title: "Fetch a Page"
method: POST
path: "/v1/fetch"
---

# Fetch a Page

`POST /v1/fetch`

Fetch a page and return its content, headers, and metadata.

## Request body

- object
  - `url` string, uri, required — The URL to fetch
  - `allowRedirects` boolean — Whether to follow HTTP redirects
  - `allowInsecureSsl` boolean — Whether to bypass TLS certificate verification
  - `proxies` boolean — Whether to enable proxy support for the request
  - `format` union — Output format for the response content. `raw` (default) returns the response body unchanged; `json` returns structured data (requires `schema`); `markdown` returns the page as markdown.
    - 'raw'
    - 'json'
    - 'markdown'
  - `schema` object — JSON Schema describing the desired structure of the response. Only used when `format` is `json`.

## Response `200`

The request has succeeded.

- object
  - `id` string, required — Unique identifier for the fetch request
  - `statusCode` integer, required — HTTP status code of the fetched response
  - `headers` object, required — Response headers as key-value pairs
  - `content` union, required — The response body content. A string for `raw` and `markdown` formats; a structured object for `json` format (the schema-extracted result).
    - string
    - object
  - `contentType` string, required — The MIME type of the response
  - `encoding` string, required — The character encoding of the response

## Other responses

- `400` — Invalid request body, or the requested `format` is not supported for the fetched response's content type.
- `402` — Free plan quota exceeded for the requested format.
- `403` — Project is not enabled for the requested format. Only `raw` is available without enablement.
- `429` — Concurrent fetch request limit exceeded.
- `502` — The fetched response was too large or TLS certificate verification failed.
- `503` — The fetch service is temporarily unavailable.
- `504` — The fetch request timed out.

## Changes

> 72 revisions in range; 11 could not be searched.

- **2026-07-03** `a01add309d79` — 1 info
  - added the non-success response with the status `503`
- **2026-05-20** `b3e499e3aaad` — 1 breaking, 4 info
  - response property `content` list-of-types was widened by adding types `object` to media type `application/json` of response `200`
  - added the new optional request property `format`
  - added the new optional request property `schema`
  - added the non-success response with the status `402`
  - …1 more
- **2026-03-11** `b20f9fea14d7` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/browserbase/apis/browserbase-api/changes/v1/fetch/post.md)

---

[API](https://skmtc.dev/browserbase/apis/browserbase-api.md) · [All operations](https://skmtc.dev/browserbase/apis/browserbase-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/browserbase/browserbase-api/revisions/550634919db9/schema)
