Start an extraction (Firecrawl)
Firecrawl's `POST /v1/extract`, served by vision extract (a `job_` job) with the node's model. URL globs and `enableWebSearch` are not supported (`unsupported_option`). Bills `vision.page` per page plus the model's tokens.
POST
/compat/firecrawl/v1/extract
Firecrawl's `POST /v1/extract`, served by vision extract (a `job_` job) with the node's model. URL globs and `enableWebSearch` are not supported (`unsupported_option`). Bills `vision.page` per page plus the model's tokens.
Authentication
Bearer Token (b3os_sk_ API key or b3os_pat_ token)
Request Body required
application/jsonurls
string (uri)[]
REQUIRED
Array of:
string (uri)
prompt
string
schema
object
enableWebSearch
boolean
Not supported by B3OS: setting it returns `400` with code `unsupported_option`.
ignoreSitemap
boolean
includeSubdomains
boolean
showSources
boolean
scrapeOptions
object
formats
string[]
`changeTracking` returns `unsupported_option`.
Array of:
string
onlyMainContent
boolean
includeTags
string[]
Array of:
string
excludeTags
string[]
Array of:
string
maxAge
integer
Accept a cached copy up to this old, in milliseconds. Default 0 (always fetch).
headers
object
waitFor
integer
mobile
boolean
skipTlsVerification
boolean
timeout
integer
Milliseconds; values above 60000 are treated as 60000.
parsePDF
boolean
PDF parsing is not supported; PDFs return `content_type_unsupported`.
jsonOptions
object
schema
object
systemPrompt
string
prompt
string
checkPromptInjection
boolean
Not supported by B3OS: setting it returns `400` with code `unsupported_option`.
actions
(object | object | object | object | object | object | object | object | object)[]
Array of:
One of:
Option 1
type
string
REQUIRED
Enum:
waitmilliseconds
integer
selector
string
Option 2
type
string
REQUIRED
Enum:
screenshotfullPage
boolean
quality
integer
viewport
object
width
integer
REQUIRED
height
integer
REQUIRED
Option 3
type
string
REQUIRED
Enum:
clickselector
string
REQUIRED
all
boolean
Option 4
type
string
REQUIRED
Enum:
writetext
string
REQUIRED
Option 5
type
string
REQUIRED
Enum:
presskey
string
REQUIRED
Option 6
type
string
REQUIRED
Enum:
scrolldirection
string
Enum:
up, downselector
string
Option 7
type
string
REQUIRED
Enum:
scrapeOption 8
type
string
REQUIRED
Enum:
executeJavascriptscript
string
REQUIRED
Option 9
type
string
REQUIRED
Enum:
pdfformat
string
landscape
boolean
scale
number
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
removeBase64Images
boolean
blockAds
boolean
proxy
string
`enhanced` returns `unsupported_option`.
Enum:
basic, enhanced, autostoreInCache
boolean
changeTrackingOptions
object
Not supported by B3OS: setting it returns `400` with code `unsupported_option`.
zeroDataRetention
boolean
Do not cache or store the result.
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).
ignoreInvalidURLs
boolean
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 extraction was started.
application/jsonsuccess
boolean
REQUIRED
Enum:
trueid
string
REQUIRED
invalidURLs
string[] | null
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`).
501
The endpoint exists in B3OS's contract but this node does not serve it yet (`not_implemented`).
503
The node or vision is unavailable (`node_unavailable`, `product_unavailable`).
curl -X POST 'https://beta-api.b3os.org/compat/firecrawl/v1/extract' \ -H 'Authorization: Bearer YOUR_API_TOKEN' \ -H 'Content-Type: application/json' \ -d '{ "urls": [ "https://example.com/pricing" ], "prompt": "The price of each plan per month.", "schema": { "type": "object", "properties": { "plans": { "type": "array" } } }}'
const response = await fetch('https://beta-api.b3os.org/compat/firecrawl/v1/extract', { method: 'POST', headers: { "Authorization": "Bearer YOUR_API_TOKEN", "Content-Type": "application/json" }, body: JSON.stringify({ "urls": [ "https://example.com/pricing" ], "prompt": "The price of each plan per month.", "schema": { "type": "object", "properties": { "plans": { "type": "array" } } } })});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/extract', headers=headers, json={ "urls": [ "https://example.com/pricing" ], "prompt": "The price of each plan per month.", "schema": { "type": "object", "properties": { "plans": { "type": "array" } } }})print(response.json())
200
Response
{ "success": true, "id": "job_01m5t3vh38hw2qyvr3fx3tx6vm"}
API Playground
Try this endpoint
POST
/compat/firecrawl/v1/extract