---
title: "Search the web and optionally read result pages with Firecrawl"
method: POST
path: "/v1/firecrawl/search"
tags: ["Proxy"]
---

# Search the web and optionally read result pages with Firecrawl

`POST /v1/firecrawl/search`

## Request

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

Munition Firecrawl Search: x402-paid web search for AI agents. Pay 0.03 USDC per query to get up to 20 web results (url, title, description) and optionally the full markdown content of each result in the same call.

## Request body

- FirecrawlSearchInput
  - `query` string, required
  - `limit` integer
  - `lang` string: Language code, e.g. en, fr.
  - `country` string: Two-letter country code, e.g. us, fr.
  - `tbs` string: Time filter, e.g. qdr:d (day), qdr:w (week), qdr:m (month).
  - `scrapeContent` boolean: Also scrape each result to markdown.

## Response `200`

Successful response

- FirecrawlSearchOutput
  - `query` string, required
  - `results` object[], required
    - `url` string, uri, required
    - `title` string, nullable
    - `description` string, nullable
    - `markdown` string, nullable: Present when scrapeContent is true.
  - `meta` object, required
    - `resultCount` integer, required
    - `searchedAt` string, date-time, 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)
