# Web scraping API cost calculator: run it free, or from your agent

Monthly cost, cost per successfully scraped page and median speed of each web scraping API, from looot's own 30-day run data.

## Cost per provider

7 providers ranked for web.scrape.markdown on 28,552 looot calls in the last 30 days, read 2026-11-11 18:50 UTC. Totals are for 1,000 pages; the web page takes any count. Ranked by cost per successful call, then success rate, then speed. A provider needs 20 calls in the last 30 days to be ranked, the same floor as the benchmark pages.

Fastest median (p50): Keenable, 489 ms over 26 calls.

| Rank | Provider | Price per scrape | Success rate | Cost per successful scrape | Total for 1,000 pages | Median time | Calls (30 days) |
|---|---|---|---|---|---|---|---|
| 1 | [Jina AI](https://looot.ai/providers/jina) | $0.0002 per call | 93.6% | $0.00021 | $0.20 | 4.9 s | 25,057 |
| 2 | [ScrapeGraphAI](https://looot.ai/providers/scrapegraphai) | $0.002 per call | 90.2% | $0.00222 | $2.00 | 6.0 s | 113 |
| 3 | [Context.dev](https://looot.ai/providers/context-dev) | $0.0025 per call | 95.1% | $0.00263 | $2.50 | 6.0 s | 2,794 |
| 4 | [Olostep](https://looot.ai/providers/olostep) | $0.0018 per call | 58.6% | $0.00307 | $1.80 | 7.6 s | 87 |
| 5 | [Keenable](https://looot.ai/providers/keenable) | $0.004 per call | 76.9% | $0.0052 | $4.00 | 489 ms | 26 |
| 6 | [Steel API](https://looot.ai/providers/steel) | $0.005 per call | 95.3% | $0.00524 | $5.00 | 5.9 s | 86 |
| 7 | [You.com](https://looot.ai/providers/youcom) | $0.001 per result | 88.6% | Depends on results | Depends on results | 924 ms | 352 |

## Not enough calls to rank

- [Serper](https://looot.ai/providers/serper): 15 calls, $0.002 per call
- [Limadata](https://looot.ai/providers/limadata): under 10 calls, $0.004 per result
- [Scrapfly](https://looot.ai/providers/scrapfly): under 10 calls, $0 per call

## How this works

Benchmark for this job: https://looot.ai/benchmarks/web-scrape-markdown

- Cost per successful scrape = price per scrape / success rate. You pay for every call, so failed calls raise what each answer costs.
- Total = price per scrape x number of pages. Monthly: per year = per month x 12.
- Data: every web.scrape.markdown call made through looot in the last 30 days, read 2026-11-11 18:50 UTC. The same numbers as the benchmark page for this job.
- Success rate: the share of calls the provider answered without an error. An empty answer counts as an answer. It does not check that the data is right.
- Speed: the median (p50) time, so half of a provider's calls answered faster. Fastest = the ranked provider with the lowest median. looot does not publish a 95th percentile yet, so the slowest calls are not shown.
- Ranked by cost per successful call, then success rate, then speed. A provider needs 20 calls in the last 30 days to be ranked, the same floor as the benchmark pages.
- Price: what looot charges per call, in US dollars, from a prepaid balance. A row with a note bills fewer calls than that, so its total is the most you would pay.
- Source: GET https://api.looot.ai/v1/public-catalog/<endpoint>?stats=1 for each endpoint, and the public catalog for prices.

## Prompt

Use looot to price web.scrape.markdown for [number] pages. 1. Set up https://looot.ai/skill.md. 2. Search the catalog for job web.scrape.markdown and inspect each provider's price per call. 3. Divide each price by its 30-day success rate. 4. Return one table: provider, price, success rate, cost per success and the total for my count, cheapest per success first.

## What it needs

How many pages you have, and whether that is every month

## What comes back

- price per scrape for each provider
- success rate and cost per successful scrape
- total for your pages, per month and per year when you pick monthly
- median time and run count from looot's last 30 days

## Endpoints and providers

None. The tool on the web page runs in the browser and calls no endpoint.

## What it costs

Nothing. The tool on the web page runs in the visitor's browser: no account, no API call and no limit per hour. The prompt above runs the same job from your own looot account with current data, billed per call.

## Budget a crawl

Type the pages your crawler or agent reads each month and see the bill per provider, per month and per year.

## Price in the blocked pages

A site that blocks scrapers fails the call. The table ranks by cost per successful scrape, so those failed calls are in the price of every page you get back.

## Pick on speed

An agent that reads a page waits on the provider. The figure above the table names the provider with the lowest median (p50) time.

## Hand it to your agent

Run web.scrape.markdown from your agent with fallback on. looot picks a provider that can answer and tries the next on a miss.

## How is the cost per successful scrape worked out?

It is the price per scrape divided by the success rate. A provider that answers 8 calls in 10 costs 1.25 times its price for each answered scrape, because you pay for the failed calls too.

## Where do the numbers come from?

From every web.scrape.markdown call made through looot in the last 30 days, the same data as the benchmark page for this job. Prices are what looot charges per call from a prepaid balance. The page prints the date it read them.

## Why does a provider say not enough calls to rank?

A provider needs 20 calls in the last 30 days to be ranked, the same floor as the benchmark pages. Below that, a few calls move the success rate too much to compare.

## What does the success rate count?

The share of calls the provider answered without an error. An empty answer counts as an answer. It does not check that the data is right, and calls that failed on looot's side are left out.

## Is the calculator free?

Yes, free with no account. The math runs in your browser and makes no API call. The numbers come from looot's public catalog, read at most once an hour.

## How do I check my pages from my agent?

Connect the looot MCP server and run endpointId "job:web.scrape.markdown" with fallback on. looot picks a provider that can answer now and tries the next on a miss. You see the price before each call and pay from a prepaid balance.

## What is the cheapest web scraping API?

The first row of the table is the cheapest per successful scrape on looot's own runs in the last 30 days. On 2026-11-11 that was Jina AI, over 25,007 calls. The lowest price per scrape is not always the cheapest per page: a provider that fails more often costs more for each page it returns.

## Does a site that blocks scrapers count as a failure?

Yes. When the provider cannot fetch the page because the site blocks it (a 403, a captcha or a bot wall) and returns an error, the call counts as a failed run in the success rate, the same as a timeout. Only failures on looot's own side are left out. If a provider returns the block page itself as text, that call counts as an answer, because looot does not check what the page says. The rate mixes every site scraped through looot, so a list of sites that block bots will fail more often than the table shows.

## Which web scraping API is fastest?

The one with the lowest median (p50) time in the table: half of its calls on looot in the last 30 days answered faster than that. On 2026-11-11 that was Keenable, at 489 ms over only 26 calls, while Jina AI had a median of 4.9 s over 25,007 calls. The page quotes p50, not p95. looot does not publish a 95th percentile yet, so a fast median says nothing about a provider's slowest pages.

## Is this the same as the website to markdown tool?

No. Website to markdown scrapes one page for you now, through looot. This calculator prices a number of pages with each provider before you run them, and reads the same web.scrape.markdown job.

## Related tools

- /free-tools/website-to-markdown
- /free-tools/html-to-markdown
- /free-tools/serp-api-cost-calculator

## Last reviewed

2026-11-11.
