
Start a batch scrape of many URLs; returns the job id.
Scrape multiple URLs and optionally extract information using an LLM
Job web.page.batch.start
telipot run firecrawl.web.page.batch.start \
--input-json '{"urls":["https://example.com"]}' \
--quotePrice
$0.0038 / pagefirecrawl.web.page.batch.start
Whose account it uses
What it sends
{
"urls": ["https://example.com"]
}Your Firecrawl login is added for you. Your AI never sees it.
What it costs
$0.0038
per page · billed per result
| rate | 1 credit per page, billed per result |
| source | docs · docs.firecrawl.dev/billing · checked 2026-10-05 |
| confidence | documented |
| note | 1 credit per page, billed as each page finishes, not when the job is submitted; the status route reports creditsUsed. A PDF costs 1 credit per PDF page. The JSON and other formats that add credits are not offered by this task. |
Preview the price first. --quote runs nothing.
For developers · run it
Shell · runs the task on the named account
telipot run firecrawl.web.page.batch.start \
--input-json '{"urls":["https://example.com"]}'urls array · required | The URLs to scrape |
ignoreInvalidURLs boolean · default true | Skip invalid URLs and list them in invalidURLs instead of failing the request |
maxConcurrency integer | Maximum number of concurrent scrapes; defaults to the team's concurrency limit |
onlyMainContent boolean · default true | Only return the main content of each page, excluding headers, navs and footers |
waitFor integer · default 0 | Delay in milliseconds before fetching each page |
maxAge integer · default 172800000 | Accept a cached copy younger than this many milliseconds (default 2 days) |
timeout integer · 1000 to 300000 · default 60000 | Timeout in milliseconds |
mobile boolean · default false | Emulate scraping from a mobile device |
proxy string · one of "basic", "enhanced", "auto" · default "auto" | auto retries with enhanced proxies when basic fails; enhanced is billed like basic |
success boolean | |
id string | The batch job id to pass to the status task |
url string | The status URL of the job |
invalidURLs array | null |
Full output schema · JSONNested fields and constraints
Output JSON Schema
{
"type": "object",
"required": [
"success",
"id",
"url"
],
"properties": {
"success": {
"type": "boolean"
},
"id": {
"type": "string",
"description": "The batch job id to pass to the status task"
},
"url": {
"type": "string",
"description": "The status URL of the job"
},
"invalidURLs": {
"type": [
"array",
"null"
],
"items": {
"type": "string"
}
}
}
}A real answer
No example captured yet: one is recorded when telipot catalog verify passes.

