Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Scraping Fish is not automatically the best choice for every scraper. It returns HTML through an API, can render JavaScript and run browser actions, and advertises rotating mobile proxies. It also states that it does not solve CAPTCHAs or provide anti-bot bypass. The most credible alternatives to evaluate first are ScrapingBee and ScraperAPI, but neither can be named a universal winner without testing your target domains.

Choose by the job you need done: static HTML retrieval, JavaScript execution, browser interaction, structured extraction, protected-site handling, output format, concurrency and the billing unit. Then run the same representative URLs through each candidate and compare complete output, failures, latency and effective cost.

What Scraping Fish does

Scraping Fish is a hosted website-retrieval API. Its documented endpoint returns page HTML. Optional JavaScript rendering and scenarios (browser actions) cover pages whose content appears only after scripts run or after an interaction such as a click.

Rendering is not CAPTCHA bypass

JavaScript rendering starts a browser so client-side content can load; it does not guarantee that a site will allow the request. Scraping Fish’s FAQ says: “No, we do not provide anti-bot bypass or CAPTCHA solving services.” Treat a bot check, challenge page or CAPTCHA as a possible failure, not as a problem that rendering alone fixes.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Proxy and failure expectations

The vendor says it uses rotating mobile proxies. That is a product claim, not an independently measured success rate. No comparable, independent benchmark establishes that Scraping Fish succeeds more often than another service on your sites. Failed requests are advertised as uncharged, but you should confirm the current terms before purchase.

Best Scraping Fish alternatives at a glance

Service What current documentation establishes Billing model Best questions to answer
Scraping Fish HTML retrieval, optional JavaScript rendering and browser actions; rotating mobile proxies claimed by the vendor; no CAPTCHA solving or anti-bot bypass. Advertised fixed price per successful request. Does it return complete content from your domains? Will request-pack expiry fit your volume?
ScrapingBee JavaScript rendering, proxy modes and extraction features are documented. Monthly credits; configuration changes credits consumed. How many credits does your exact combination of rendering, proxy and extraction use? Is the monthly commitment worthwhile?
ScraperAPI Retrieval of pages, API endpoints, images, documents and PDFs is documented; anti-bot mechanisms can increase request cost. Usage depends on request configuration and premium mechanisms. Which target domains need premium handling, and what is the resulting cost?
Bright Data An official web-scraper pricing page exists, but the relevant product’s feature set was not sufficiently established for a fair comparison here. Not stated for a comparable product in the available evidence. Which exact Bright Data product, unit and current terms match your workflow?
ScreenshotNeo Screenshot API for PNG, JPEG, WebP or PDF; clean captures remove consent banners, newsletter popups and chat widgets before capture; MCP tools support AI agents. Free 1,000 shots/month; paid plans from $5 for 3,000 shots. Do you need a visual capture rather than HTML data?

Why ScreenshotNeo is first when the job is screenshots: it bills only clean shots, offers the lowest paid plan listed here, and removes common overlays before capture. It is a screenshot service, not a replacement for an HTML scraper.

Scraping Fish pricing and what “per request” means

Scraping Fish advertises $0.002 per successful request with features included, and says failed requests are not charged. Its published request packs are:

Pack Price Advertised expiry Simple unit price
1,000 requests $2 1 month $0.002
10,000 requests $20 3 months $0.002
100,000 requests $200 6 months $0.002
1,000,000 requests $2,000 12 months $0.002

These are vendor-published prices accessed in 2026, not a permanent guarantee. “Successful request” still needs a definition for your project: a 200 response can contain a challenge page, incomplete content or an application error. Record output completeness, not only HTTP status, and check how the service labels failures.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

How ScrapingBee’s credit model changes the comparison

ScrapingBee’s public plans, accessed in 2026, list Hobby at $19/month for 75,000 credits, Freelance at $49 for 250,000, Startup at $99 for 1,000,000, Business at $249 for 3,000,000 and Business+ at $599 for 8,000,000. Prices exclude VAT. Its documentation says a call can consume 1–75 credits, with JavaScript rendering and proxy choice affecting the charge.

Therefore, comparing $0.002 with a plan headline is misleading. Estimate credits for your actual settings first. A static request, a JavaScript-rendered request and a request using a more capable proxy may have different costs. Include unused-credit risk and the monthly commitment in your calculation.

Where ScraperAPI fits

ScraperAPI documents retrieval of ordinary pages, API endpoints, images, documents and PDFs. Its cost documentation warns that anti-bot mechanisms can raise request costs. Ask for an estimate using the exact target mix and options rather than assuming every URL has the base price.

Its broader output coverage may matter if your pipeline needs documents or PDFs as well as HTML. Validate that the returned representation is the one your parser expects, especially when a site serves different content to browsers, API clients and challenge flows.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Choose by workload, not by brand

Static pages

If the required data is in the initial HTML, start with the least expensive configuration. Measure response time, missing fields, redirects and occasional blocks on a representative URL set.

JavaScript applications

Use a renderer only when the data is absent from the initial response. Check whether scripts finish, lazy content appears and pagination or consent state behaves as expected. Rendering generally costs more time or credits.

Browser actions

List every required interaction—click, scroll, form submission or selector wait—and verify that the service supports it reliably. A scenario that succeeds on one page may fail when selectors change, so retain screenshots or raw responses for debugging.

Protected domains

Do not equate rotating proxies or JavaScript with anti-bot bypass. If a target presents a CAPTCHA, follow the site’s terms and your provider’s policy; Scraping Fish explicitly does not solve it. Test whether another provider’s documented mechanisms are appropriate instead of assuming guaranteed access.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Structured extraction

