Map a site (Firecrawl)
Firecrawl's `POST /v1/map`, served by vision map. `links` are URL strings, as in Firecrawl v1. `limit` above 5000 is treated as 5000. Bills one `vision.page`.
POST
/compat/firecrawl/v1/map
Firecrawl's `POST /v1/map`, served by vision map. `links` are URL strings, as in Firecrawl v1. `limit` above 5000 is treated as 5000. Bills one `vision.page`.
Authentication
Bearer Token (b3os_sk_ API key or b3os_pat_ token)
Request Body required
application/jsonurl
string (uri)
REQUIRED
search
string
ignoreSitemap
boolean
sitemapOnly
boolean
includeSubdomains
boolean
limit
integer
Above 5000 it is treated as 5000.
timeout
integer
location
object
country
string
ISO 3166-1 alpha-2 code. B3OS emulates the language and time zone; it has no per-country proxies.
languages
string[]
Array of:
string
threatProtection
object
Not supported by B3OS: setting it returns `400` with code `unsupported_option`.
integration
string
Accepted and ignored (the Firecrawl SDKs send it).
origin
string
Accepted and ignored (the Firecrawl SDKs send it).
Responses
200
The URLs found.
application/jsonsuccess
boolean
REQUIRED
Enum:
truelinks
string[]
REQUIRED
Array of:
string
400
The body failed validation, uses an unsupported option, or a URL is invalid (`invalid_request`, `unsupported_option`, `invalid_url`).
401
Missing or invalid B3OS key (`unauthorized`). Firecrawl `fc-` keys are not accepted.
402
No credits left or the key's spend cap is reached (`credits_exhausted`, `spend_cap_exceeded`).
403
The URL is refused by the egress guard or robots.txt, or the key lacks a scope (`egress_denied`, `robots_disallowed`, `forbidden`).
429
A rate or concurrency limit applies (`rate_limited`, `concurrency_limited`).
500
Something failed inside B3OS (`internal`).
502
The site could not be reached or loaded (`upstream_unreachable`, `navigation_failed`).
503
The node or vision is unavailable (`node_unavailable`, `product_unavailable`).
curl -X POST 'https://beta-api.b3os.org/compat/firecrawl/v1/map' \ -H 'Authorization: Bearer YOUR_API_TOKEN' \ -H 'Content-Type: application/json' \ -d '{ "url": "https://docs.example.com", "search": "authentication", "limit": 100}'
const response = await fetch('https://beta-api.b3os.org/compat/firecrawl/v1/map', { method: 'POST', headers: { "Authorization": "Bearer YOUR_API_TOKEN", "Content-Type": "application/json" }, body: JSON.stringify({ "url": "https://docs.example.com", "search": "authentication", "limit": 100 })});const data = await response.json();console.log(data);
import requestsheaders = { 'Authorization': 'Bearer YOUR_API_TOKEN'}response = requests.post('https://beta-api.b3os.org/compat/firecrawl/v1/map', headers=headers, json={ "url": "https://docs.example.com", "search": "authentication", "limit": 100})print(response.json())
200
Response
{ "success": true, "links": [ "https://docs.example.com/auth", "https://docs.example.com/auth/keys" ]}
API Playground
Try this endpoint
POST
/compat/firecrawl/v1/map