Key takeaways
The TL;DR. 2 headline facts about Scraping Fish pulled from our test rig + their public documentation.
- ▸Rotating ethically sourced proxies (IPs currently Poland/Europe) across 1+ countries.
- ▸Pricing starts at $2.00/mo.
The verdict
Independent nightly benchmarks since March 2024 — here's where Scraping Fish lands.
- Transparent pay-per-successful-request pricing (no credits)
- Real browser cluster with JavaScript rendering
- JS scenario execution (clicks, form fill, custom code)
- Rotating, ethically sourced proxies included
- Screenshot and PDF generation supported
- Sticky sessions and XHR interception available
- Very low $2 entry point to test the API
- Geolocation effectively limited to Poland/Europe
- No US or global country targeting yet
- No self-serve free trial
- Founding year and HQ undisclosed
- Explicitly does not bypass anti-bot/CAPTCHA
Pricing A · Performance B · Pool quality B · Support B · Ethics B
Each axis is graded A+ to D using our standard rubric: how we score →
Who should not use Scraping Fish?+
What we think after testing Scraping Fish
Editorial review by Devansh Rao · last tested May 26, 2026
Scraping Fish positions itself as a no-nonsense web scraping API rather than a broad proxy network. Its core proposition is a real browser cluster that renders JavaScript and executes scripted interaction scenarios (clicks, form input, custom JS), with rotating, ethically sourced proxies bundled into a single per-request price. The pricing philosophy is its standout trait: the company explicitly sells requests, not API credits, charging $0.002 per successful request with request packs starting as low as $2 and an optional auto-renewing subscription.
This makes budget estimation simple and avoids the credit-multiplier confusion common with competitors. The product is run by the team behind Narf AI, with co-founders publicly identified, though the site does not disclose a founding year or headquarters. Documentation is reasonably thorough, covering JS rendering, scenario execution, query parameters, headers, cookies, localStorage preloading, POST/PUT, screenshots, PDFs, XHR interception and sticky sessions.
The most significant limitation is geographic: IPs are currently sourced from Poland, and the site openly states US and worldwide geolocation are still being worked on, so country targeting is effectively unavailable. The company is also candid that it does not solve CAPTCHAs or bypass anti-bot systems — it provides infrastructure, not evasion. There is no self-serve free trial, though a starter pack can be requested.
No success-rate, latency or uptime figures are published. Overall, Scraping Fish is a solid, honest choice for developers who need straightforward JavaScript-capable scraping with predictable costs and who do not require geographic targeting. Teams needing global residential coverage or aggressive anti-bot bypass should look elsewhere, but for transparent, infrastructure-focused scraping it is a credible, fairly priced option.
Pricing
From $2.00/GB. Detailed plan breakdown not yet published.
View plans on Scraping Fish →Features & integrations
What's included out of the box.
Network & infrastructure
How the pool is built, refreshed and addressed.
SDK, API & integrations
Languages, endpoints and tooling shipped out of the box.
Code examples
Drop-in snippets to start using Scraping Fish from your stack. Replace USER, PASS and the gateway with what you get from your dashboard.
# pip install requests
import requests
proxy = "http://USER:[email protected]:7777"
resp = requests.get(
"https://httpbin.org/ip",
proxies={"http": proxy, "https": proxy},
timeout=10,
)
print(resp.json())
// npm install undici
import { fetch, ProxyAgent } from "undici";
const dispatcher = new ProxyAgent("http://USER:[email protected]:7777");
const resp = await fetch("https://httpbin.org/ip", { dispatcher });
console.log(await resp.json());
curl -x http://USER:[email protected]:7777 \
https://httpbin.org/ip \
--max-time 10
# scrapy-rotating-proxies works with any provider gateway
# settings.py:
DOWNLOADER_MIDDLEWARES = {
"scrapy.downloadermiddlewares.httpproxy.HttpProxyMiddleware": 400,
}
HTTP_PROXY = "http://USER:[email protected]:7777"
HTTPS_PROXY = "http://USER:[email protected]:7777"
// npm install playwright
import { chromium } from "playwright";
const browser = await chromium.launch({
proxy: {
server: "http://gate.scrapingfish.com:7777",
username: "USER",
password: "PASS",
},
});
const page = await browser.newPage();
await page.goto("https://httpbin.org/ip");
console.log(await page.locator("body").innerText());
await browser.close();
Compliance & privacy
Auditable certifications, sourcing and data-handling posture.
Company & resources
Who builds and operates this product.
Key markets covered
1+ countries served.
Scraping Fish vs alternatives
How Scraping Fish stacks up against the closest providers in our directory. Tap any column header to read that review.
How to get started with Scraping Fish
A 5-minute walkthrough from sign-up to your first successful request. Total setup time: ~10 minutes.
-
1
Sign up for a free account
Create your Scraping Fish account at https://scrapingfish.com. You may need to add a payment method.
-
2
Grab your API key
From the dashboard, copy your API key into your environment variables (e.g. SCRAPING_FISH_KEY) so it never lands in source control.
-
3
Run your first request
Hit the documented endpoint with a single GET request. Most teams finish their hello-world call in under 5 minutes.
-
4
Wire up retries + monitoring
Configure retries on the client side and route Scraping Fish responses into your APM (Datadog, New Relic, OpenTelemetry) so you catch ban-rate spikes early.
-
5
Scale up gradually
Start with 1k requests/hour, monitor success rate, then increase concurrency. At ~$2.00/GB, most teams hit volume targets within a sprint.
Stuck? Check Scraping Fish's documentation or email us.
User reviews
No reader reviews yet — be the first below.
Used Scraping Fish? Write a review+
FAQ
The questions buyers actually ask.