If you need fields rather than raw HTML, compare extraction features, schema control and error visibility. ScrapingBee documents extraction; Scraping Fish’s core documented output is HTML, so you may need your own parser or a separate extraction stage.

A controlled evaluation you can run

  1. Define the sample. Select representative URLs: static and dynamic pages, redirects, regional variants, logged-out states and pages likely to trigger consent or bot checks.
  2. Freeze settings. Record rendering, proxy mode, headers, cookies, user agent, timeout, concurrency and extraction options for each provider.
  3. Capture output evidence. Save HTML or structured results, status information, timestamps and error text. For rendered jobs, verify that expected text and lazy-loaded elements are present.
  4. Measure operational results. Calculate completeness, failure rate, median and tail latency, retry count and effective cost per usable page. A response that needs multiple retries is not equivalent to a clean first attempt.
  5. Repeat at realistic volume. A small test reveals compatibility; a controlled volume test reveals throttling, concurrency limits and credit consumption.
  6. Review terms. Confirm current prices, concurrency, pack expiry, credit multipliers, data permissions and retention before switching.

Cost worksheet

For Scraping Fish, multiply successful requests by the advertised $0.002, then account for unused packs and expiry. For ScrapingBee, multiply the number of calls by the credits consumed by each configuration, divide by the plan’s included credits and include VAT where applicable. For ScraperAPI, model the premium mechanisms that your protected domains invoke. Compare the cost per usable page, not per attempted call.

Keep separate scenarios for static, rendered and protected pages. If only 10% of URLs need JavaScript, routing every request through a renderer can dominate the bill unnecessarily.

Troubleshooting common failures

HTML is empty or missing the data

Likely cause: the site renders content in JavaScript or returned a challenge shell. Fix: enable rendering where supported, wait for a specific selector or network idle, and inspect the raw response for challenge text. If a CAPTCHA appears, do not assume another wait setting will solve it.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Rendered page stops before lazy content loads

Likely cause: capture occurs before scrolling or the application finishes its requests. Fix: use the provider’s documented wait or browser-action options, target a completion selector and test several pages with different load times.

Costs are higher than expected

Likely cause: credit multipliers, premium proxy modes, retries or expired packs. Fix: log configuration and billing units per request, route simple URLs to a cheaper mode and verify current expiry and credit rules.

Intermittent blocks or challenge pages

Likely cause: domain defenses, rate limits, reputation or an unsuitable proxy location. Fix: lower concurrency, respect site rules, use an appropriate documented proxy option and compare providers on the same URLs. No service should be treated as a guaranteed CAPTCHA bypass.

Parser breaks after switching providers

Likely cause: different redirect handling, encoding, HTML normalization or challenge responses. Fix: add content validation before parsing, preserve raw responses, and map provider-specific errors into your retry queue.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Or skip the browser setup: ScreenshotNeo for visual captures

If your actual requirement is a screenshot or PDF rather than scraped HTML, ScreenshotNeo is the alternative to try first. It accepts a URL and returns PNG, JPEG, WebP or PDF. Before capture it accepts the cookie or consent banner like a visitor and removes more than 60 known consent platforms, newsletter popups and chat widgets; each cleanup step can be disabled. Bot checks, blank pages, timeouts, failed loads and cache hits are not billed, and response headers identify the page verdict and billing status. Its MCP server provides take_screenshot, get_page_info and capture_pdf for Claude, Cursor and other MCP clients.

One call is enough:

curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp

See the ScreenshotNeo API documentation for the 63 options, including full-page capture with lazy images, CSS selectors, device presets, retina scale, PDF paper and margin controls, custom CSS or JavaScript, clicks, waits, blocked resources, headers, cookies, user agents, timezone, geolocation, transparent backgrounds, resizing, TTL caching, signed image links, asynchronous webhooks, bulk capture of up to 100 URLs per call, usage data and the OpenAPI specification.

Python:

import requests
r = requests.get("https://api.screenshotneo.com/v1/shot", params={"access_key": "YOUR_API_KEY", "url": "https://stripe.com"}, timeout=90)
open("shot.webp", "wb").write(r.content)

Node.js:

const q = new URLSearchParams({ access_key: 'YOUR_API_KEY', url: 'https://stripe.com' });
const res = await fetch(`https://api.screenshotneo.com/v1/shot?${q}`);

The Free plan includes 1,000 screenshots each month with no card. Paid plans start at $5 for 3,000 shots; every feature is on every plan. Create a free ScreenshotNeo account.

Legal and operational checks

  • Confirm you have permission to collect the target data and that your use complies with site terms and applicable law.
  • Respect robots directives, authentication boundaries, rate limits and personal-data obligations relevant to your jurisdiction.
  • Store credentials outside source code and redact cookies, authorization headers and captured personal information from logs.
  • Design retries with backoff and idempotency so a transient failure does not duplicate downstream work.
  • Monitor usable-page rate, challenge rate, latency, provider charges and expiry dates after launch.

Frequently Asked Questions

Does Scraping Fish render JavaScript?

Yes. Its documented options include JavaScript rendering and browser-action scenarios, but rendering does not mean CAPTCHA solving or anti-bot bypass.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

What is the lowest advertised Scraping Fish price?

The vendor advertises $0.002 per successful request; its smallest listed pack is 1,000 requests for $2 and expires after one month.

Should I use a scraper API for screenshots?

Usually not. HTML scrapers return page data; a screenshot API is designed for visual output. ScreenshotNeo returns PNG, JPEG, WebP or PDF and removes common overlays before capture.

Are the listed prices permanent?

No. The Scraping Fish and ScrapingBee figures are vendor-published snapshots accessed in 2026. Verify current pricing, expiry, taxes and credit rules before buying.

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.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.