ScrapingBee is a web scraping API. You send it a URL, and it fetches the page through its own proxies and a headless browser, then returns the HTML, a JSON wrapper, Markdown, extracted fields or a screenshot. You don't manage proxies or browsers yourself. ScrapingBee's footer says it's made in France.
It competes most directly with ScraperAPI and ZenRows, and with Scrape.do for Google results.
How It Works
Every request goes to one endpoint, with your target URL and options as query parameters. The docs recommend sending your API key as a header; passing it in the URL still works but is deprecated. From the docs, a request through a German premium proxy that waits for an element to load looks like this:
curl "https://app.scrapingbee.com/api/v1?url=https%3A%2F%2Fexample.com&country_code=de&premium_proxy=True&wait_for=.content" \
-H "Authorization: Bearer YOUR-API-KEY"
The target URL must be URL-encoded, unless you use the official Python or Node.js libraries, which encode it for you. The docs also have examples in Java, Ruby, PHP and Go.
What Each Request Costs
ScrapingBee prices everything in API credits, and the options you choose decide how many credits a request uses:
| Request type | Credits |
|---|---|
| Plain request, no JavaScript rendering | From 1 |
| JavaScript rendering (on by default) | 5 |
| Premium proxy, without / with JavaScript | 10 / 25 |
| Stealth proxy (requires JavaScript) | 75 |
| AI extraction | +5 on top of the request |
| Google search, light / regular | 10 / 15 |
Two details matter for your bill:
- JavaScript rendering is on by default. Unless you set
render_js=false, every request costs 5 credits rather than 1. Turn it off for pages that don't need a browser. - Only successful requests are charged. ScrapingBee's FAQ counts a request as successful when it returns a 200, 404 or 410 status code.
Auto mode (mode=auto) tries configurations from cheapest to most expensive and charges for the one that works: 1, 5, 10, 25 or 75 credits. If every configuration fails, it costs nothing, and max_cost caps how high it can go.
Pricing
| Plan | Price per month | API credits | Concurrent requests |
|---|---|---|---|
| Hobby | $19 | 75,000 | 25 |
| Freelance | $49 | 250,000 | 50 |
| Startup | $99 | 1,000,000 | 100 |
| Business | $249 | 3,000,000 | 200 |
| Business+ | $599 | 8,000,000 | 400 |
Enterprise plans run from $999 a month for 14 million credits up to $5,799 for 120 million. Prices exclude VAT.
All plans include JavaScript rendering, rotating and premium proxies, geotargeting, screenshots, extraction rules and the dedicated scraping APIs. Priority email support, a dedicated account manager and team management start on the Business plan.
To turn credits into requests, divide by the cost per request. On the $99 Startup plan, 1 million credits buys about 1 million plain requests, 200,000 JavaScript-rendered requests, 40,000 premium-proxy requests with JavaScript or about 13,000 stealth-proxy requests. That's roughly $0.10, $0.50, $2.48 and $7.43 per 1,000 requests.
Credits expire. The pricing page says credits are valid for one month and don't roll over, so size your plan to steady monthly use. You can cancel at any time from the dashboard, per the FAQ.
Request Options That Matter
From the API docs:
render_jsruns the page in a headless browser. On by default.premium_proxyandstealth_proxystep up to harder-to-block IPs, at 10 to 75 credits a request. Stealth is for the toughest targets.country_codesets the proxy country. It works with premium and stealth proxies.waitandwait_forhold the response until a set time passes (up to 35 seconds) or a CSS or XPath selector appears.js_scenarioruns browser actions in order: click, wait, scroll, fill a field, run JavaScript or scroll infinitely.extract_rulesreturns fields picked out with CSS or XPath selectors, andai_queryreturns fields described in plain language, for 5 extra credits.screenshot,screenshot_full_pageandscreenshot_selectorreturn an image instead of HTML.session_idkeeps the same IP for 5 minutes, for multi-step flows.block_resourcesskips images and CSS to load pages faster. On by default.
Our guide to web scraping with Python covers parsing the HTML you get back.
Dedicated APIs
Beyond the general HTML API, ScrapingBee lists dedicated APIs that return parsed JSON for particular sites. They include Google Search, a Fast Search API, Amazon, Walmart, YouTube, ChatGPT and Gemini.
The Google Search API takes a search term and returns organic results, ads, "People also ask" questions, related searches, local results and more as JSON. It covers web, news, maps and image searches, and costs 10 credits with light_request or 15 without. If Google results are your main job, compare it with Scrape.do's Google endpoint and our guide to scraping Google search results.
AI and Automation Integrations
ScrapingBee lists an MCP server for AI assistants, a command-line tool, and integrations with Make, Zapier and n8n. The MCP server lets an AI agent call ScrapingBee to fetch pages. See AI and agents for how these fit into AI workflows.
ScrapingBee's Own Claims
ScrapingBee's homepage says it's used by more than 4,500 developers, has access to over 200 million rotating proxy IPs, and is SOC 2 Type II compliant. It also cites a 99% success rate for AI and Amazon use cases. These are ScrapingBee's figures, and we haven't measured them. Because you only pay for successful requests, the free credits are the cheapest way to check success rates on your own targets.
Who It's For
ScrapingBee fits developers who want one API to fetch, render and extract pages without running proxies or browsers. It's a good match for steady monthly volumes, Google and e-commerce scraping through the dedicated APIs, and pages that need clicks or scrolling before the data appears.
It's a weaker fit when you need raw proxies for your own tooling, since there's no proxy access outside the API, or when your scraping comes in bursts, because unused credits expire each month. If most of your targets need stealth proxies at 75 credits a request, compare the cost per 1,000 requests with an unblocker such as the Bright Data Web Unlocker.
Our Score: 4.1/5
This score is based on ScrapingBee's published pricing, FAQ and documentation, not on hands-on testing. Against the criteria on our how we test page:
- Transparency: strong. Plan prices, the credit cost of every option and the billing rule for failed requests are all published.
- Developer experience: strong on paper. One endpoint, official Python and Node.js libraries, browser actions, extraction rules and an MCP server. We haven't tried the setup ourselves.
- Value: mixed. Plain requests are cheap, but JavaScript rendering is on by default, stealth proxies cost 75 credits, and unused credits expire each month.
- Effectiveness and support: not assessed. We haven't run ScrapingBee against real targets or contacted its support, so these don't raise or lower the score.
It sits just below our rating for ScraperAPI (4.2), which offers free credits every month rather than a one-off trial.
If you'd rather run a ready-made scraper than write one, see our Apify review and Apify vs ScrapingBee. For other scraping APIs, see our ScraperAPI review, ZenRows review and ZenRows vs ScraperAPI, or the scraping API rankings.
FAQ
How much does ScrapingBee cost?
Plans start at $19 a month for 75,000 API credits and 25 concurrent requests. Freelance is $49 for 250,000 credits, Startup $99 for 1 million, Business $249 for 3 million and Business+ $599 for 8 million. Enterprise plans run from $999 to $5,799 a month. Prices exclude VAT.
How many credits does a ScrapingBee request use?
A request without JavaScript rendering starts at 1 credit. JavaScript rendering costs 5 credits, premium proxies 10 (without JS) or 25 (with JS), and stealth proxies 75. AI extraction adds 5 credits, and a Google search costs 10 or 15 credits.
Does ScrapingBee charge for failed requests?
No. Its FAQ says only successful requests are charged, meaning those that return a 200, 404 or 410 status code.
Does ScrapingBee have a free trial?
Yes. New accounts get 1,000 free API credits with no credit card required.