batch_scrape
Scrape up to 10 URLs in parallel and return structured page data—headings, markdown, status codes—for competitor analysis, SERP comparisons, and content gap research.
Instructions
Scrape multiple URLs in a single call (up to 10 URLs).
Firecrawl processes all URLs in parallel — much faster than scraping one
by one. Use for competitor analysis, content gap analysis, SERP page
comparisons, link prospecting, or any task requiring data from multiple pages.
Returns one entry in `pages` per requested URL, in the order you sent them. Each has
`url` (as requested), `final_url` (only if it redirected), `status_code`, and `error`
when the page failed (4xx/5xx, DNS failure, timeout, blocked); a failed URL is never
dropped. Successful pages also carry title, description, h1–h3 headings and markdown
`content`. Content is capped at 15,000 characters per page, and lower when many long pages
share one reply (`content_cap_chars` is the cap used): `truncated` says whether a page was
cut, `original_chars` is its full length and `word_count` counts the whole page; content_scrape
returns one page in full.
URLs beyond the first 10 are not scraped and come back in `urls_not_scraped`; a URL sent
twice is scraped once and listed in `duplicate_urls_ignored`. Every URL must start with
http:// or https:// (one that doesn't gets an `error` page; the others still run).
Args:
urls: List of URLs to scrape (max 10)
js_rendering: Wait for JavaScript rendering on each page (default: False)
[Provider: Firecrawl]
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"urls": "<urls>"
},
"name": "batch_scrape"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| urls | Yes | ||
| js_rendering | No |