---
title: "Web scraping API: seven compared on cost per page"
description: "Seven web scraping APIs compared on what a page costs, proxies and JavaScript rendering, Python clients and limits, read from each vendor's own pages."
url: https://frontal.so/gtm-apis/web-scraping-apis
updated: 2026-11-12
---

By data · Web scraping APIs

# Web scraping API: *any page, as data*, and what it costs

Eight providers fetch a page for you and hand back its contents: some unblock and render it, some run pre-built scrapers, some clean it up for a model.

Short answer

Firecrawl to turn any website into clean Markdown for a model, from $16, and ScrapingBee or [Bright Data](https://frontal.so/gtm-apis/source-apis/bright-data-api-review) to fetch the pages that fight back. [Apify](https://frontal.so/gtm-apis/source-apis/apify-api-review) when a ready-made scraper for the site already sits in its marketplace.

See the 8 providers [All 52 GTM APIs](https://frontal.so/gtm-apis)

unit-cost.txt entry plans

scrapingbee · 1 credit **$0.00025**

exa · 1 page, Contents **$0.001**

parallel · 1 page, Extract **$0.001**

bright data · 1 request **$0.0015**

firecrawl · 1 credit **$0.0032**

From $0.00025 to $0.0032: the unit decides more than the vendor unit prices, read 24 Oct 2026 or later

**8** providers compared here

**7** usable at zero cost

**6** bill per call, no floor

**8** ship an MCP server

The use case

## What a web scraping API does for you

A web scraping API takes a URL, or a target such as a product or a profile, and returns what is on the page. The work it saves is the work that breaks a home-made scraper: rotating proxies, rendering JavaScript, solving the challenge pages, retrying, and turning HTML into something a pipeline can use.

The directory carries seven web scraping APIs, and they sell three different things under one name. Bright Data and [ScrapingBee](https://frontal.so/gtm-apis/source-apis/scrapingbee-api-review) unblock and render a page you name; Apify and Bright Data's Web Scraper API run pre-built scrapers that return structured records; [Firecrawl](https://frontal.so/gtm-apis/source-apis/firecrawl-api-review), Tavily, Exa and [Parallel](https://frontal.so/gtm-apis/source-apis/parallel-api-review) fetch a page and clean it into text a model can read.

Which kind you need depends on whether you want the page, the record or the reading. Every price below is read from the vendor's own pricing page, and each provider's review carries the full rate card and its limits.

API or scraping

## The difference between web scraping and an API

Most confusion about API and web scraping comes down to one thing. The difference between web scraping and API access is who agreed to the exchange. An API is a door the site built for you, with a documented format, a key and a rate limit. Scraping reads the page a person would see, and the site never promised it would stay the same shape.

So the question "API or web scraping" usually answers itself: use the site's own API when it has one that returns what you need, and scrape when it does not. A web scraping API sits between the two. It is an API to you, documented and keyed and billed, and scraping on the other side, against a site that offered no API.

That is why web scraping with API access to a provider is not the same as using the target's own API, and why the terms matter twice. The provider's terms govern your use of the provider, and the target site's terms govern the page. Neither is something this directory can rule on for you; read both before you scale a job.

Web scraping through API calls to a provider means the brittle parts become somebody else's problem, and the bill is how you pay for that.

Three kinds

## Three kinds of web scraping API

The seven split cleanly once you ask what comes back. The same word covers a proxy network, a marketplace and a reader, and their prices are not comparable until you know which one you are buying.

- Unblock and render a URL you name: Bright Data's Web Unlocker API and ScrapingBee. You get the page, with CAPTCHAs, fingerprinting and JavaScript handled, and you parse it yourself.
- Run a pre-built scraper for a known site: Apify's Store of Actors and Bright Data's Web Scraper API with more than 1,500 scrapers. You get structured records, priced per result rather than per page.
- Fetch and clean a page for a model: Firecrawl turns any site into Markdown, [Tavily](https://frontal.so/gtm-apis/source-apis/tavily-api-review) and Parallel have extract endpoints, and [Exa](https://frontal.so/gtm-apis/signal-apis/exa-api-review)'s Contents endpoint pulls page text for URLs you already have. This is what an AI web scraping API usually means.

A team scraping a few known sites wants the second kind, a team reading arbitrary company websites wants the third, and the first is for everything in between.

Proxies and rendering

## Proxies, JavaScript and why one page costs more than another

Most of what a web scraping API charges for is how hard the page fights. ScrapingBee publishes the ladder exactly: 1 credit for a rotating proxy with no JavaScript, 5 for the default rendered page, 10 or 25 for premium residential proxies, and 75 for stealth. Turning rendering off with render\_js=false on a page that does not need it cuts a call from 5 credits to 1.

Bright Data is the proxy API for web scraping in its oldest form: a zone has a proxy username and password. A client that already speaks HTTP proxies can point at its superproxy and get the same unblocking as the API, billed at the same rate.

Firecrawl is the reminder that the ceiling is not always the price. Its own documentation says the real bottleneck is concurrent browsers, not requests a minute, because a rendered page holds a browser for seconds.

Before comparing rates, find out which configuration your target sites need, because the same provider can cost 75 times more per page on a hard site than on an easy one.

Hard targets

## Amazon, Google and LinkedIn

Three targets account for a lot of scraping demand, and each has a better answer than a generic fetch. An Amazon API for web scraping exists ready made: ScrapingBee publishes Amazon search and Amazon product APIs, and Bright Data sells an Amazon scraper among its pre-built ones.

A Google web scraping API is a [SERP](https://frontal.so/gtm-apis/serp-apis) API by another name. Rather than rendering google.com yourself, use one of the providers on the [SERP APIs](https://frontal.so/gtm-apis/serp-apis) page; ScrapingBee also sells its own Google results endpoint at 10 credits a call, and Apify routes Google results through its proxy at $2.50 to $1.70 per 1,000. A Google API for web scraping the open web, from Google itself, does not exist for a new customer.

A LinkedIn web scraping API is the most sensitive of the three. Bright Data's Web Scraper API returns LinkedIn records and bills per record delivered, so one call that returns 50 profiles is 50 units. LinkedIn's own terms are the ones to read first, and the [LinkedIn API](https://frontal.so/gtm-apis/linkedin-api) page covers what LinkedIn's own API allows and the providers that work from a profile URL instead.

For each of the three, a provider that already returns the record is cheaper and steadier than a scraper you point at the page and maintain yourself.

Python

## Web scraping using API in Python

Most web scraping using API calls in Python is a plain HTTP request with a key, and every provider here works that way. Several publish a Python package as well, which is the shortest route to a python web scraping API that handles retries and pagination for you.

Apify's is apify-client, Bright Data's is brightdata-sdk, Parallel's is parallel-web and ScrapingBee's is scrapingbee, each installed with pip and each named on the vendor's own pages. Firecrawl, Tavily and Exa are called the same way through their REST APIs.

For web scraping with Python API clients at volume, the client matters less than the concurrency: ScrapingBee allows 25 requests in flight on its entry plan, Firecrawl 5 browsers, and Apify 32 concurrent runs. Size the pool to the plan, not to the machine.

Web scraping and API fundamentals in Python are the same skill here: send the request, read the status, back off on a 429.

What a page costs

## Web scraping API services, priced per 1,000 pages

Comparing web scraping API services on price means converting every unit into pages. These are the entry and volume rates each vendor publishes, the arithmetic done here.

- ScrapingBee: $1.27 per 1,000 default rendered pages on Hobby at $19 for 75,000 credits, or $0.25 with rendering off.
- Bright Data: $1.50 per 1,000 successful requests, or about $1.31 on the $499 Scale plan, with 5,000 free credits a month.
- Firecrawl: $3.20 per 1,000 pages on Hobby at $16 a month billed annually, $19 month to month, falling to $0.83 on Standard at $83 billed annually.
- Exa Contents and Parallel Extract: $1 per 1,000 pages or results, for text pulled from URLs you already have.
- Apify: set by the Actor, from $0.20 per 1,000 pages for a raw HTTP crawl to $0.50 to $5 in a browser, drawn from prepaid platform dollars.
- Tavily: extract and crawl use more credits than a search, at $0.008 a credit, and Tavily publishes no fixed per-page figure.

The cheapest web scraping service API on paper is the one whose cheapest configuration your targets actually allow, so test your own sites before you choose a plan.

Open source

## Is there an open source web scraping API?

One of the seven is open source. Firecrawl's code is public, so the behavior the hosted service charges for is inspectable, and self-hosting it is a real option when the constraint is data residency rather than engineering time.

The hosted plan still earns its keep for most teams, because the proxies, the browser fleet and the unblocking are the expensive part, and a self-hosted copy brings none of them. A web scraping API open source build is a starting point, not the service.

If self-hosting is the plan, price the proxies you will need before comparing it with a $19 hosted plan.

Side by side

## The seven web scraping APIs, on the figures that decide it

Entry price and unit cost are read from each vendor's own pricing page. The unit differs from row to row, a credit, a request, a compute unit or a search, so convert to pages before comparing.

| Provider | Returns | Entry price | Unit cost | MCP server |
| --- | --- | --- | --- | --- |
| [Exa](https://frontal.so/gtm-apis/signal-apis/exa-api-review) | Firmographics, Web pages | $4/1k searches | $0.001 per page, Contents | Yes |
| [Firecrawl](https://frontal.so/gtm-apis/source-apis/firecrawl-api-review) | Firmographics, Technographics, Web pages | $16/mo annual | $0.0032 per credit | Yes |
| [Tavily](https://frontal.so/gtm-apis/source-apis/tavily-api-review) | Firmographics, Web pages | $0.008/credit | $0.008 per credit | Yes |
| [Apify](https://frontal.so/gtm-apis/source-apis/apify-api-review) | Firmographics, Web pages | $19/mo | $0.20 per compute unit | Yes |
| [Bright Data](https://frontal.so/gtm-apis/source-apis/bright-data-api-review) | Firmographics, Job postings, LinkedIn profile, Web pages | $1.50/1K requests | $0.0015 per request | Yes |
| [ScrapingBee](https://frontal.so/gtm-apis/source-apis/scrapingbee-api-review) | Firmographics, Web pages | $19/mo | $0.00025 per credit | Yes |
| [Perplexity](https://frontal.so/gtm-apis/source-apis/perplexity-api-review) | Web pages | $5/1k searches | $0.005 per search request | Yes |
| [Parallel](https://frontal.so/gtm-apis/source-apis/parallel-api-review) | Firmographics, Web pages | $1/1k searches | $0.001 per page, Extract | Yes |

Read from each vendor's own pages on 24 October 2026, and each review carries the full rate card.

The directory

## Every provider that returns this, filtered

The 8 providers are chosen by the data each one returns, read off its record, not by hand. Billing model is the filter worth starting with, because it decides whether a quiet month costs you anything.

Each has a full review, with the rate card read off the vendor's own page: [Exa](https://frontal.so/gtm-apis/signal-apis/exa-api-review), [Firecrawl](https://frontal.so/gtm-apis/source-apis/firecrawl-api-review), [Tavily](https://frontal.so/gtm-apis/source-apis/tavily-api-review) and [Apify](https://frontal.so/gtm-apis/source-apis/apify-api-review).

Also with a full review: [Bright Data](https://frontal.so/gtm-apis/source-apis/bright-data-api-review), [ScrapingBee](https://frontal.so/gtm-apis/source-apis/scrapingbee-api-review), [Perplexity](https://frontal.so/gtm-apis/source-apis/perplexity-api-review) and [Parallel](https://frontal.so/gtm-apis/source-apis/parallel-api-review).

### Filter

Showing 8 of 8

### [Exa](https://frontal.so/gtm-apis/signal-apis/exa-api-review)

Best for agent research

Motion Signal Source Enrich

Model MCP server Free tier No monthly floor

Exa is what you reach for when the signal you need is not in anybody's database yet. It returns clean page content rather than links, which is the difference between an agent that can answer a research question and one that hands you ten tabs.

- Search from $4 per 1,000 on lite, $7 on the default auto type, up to 10 results each
- Contact enrichment at $0.02 per email, $0.07 per phone
- Agent API from $0.012 to $1.00 a run at fixed effort

From $4 /1k searches

[Read the review of the Exa API](https://frontal.so/gtm-apis/signal-apis/exa-api-review) [site for Exa (opens in a new tab)](https://exa.ai/)

### [Firecrawl](https://frontal.so/gtm-apis/source-apis/firecrawl-api-review)

Best for turning sites into model input

Motion Source Signal

Model MCP server Free tier

Firecrawl takes a URL and gives you back the page as Markdown, with the navigation, the cookie banner and the JavaScript already dealt with. It is the layer most GTM agents are missing: not a database of companies, but the ability to read any company's own site.

- 1 credit a page scraped, 2 per 10 search results, from $0.00083 a credit at volume
- Free plan runs 1,000 credits a month with no card
- Concurrent browsers, not the request rate, is the real ceiling

From $16 /mo annual

[Read the review of the Firecrawl API](https://frontal.so/gtm-apis/source-apis/firecrawl-api-review) [site for Firecrawl (opens in a new tab)](https://www.firecrawl.dev/)

### [Tavily](https://frontal.so/gtm-apis/source-apis/tavily-api-review)

Best search API for agents on a budget

Motion Source Signal

Model MCP server Free tier No monthly floor

Tavily is a search API built for language models rather than for people, and priced simply enough that you can model it on a napkin: one credit a basic search, two for a deep one, $0.008 a credit. The free tier is 1,000 credits a month with no card. Tavily now trades as part of Nebius.

- 1 credit a basic search, 2 for advanced, at $0.008 a credit
- 1,000 free credits a month, reset on the 1st, no card
- Development keys run 100 requests a minute, production keys 1,000

From $0.008 /credit

[Read the review of the Tavily API](https://frontal.so/gtm-apis/source-apis/tavily-api-review) [site for Tavily (opens in a new tab)](https://www.tavily.com/)

### [Apify](https://frontal.so/gtm-apis/source-apis/apify-api-review)

Best for a scraper somebody already built

Motion Source Signal

Model MCP server Free tier No monthly floor

Apify runs other people's scrapers. Thousands of Actors in Apify Store, from Google Maps to whole-site crawlers, are started, polled and read through one REST API and one token. The plan you buy is prepaid usage in dollars, and what a single scrape costs is set by whoever wrote the Actor.

- Plans are prepaid usage in dollars: $5 free, then $19, $199 or $999 a month
- Most Store Actors price per result rather than per compute unit
- 60 requests a second per resource, 250,000 a minute per account

From $19 /mo

[Read the review of the Apify API](https://frontal.so/gtm-apis/source-apis/apify-api-review) [site for Apify (opens in a new tab)](https://apify.com/)

### [Bright Data](https://frontal.so/gtm-apis/source-apis/bright-data-api-review)

Best for search results and pre-built scrapers at volume

Motion Source Signal

Model MCP server Free tier No monthly floor

Bright Data is web data infrastructure: proxies, an unblocker, a SERP API and more than 1,500 pre-built scrapers. The three API products a GTM team calls, the SERP API, the Web Unlocker API and the Web Scraper API, are priced the same way: $1.50 per 1,000 successful requests or records, or $499 a month for about 380,000.

- SERP, Unlocker and Scraper APIs at $1.50 per 1,000, charged on success only
- 5,000 free credits a month shared across all three, no card
- SERP API capped at 1,000 a minute until the account holds funds

From $1.50 /1K requests

[Read the review of the Bright Data API](https://frontal.so/gtm-apis/source-apis/bright-data-api-review) [site for Bright Data (opens in a new tab)](https://brightdata.com/)

### [ScrapingBee](https://frontal.so/gtm-apis/source-apis/scrapingbee-api-review)

Best for cheap rendered pages at volume

Motion Source Signal

Model MCP server Free tier

ScrapingBee is one scraping endpoint that renders JavaScript and rotates proxies for you, priced in credits whose cost depends on the configuration: 1 for a plain fetch, 5 for the default rendered page, up to 75 for stealth. The plans are generous on credits, and the ceiling that actually binds is concurrency.

- A default call costs 5 credits, because JavaScript rendering is on by default
- 75,000 credits for $19 a month, 1,000,000 for $99
- Concurrency from 25 to 900; a 429 means you hit it, and costs nothing

From $19 /mo

[Read the review of the ScrapingBee API](https://frontal.so/gtm-apis/source-apis/scrapingbee-api-review) [site for ScrapingBee (opens in a new tab)](https://www.scrapingbee.com/)

### [Perplexity](https://frontal.so/gtm-apis/source-apis/perplexity-api-review)

Best for raw search results at a flat request price

Motion Source Signal

Model MCP server No monthly floor

The Perplexity API is now two products: a Search API that returns ranked results and extracted text at $5 per 1,000 requests with no token costs, and an Agent API that runs third-party models with web search as a priced tool. Sonar Chat Completions support ended on September 27, 2026.

- Search API $5 per 1,000 requests, $1 in fast mode, up to five queries a request
- Agent API billed per token, plus $0.0025 a web\_search call
- Search limited to 50 query units a second on every tier

From $5 /1k searches

[Read the review of the Perplexity API](https://frontal.so/gtm-apis/source-apis/perplexity-api-review) [site for Perplexity (opens in a new tab)](https://www.perplexity.ai/)

### [Parallel](https://frontal.so/gtm-apis/source-apis/parallel-api-review)

Best for per-request research you can price in advance

Motion Source Signal Enrich

Model MCP server Free tier No monthly floor

Parallel prices everything per request rather than per token, so a query's cost is known before it runs. Search is $1 or $5 per 1,000 depending on the mode, and the Task API for structured research runs from $5 to $2,400 per 1,000. The default search mode is the $5 one.

- Search $1 per 1,000 in fast or turbo mode, $5 in the default advanced mode
- $5 of free credits a month, which is up to 5,000 requests
- Search 600 a minute, Tasks 2,000; status polls do not count

From $1 /1k searches

[Read the review of the Parallel API](https://frontal.so/gtm-apis/source-apis/parallel-api-review) [site for Parallel (opens in a new tab)](https://parallel.ai/)

Buyer's guide

## Four things that decide which web scraping API

In the order they cost you money.

01

### Page, record or reading

Decide whether you want the raw page, a structured record from a known site, or clean text for a model. That choice picks the kind of provider before price does.

02

### How hard your targets fight

A plain fetch and a stealth render can differ by 75 times on one provider. Test your own sites, because the configuration they need sets the real rate.

03

### Concurrency, not the rate limit

Rendered pages hold a browser for seconds, so the number of requests in flight caps throughput long before any per-minute limit. Compare plans on concurrent requests or browsers.

04

### What a failure costs

ScrapingBee and Bright Data charge for successful calls only, and ScrapingBee does not bill a 429. A provider that bills a blocked attempt turns a hard site into a bill.

Keep going

## Comparisons, stacks and alternatives

The same providers, seen three other ways: head to head on the [compare hub](https://frontal.so/gtm-apis/compare), by the reason teams leave on the [alternatives hub](https://frontal.so/gtm-apis/alternatives), and wired together with the cost run end to end on the [stacks hub](https://frontal.so/gtm-apis/stacks).

The same providers, sorted by other data: [SERP APIs](https://frontal.so/gtm-apis/serp-apis).

By the stage of the motion they serve: [Signal APIs](https://frontal.so/gtm-apis/signal-apis) and [Sourcing APIs](https://frontal.so/gtm-apis/source-apis).

Head to head, with the arithmetic done: [Exa vs Tavily](https://frontal.so/gtm-apis/compare/exa-vs-tavily), [Apify vs Firecrawl](https://frontal.so/gtm-apis/compare/apify-vs-firecrawl), [Apify vs Bright Data](https://frontal.so/gtm-apis/compare/apify-vs-bright-data) and [Apify vs ScrapingBee](https://frontal.so/gtm-apis/compare/apify-vs-scrapingbee).

Also side by side: [Firecrawl vs ScrapingBee](https://frontal.so/gtm-apis/compare/firecrawl-vs-scrapingbee), [Exa vs Perplexity](https://frontal.so/gtm-apis/compare/exa-vs-perplexity) and [Exa vs Parallel](https://frontal.so/gtm-apis/compare/exa-vs-parallel).

Teams leaving one of these have somewhere to go: [Firecrawl](https://frontal.so/gtm-apis/alternatives/firecrawl-alternatives), [Exa](https://frontal.so/gtm-apis/alternatives/exa-alternatives) and [Tavily](https://frontal.so/gtm-apis/alternatives/tavily-alternatives).

And: [Apify](https://frontal.so/gtm-apis/alternatives/apify-alternatives), [Bright Data](https://frontal.so/gtm-apis/alternatives/bright-data-alternatives) and [Perplexity](https://frontal.so/gtm-apis/alternatives/perplexity-alternatives).

## Not sure which provider to pick? *Clay runs 150+ from one table.*

Clay runs a waterfall across 150+ data providers from one table, without a separate contract with each. A lookup that finds nothing costs no data credit, and the free plan includes 500 actions a month.

[Try Clay](https://go.frontal.so/clay) [See the stacks](https://frontal.so/gtm-apis/stacks)

Frontal is a Clay Elite Studio Partner.

FAQ

## Web scraping APIs, answered

**How many web scraping APIs are in this directory?**

8, chosen by what each one returns rather than by hand, and each with its own review carrying the price, the rate limit and the auth method read from the vendor's own pages.

**Which web scraping APIs have a free tier?**

Exa, Firecrawl, Tavily, Apify, Bright Data, ScrapingBee and Parallel. What each free tier includes differs a lot, so the review says what you actually get.

**Which web scraping API is cheapest?**

Of the 3 that price per credit, ScrapingBee at $0.00025. The others meter a different unit, so their rates are not comparable number for number, and a monthly floor or a charge on a miss changes the bill either way.

**How are web scraping APIs billed?**

Every one of them meters you, so the unit cost is the comparable figure once the unit is the same, and the monthly floor is what you actually pay at low volume.

**Which ones ship an MCP server?**

Exa, Firecrawl, Tavily, Apify, Bright Data, ScrapingBee, Perplexity and Parallel. The ones the directory reviews live on the MCP page with the connect details.

**What is the difference between web scraping and an API?**

An API is an interface the site built and documents for you; scraping reads the page a person would see. A web scraping API gives you an API on your side and does the scraping on the other, against sites that offer no API.

**Can a web scraping API get past CAPTCHAs and JavaScript?**

That is most of what it is for. Bright Data's Web Unlocker handles CAPTCHAs, fingerprinting and retries, and ScrapingBee renders JavaScript by default, which is why its default call costs 5 credits rather than 1.

**Which web scraping API returns Markdown for an LLM?**

Firecrawl, which turns any URL into Markdown with the navigation and cookie banner removed. Tavily and Parallel extract page content, and Exa's Contents endpoint returns page text at $1 per 1,000 pages.

**Is it legal to use a web scraping API?**

This directory does not give legal advice. The provider's terms cover your use of the provider and the target site's terms cover the page, so read both, and the target site's first.
