---
title: "Extract readable markdown from a web page with Firecrawl"
method: POST
path: "/v1/firecrawl/scrape"
tags: ["Proxy"]
---

# Extract readable markdown from a web page with Firecrawl

`POST /v1/firecrawl/scrape`

## Request

- Base URL: `https://api.munition.io`
- URL: `https://api.munition.io/v1/firecrawl/scrape`
- Auth: none required

Munition Firecrawl Scrape: x402-paid web page scraping for AI agents. Pay 0.015 USDC per URL to get the page rendered with JavaScript and converted to clean markdown (optionally raw HTML, links, summary). Use when a plain fetch returns empty, JS-only or 403 content.

## Request body

- FirecrawlScrapeInput
  - `url` string, uri, required: Page to scrape.
  - `formats` string[]
  - `onlyMainContent` boolean: Strip navigation, footers and boilerplate.
  - `waitFor` integer: Milliseconds to wait for dynamic content.
  - `timeout` integer

## Response `200`

Successful response

- FirecrawlScrapeOutput
  - `url` string, uri, required: Final URL after redirects.
  - `title` string, nullable, required
  - `markdown` string, nullable, required: Page content as markdown.
  - `html` string, nullable
  - `links` string[]
  - `summary` string, nullable
  - `statusCode` integer, nullable, required
  - `meta` object, required
    - `fetchedAt` string, date-time, required
    - `characters` integer, required

## Other responses

- `400`: Invalid input; rejected before any payment is verified or settled.
- `402`: x402 payment required or settlement failed
- `409`: Idempotency conflict; do not pay again
- `422`: Upstream provider rejected the request after settlement (client-side error); payment is kept, paidCallId returned for reconciliation.
- `502`: Upstream provider failed after settlement; payment is kept, paidCallId returned for reconciliation.

---

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