What cost per finished task means for scraping APIs
Cost per finished task is all the API and model spend on a track, failed tasks included, divided by the tasks the agent finished. Model cost is a list-price estimate for Claude Haiku 5.5.
cost per finished task = (API spend + model spend, on every task) ÷ tasks finished
A price list tells you what one call costs. An agent pays for every call it makes, pays the model to read each response, and pays for the tasks it gets wrong too. This figure puts all of that over the answers that came out right, so it's the number to compare when you choose a web data API for an agent.
Scrape 40 tasks · Test heading and structure preservation on documentation pages, plus package versions and JS fields.
| Provider | Cost per finished task | Tasks done | 95% interval |
|---|---|---|---|
| TinyFish | 0.71¢ | 31 of 40 (78%) | 61%–92% |
| Spider | 0.88¢ | 37 of 40 (93%) | 81%–100% |
| You.com | 1.00¢ | 29 of 40 (73%) | 56%–89% |
| Scrapfly | 1.17¢ | 36 of 40 (90%) | 79%–100% |
| Linkup | 1.23¢ | 34 of 40 (85%) | 71%–96% |
| String | 1.33¢ | 35 of 40 (88%) | 76%–97% |
| Context.dev | 1.36¢ | 38 of 40 (95%) | 85%–100% |
| Firecrawl | 1.67¢ | 32 of 40 (80%) | 66%–92% |
| Browserbase | 1.93¢ | 30 of 40 (75%) | 60%–89% |
| Jina Reader | 4.26¢ | 6 of 40 (15%) | 5%–26% |
TinyFish cost the least per finished scrape task, 0.71¢, and finished 31 of 40 (78%). Context.dev finished the most tasks, 38 of 40 (95%), at 1.36¢ per finished task. The highest cost per finished task, Jina Reader's 4.26¢, is 6 times the lowest.
Each scrape task could use up to 2 tool calls, 60 seconds and $0.10. A task that went over failed, and its spend still counts.
Re-measured from the stored v2 responses; no provider was called again. The agent could read every byte of each response, 32 KB at a time. Page coverage compares each response with a copy of the page fetched once on 2026-10-20; pages that changed since the run are left out. Every provider ran on its default settings. Jina Reader ran under a 5,000-token rejecting budget. Most core tasks ask for a docs heading.
Search 30 tasks · Find facts, registry versions and documentation headings on the live web.
| Provider | Cost per finished task | Tasks done | 95% interval |
|---|---|---|---|
| TinyFish | 0.97¢ | 26 of 30 (87%) | 70%–100% |
| String | 1.32¢ | 23 of 30 (77%) | 56%–96% |
| Context.dev | 1.39¢ | 25 of 30 (83%) | 63%–100% |
| Linkup | 2.19¢ | 28 of 30 (93%) | 85%–100% |
| You.com | 2.64¢ | 21 of 30 (70%) | 50%–87% |
| Browserbase | 2.79¢ | 21 of 30 (70%) | 50%–87% |
| Firecrawl | 2.91¢ | 26 of 30 (87%) | 71%–97% |
TinyFish cost the least per finished search task, 0.97¢, and finished 26 of 30 (87%). Linkup finished the most tasks, 28 of 30 (93%), at 2.19¢ per finished task. The highest cost per finished task, Firecrawl's 2.91¢, is 3 times the lowest.
Each search task could use up to 3 tool calls, 60 seconds and $0.10. A task that went over failed, and its spend still counts.
Re-measured from the stored v2 responses; no provider was called again. The agent replay serves the searches the original agent made, in order, and can read every result. Retrieval checks everything the provider returned in the task; install commands and figures reported in millions can pass with the agent and not in retrieval, because the model writes them from what it read.
Map 15 tasks · Discover canonical URLs within a verified documentation scope.
| Provider | Cost per finished task | Tasks done | 95% interval |
|---|---|---|---|
| Context.dev | 0.98¢ | 12 of 15 (80%) | 60%–100% |
| String | 0.98¢ | 14 of 15 (93%) | 80%–100% |
| Firecrawl | 1.32¢ | 13 of 15 (87%) | 67%–100% |
Context.dev and String cost the least per finished map task, 0.98¢ each. String also finished the most tasks, 14 of 15 (93%). The highest cost per finished task, Firecrawl's 1.32¢, is 1.3 times the lowest.
Each map task could use up to 2 tool calls, 120 seconds and $0.25. A task that went over failed, and its spend still counts.
Re-measured from the stored v2 responses; no provider was called again. URLs outside the requested section, query-string variants and non-HTML files don't count; the section's own URL always counts, since it was the tool's input.
Crawl 12 tasks · Return every scoped documentation URL and its HTML title.
| Provider | Cost per finished task | Tasks done | 95% interval |
|---|---|---|---|
| Scrapfly | 3.49¢ | 12 of 12 (100%) | 100%–100% |
| Context.dev | 5.86¢ | 11 of 12 (92%) | 75%–100% |
| Firecrawl | 8.29¢ | 12 of 12 (100%) | 100%–100% |
Scrapfly cost the least per finished crawl task, 3.49¢, and finished 12 of 12 (100%). That ties it with Firecrawl for the most tasks done. The highest cost per finished task, Firecrawl's 8.29¢, is 2.4 times the lowest.
Each crawl task could use up to 1 tool call, 600 seconds and $2.00. A task that went over failed, and its spend still counts.
Re-measured from the stored v2 responses; no provider was called again. A crawl task is done when the agent returns the right pages. Exact page titles are reported separately and don't decide the score.
Short answers
What does cost per finished task mean for a scraping API?
Cost per finished task is all the API and model spend on a track, failed tasks included, divided by the tasks the agent finished. Model cost is a list-price estimate for Claude Haiku 5.5. A task counts as finished only when a script confirms every field of the agent's answer, so the figure is what one correct answer cost.
How is cost per finished task different from price per request?
A price per request or per credit is what one call costs. An agent can make several calls per task (up to 2 on scrape, 3 on search, 2 on map and 1 on crawl here), pays the model to read every response, and fails some tasks. Cost per finished task puts all of that over the tasks that came out right, so an API with cheap calls that often fail can cost more per finished task than one with pricier calls that work. Billing only for successful requests is a different thing: a request can succeed and the task still fail because the answer is wrong, and the model's spend is paid either way.
Which web data API is cheapest per finished task?
Cost per finished task counts all API and model spend, failures included, divided by tasks done. The cheapest on each track: scrape: TinyFish at 0.71¢; search: TinyFish at 0.97¢; map: Context.dev at 0.98¢; crawl: Scrapfly at 3.49¢.
How far can these cost figures be trusted?
They come from one benchmark run, from one server, with Claude Haiku 5.5 as the only agent model, at test volume. The task scores have 95% intervals, but the costs don't, so a small cost difference isn't a ranking. Check each provider's current pricing for your own volume.
How tasks are graded is on the methodology page, each provider's cost on every track is on the providers page, and the cheapest Firecrawl alternatives per track are on the Firecrawl alternatives page.