Munition Firecrawl Scrape: x402-paid web page scraping for AI agents
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.
15000 (raw units)
price
1
calls / 30d
1
unique payers
2026-09-09
updated
Provider
api.munition.io · discovered, not yet claimed by its owner
Payment (x402 accepts[])
[
{
"scheme": "exact",
"network": "eip155:8453",
"payTo": "0x54d6C2C08e10F1a1d3dA88dF513bbE9BCf1A4aFa",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"amount": "15000",
"maxTimeoutSeconds": 300
},
{
"scheme": "exact",
"network": "eip155:137",
"payTo": "0x54d6C2C08e10F1a1d3dA88dF513bbE9BCf1A4aFa",
"asset": "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359",
"amount": "15000",
"maxTimeoutSeconds": 300
},
{
"scheme": "exact",
"network": "eip155:42161",
"payTo": "0x54d6C2C08e10F1a1d3dA88dF513bbE9BCf1A4aFa",
"asset": "0xaf88d065e77c8cC2239327C5EDb3A432268e5831",
"amount": "15000",
"maxTimeoutSeconds": 300
},
{
"scheme": "exact",
"network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
"payTo": "CawPXxATKM9iBPc2o6FRzu9LbvzZWcepD9akwZkbDyDo",
"asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"amount": "15000",
"maxTimeoutSeconds": 300
}
]Output schema
{
"bazaar": {
"info": {
"iconUrl": "https://munition.io/logo.png",
"input": {
"body": {
"formats": [
"markdown"
],
"onlyMainContent": true,
"url": "https://www.x402.org/"
},
"bodyType": "json",
"method": "POST",
"type": "http"
},
"output": {
"example": {
"markdown": "# x402\n\nAn open protocol for internet-native payments…",
"meta": {
"characters": 1240,
"fetchedAt": "2026-09-09T00:00:00.000Z"
},
"statusCode": 200,
"title": "x402",
"url": "https://www.x402.org/"
},
"type": "json"
},
"serviceName": "Munition",
"tags": [
"web",
"scraping",
"extraction"
]
},
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"additionalProperties": false,
"properties": {
"body": {
"additionalProperties": false,
"properties": {
"formats": {
"default": [
"markdown"
],
"items": {
"enum": [
"markdown",
"html",
"links",
"summary"
],
"type": "string"
},
"type": "array"
},
"onlyMainContent": {
"default": true,
"description": "Strip navigation, footers and boilerplate.",
"type": "boolean"
},
"timeout": {
"maximum": 30000,
"minimum": 1000,
"type": "integer"
},
"url": {
"description": "Page to scrape.",
"format": "uri",
"type": "string"
},
"waitFor": {
"description": "Milliseconds to wait for dynamic content.",
"maximum": 10000,
"minimum": 0,
"type": "integer"
}
},
"required": [
"url"
],
"type": "object"
},
"bodyType": {
"enum": [
"json",
"form-data",
"text"
],
"type": "string"
},
"method": {
"enum": [
"POST"
],
"type": "string"
},
"type": {
"const": "http",
"type": "string"
}
},
"required": [
"type",
"method",
"bodyType",
"body"
],
"type": "object"
},
"output": {
"properties": {
"example": {
"properties": {
"html": {
"type": [
"string",
"null"
]
},
"links": {
"items": {
"type": "string"
},
"type": "array"
},
"markdown": {
"description": "Page content as markdown.",
"type": [
"string",
"null"
]
},
"meta": {
"properties": {
"characters": {
"type": "integer"
},
"fetchedAt": {
"format": "date-time",
"type": "string"
}
},
"required": [
"fetchedAt",
"characters"
],
"type": "object"
},
"statusCode": {
"type": [
"integer",
"null"
]
},
"summary": {
"type": [
"string",
"null"
]
},
"title": {
"type": [
"string",
"null"
]
},
"url": {
"description": "Final URL after redirects.",
"format": "uri",
"type": "string"
}
},
"required": [
"url",
"title",
"markdown",
"statusCode",
"meta"
],
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
}
},
"required": [
"input"
],
"type": "object"
}
}
}Use it
curl
curl "https://api.munition.io/v1/firecrawl/scrape" # -> 402 Payment Required, accepts[] lists how to pay # retry with a PAYMENT-SIGNATURE (or PAYMENT header) once paid
JavaScript
const res = await fetch("https://api.munition.io/v1/firecrawl/scrape");
if (res.status === 402) {
const { accepts } = await res.json();
// pay one of accepts[] via an x402 client, then retry with the payment header
}Python
import httpx
res = httpx.get("https://api.munition.io/v1/firecrawl/scrape")
if res.status_code == 402:
accepts = res.json()["accepts"]
# pay one of accepts[] via an x402 client, then retry with the payment headerMachine-readable
Everything on this page is also available as clean JSON at /resources/8732.json, and this resource appears in /discovery/resources and /discovery/search.