Do these 3 things before closing this tab:
1Scan for outdated or missing drivers - takes under a minute2Repair Windows errors before they cause bigger problems3Fix the driver behind crashes, sound loss and screen glitchesScrapingBee is a hosted web-scraping API that combines browser rendering, rotating proxies, and extraction tools behind one endpoint. It is useful when a site needs JavaScript to render or when you want ScrapingBee to manage proxy selection. The trade-off is that those capabilities consume credits at different rates: a basic static-page request costs less than a JavaScript-rendered request using premium or stealth proxies. This review explains the costs, modes, examples, and limits so you can judge whether it fits your workload.
What ScrapingBee does—and what it does not do
ScrapingBee accepts a target URL and returns page content or an output such as a screenshot or extracted data. Instead of making your application build and maintain its own browser-and-proxy infrastructure, the service runs the request, can render JavaScript, and offers extraction options. Its official documentation says JavaScript rendering is enabled by default; that can help with pages built using frameworks such as React, Angular, or Vue, where useful content appears after scripts run.
Think of it as a managed retrieval and rendering layer, not a guarantee that every target can be collected or that every request returns the same data. A site’s layout, scripts, access controls, and bot defenses affect what is available. The API’s convenience also does not grant permission to collect a site’s content: check its terms, robots guidance, and applicable law before making requests.
Typical reasons to use it
- Fetch content from pages that need JavaScript rendering.
- Use rotating, premium, or stealth proxy options without operating a proxy pool yourself.
- Extract fields with CSS or XPath rules, or use its AI extraction options.
- Request screenshots, geotargeting, or other browser-oriented behavior through the API.
The official repository describes examples for Python, Node, Go, Java, PHP, Ruby, cURL, and command-line use. It also includes task-specific examples, such as Amazon review pagination. Those examples are useful starting points, but selectors, waits, and pagination logic still need to match the target page.
#1 Best Overall
How ScrapingBee credits work
ScrapingBee’s documented HTML API costs depend on the proxy tier and whether JavaScript rendering is enabled. Its documentation lists the following credit costs per request configuration:
| Configuration | Credits per request | When it may fit |
|---|---|---|
| Classic proxy, JavaScript off | 1 | Static pages that return the needed content without browser rendering. |
| Classic proxy, JavaScript on | 5 | Pages whose content appears after client-side scripts run. |
| Premium proxy, JavaScript off | 10 | Static pages for which a premium proxy is needed. |
| Premium proxy, JavaScript on | 25 | Rendered pages that also need the premium proxy tier. |
| Stealth proxy, JavaScript on | 75 | Difficult targets where the stealth configuration is appropriate. |
AI query or AI extraction adds 5 credits, according to the documentation. These are configuration costs, not a promise that a particular request will succeed. A sensible cost-control approach is to begin with the least expensive configuration likely to work, then escalate only when the returned content shows that the cheaper setup is insufficient.
ScrapingBee pricing and trial
The prices below are the monthly plan prices listed by ScrapingBee in 2026. The page also advertises 1,000 free API credits without requiring a credit card for the trial. Credit consumption varies by request configuration, so monthly credits are not the same as a fixed number of pages.
| Plan | Listed monthly price | API credits | Concurrent requests |
|---|---|---|---|
| Hobby | $19/month | 75,000 | 25 |
| Freelance | $49/month | 250,000 | 50 |
| Startup | $99/month | 1,000,000 | 100 |
| Business | $249/month | 3,000,000 | 200 |
| Business+ | $599/month | 8,000,000 | 400 |
Estimate volume by multiplying the expected number of requests for each configuration by its credit cost, then add any AI extraction or query credits. For example, 1,000 requests at the documented classic-proxy JavaScript rate would use 5,000 credits if each request used that configuration; the same count at 25 credits per request would use 25,000. Leave headroom for retries and for pages that require a more expensive setup. ScrapingBee states on its pricing page that it charges for successful requests and that plans can be canceled at any time; check the current plan terms before committing.
The Tool Desk
Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →Make a first request with cURL
The smallest documented example requests a URL with an API key in the Authorization header. Replace the target URL and key with your own values:
curl "https://app.scrapingbee.com/api/v1?url=https%3A%2F%2Fexample.com"
-H "Authorization: Bearer YOUR-API-KEY"
This sends the request to the API endpoint and prints the response body in the terminal. For a quick check, confirm that the response contains the page content you expect before building a parser around it. Avoid committing an actual API key to source control or sharing it in logs.
Use the Python client
The official example uses the ScrapingBee Python client. It sends a request for a page, then prints the HTTP status and the beginning of the returned text:
from scrapingbee import ScrapingBeeClient
client = ScrapingBeeClient(api_key="YOUR-API-KEY")
response = client.get("https://example.com")
print(response.status_code)
print(response.text[:500])
Check the status and inspect representative output before parsing. A successful HTTP response alone does not prove that a page’s desired content rendered; it may contain a consent screen, access challenge, or page shell instead. The specific client installation command is not included in the cited examples, so use ScrapingBee’s current official setup instructions for your Python environment.
Quick wins for a faster PC:
Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Repair Windows errors before they cause bigger problemsFix Now →Scan for outdated or missing drivers - takes under a minuteDriver Scan →Choose JavaScript rendering and wait behavior
For a page whose product cards appear only after client-side rendering, the docs’ example explicitly enables JavaScript and waits until a matching selector appears:
curl "https://app.scrapingbee.com/api/v1?url=https%3A%2F%2Fexample.com&render_js=true&wait_for=.product-card"
-H "Authorization: Bearer YOUR-API-KEY"
ScrapingBee documents `wait`, `wait_browser`, and `wait_for` as wait controls, alongside viewport settings, resource blocking, custom headers and cookies, and extraction rules. Use a selector wait when the page has a reliable element that signals the content is ready; a fixed delay can be easier to start with but may waste time on fast pages and still be too short on slow ones. Avoid assuming that turning JavaScript on will automatically identify the right point at which a page is ready.
Use Auto-Mode to let ScrapingBee escalate
Auto-Mode tries configurations from cheaper to more expensive, varying JavaScript rendering and proxy tiers, and charges for the configuration that succeeds. Its purpose is to reduce the amount of manual tuning for the rendering/proxy combination:
curl "https://app.scrapingbee.com/api/v1?url=https%3A%2F%2Fexample.com&mode=auto"
-H "Authorization: Bearer YOUR-API-KEY"
Auto-Mode is not a substitute for page-specific settings. The documentation says it does not automatically choose selectors, waits, cookies, headers, or geolocation for a particular page. If the content only appears after a known interaction or a specific selector, set the relevant option yourself and inspect the returned output. Auto-Mode can simplify a first attempt, but its escalation can also use more credits than a well-tuned request.
Free tools Windows power users keep installed
One-click scans. No signup required.
When proxy mode makes sense
ScrapingBee also documents connecting through its proxy endpoints: proxy.scrapingbee.com:8886 for HTTP, proxy.scrapingbee.com:8887 for HTTPS, and socks.scrapingbee.com:8888 for SOCKS5. In proxy mode, the API key is the username and supported parameters are supplied as the password. Consult the current proxy documentation for the exact client-specific credential format and supported parameters rather than assuming every parameter works in every client.
JavaScript is on by default in proxy mode. ScrapingBee recommends explicitly disabling it for a static request. Proxy mode is worth considering when an existing application is already built around a proxy connection; the API endpoint is generally the more direct fit when you want a request/response workflow and its API options.
Strengths and trade-offs
| What it offers | What to weigh |
|---|---|
| One API endpoint for retrieval, rendering, and multiple output or extraction workflows. | Rendering and proxy escalation increase credit use, with documented costs ranging from 1 to 75 credits for the listed HTML configurations. |
| Rotating, premium, and stealth proxy options, plus Auto-Mode. | Stealth costs 75 credits per successful call in the documented configuration and has feature limitations described in the docs. |
| Browser-related features such as geotargeting, screenshots, and CSS/XPath extraction. | Selectors, waits, cookies, headers, and location still need deliberate configuration when a page requires them. |
| Examples across several mainstream languages and cURL/CLI. | Examples are starting points; target-specific pagination and parsing remain application work. |
For a static page, the key decision is whether the simplest classic-proxy request returns the content you need. For client-rendered pages, enable JavaScript and define a useful readiness condition. If those approaches do not work, test higher proxy tiers deliberately and track the additional credit cost rather than escalating every request by default.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Troubleshooting common problems
The response contains a shell but not the expected content
The page may populate after JavaScript runs. Try JavaScript rendering and wait for a stable content selector, then inspect the returned response again. If the expected element never appears, check whether the page redirects, requires an interaction, or presents an access challenge.
The page is incomplete or a selector is missing
A request may finish before the page’s content is ready, or the selector may not match the current markup. Confirm the selector against the page version being fetched, use an appropriate wait, and consider whether a specific cookie or header is required. Do not add long delays blindly; validate that the response changes as expected.
A request works only with a more expensive proxy tier
Some targets may need premium or stealth proxy configurations. Test the smallest escalation that resolves the issue and calculate its credit effect against expected volume. Auto-Mode can try escalating configurations, but it does not tune page-specific waits, cookies, or geolocation.
Proxy-mode connection fails
Check that the protocol and port match the documented endpoint—HTTP, HTTPS, or SOCKS5—and verify how your client passes the API key and supported parameters. For a static proxy-mode request, explicitly turn JavaScript off as ScrapingBee recommends.
The output is technically successful but unusable
Inspect the actual content before treating a status code as success for your task. A challenge, consent screen, blank result, or changed page structure can require different handling. Revisit the request options and extraction rules, and respect the target site’s access conditions.
Where ScreenshotNeo fits
ScrapingBee is the more relevant option when the job is scraping or extracting page content through proxy and rendering controls. If the deliverable is instead a clean screenshot or PDF, ScreenshotNeo is an alternative to try first: it is a website screenshot API and MCP server for developers, rather than a general web-scraping API. Its documented cleanup and billing behavior are useful for screenshot workflows, but it should not be treated as a substitute for ScrapingBee’s content-extraction features.
Or skip the browser setup
Make one GET request to return a screenshot; see the ScreenshotNeo API documentation for options:
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
ScreenshotNeo accepts cookie or consent banners like a visitor and removes more than 60 known consent platforms, newsletter popups, and chat widgets before capture; each of those steps can be turned off. Bot checks/CAPTCHAs, blank pages, timeouts, failed loads, and cache hits cost nothing, and responses include X-Page-Verdict and X-Billed headers. Its MCP server gives AI agents tools for screenshots, page information, and PDF capture. The free plan includes 1,000 screenshots per month without a card; paid plans start at $5 for 3,000 screenshots.
Sign up for ScreenshotNeo’s free 1,000 screenshots a month—no card required.
Frequently Asked Questions
Can ScrapingBee access a page that requires a login?
The documentation lists custom cookies and headers, which can be relevant to authenticated requests, but that does not guarantee access or authorize collection. Use credentials only where you are entitled to access the page, and follow the site’s terms and applicable law.
Does a successful API response guarantee structured data?
No. A response can return rendered page content, while structured extraction still depends on the extraction method and the page’s current markup. Validate the fields your application needs against actual responses.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

