Scrape.do is a web scraping API that has become our first pick when the target is Google. You send one request, and it handles proxies, headers, CAPTCHAs and rendering behind the scenes. For search work it goes further: a dedicated Google Search endpoint returns parsed JSON instead of HTML, with organic results, ads and the rest of the results page already split into blocks. In our side-by-side use on the same Google work it has been faster and more reliable than Bright Data's SERP API.
This review covers what Scrape.do sells, how the Google endpoint works, what it costs, and where it falls short. If you are deciding between the two for search data, our Scrape.do vs Bright Data SERP API comparison goes head to head.
What Scrape.do Is
Scrape.do describes itself as a toolkit for collecting public data at scale. Today that means two products:
- Web Scraping API. One endpoint (
https://api.scrape.do/) that fetches any URL through its proxy network, rotating IPs, headers and TLS fingerprints, solving CAPTCHAs, and optionally rendering JavaScript in a headless browser. Options include asuperflag for residential and mobile IPs,geoCodefor country targeting,sessionIdfor sticky sessions, andrenderfor JavaScript. - Ready Scraper APIs. Pre-built endpoints that return parsed JSON for specific sites. The Google family covers Search, Maps, Shopping, Flights, Hotels, News, Trends and the Play Store, alongside Amazon, Walmart and YouTube endpoints.
A standalone proxy product and a hosted scraping browser are both listed as coming soon. That is the main gap against platforms like Bright Data or Oxylabs, which sell raw proxies and hosted browsers today.
The Google Search Endpoint
The Google Search endpoint is where Scrape.do earns its rating. You call it with your token and a query, and it returns JSON:
curl --compressed "https://api.scrape.do/plugin/google/search?token=$SCRAPEDO_TOKEN&q=web+scraping+api&gl=us&hl=en"
The same call in Python:
import os
import requests
params = {
"token": os.environ["SCRAPEDO_TOKEN"],
"q": "web scraping api",
"gl": "us", # country
"hl": "en", # interface language
"device": "desktop",
}
r = requests.get("https://api.scrape.do/plugin/google/search", params=params, timeout=90)
r.raise_for_status()
data = r.json()
print(sorted(data.keys())) # every block the page returned
for item in data.get("organic_results", []):
print(item)
What the endpoint supports, per Scrape.do's documentation:
- 84 Google domains through
google_domain, 240+ countries throughgl, and 150+ interface languages throughhl, pluscrandlrfor stricter country and language filtering. - Desktop or mobile results through
device. - Pagination through
start, one page at a time. - Separate blocks for everything that isn't organic. Ads, local packs, maps and news cards come back on their own, so they never take an organic position. Empty arrays return
[]rather thannull, which keeps parsing code simple. - AI Overviews through a companion endpoint (
/plugin/google/search/ai-overview) that fetches overviews Google loads after the main page. - The raw HTML as well, if you pass
include_html=true.
Print the top-level keys on your first call, as the Python example does, and build your parser against what your queries actually return.
How It Performed
We run Scrape.do side by side with Bright Data's SERP API on the same Google work. Three differences stood out:
- Speed. Responses came back noticeably faster on the same queries.
- Fewer failures. Fewer requests failed outright, which matters twice: less retry logic, and less waiting on the slow tail of a crawl.
- More complete ad data. Ad blocks came back populated more consistently. For anyone tracking competitors' paid search, this is the difference that matters most.
These results come from our day-to-day use, not from a controlled benchmark, so we don't quote figures. Results on your queries, countries and volumes may differ, so run a test on your own keyword set before committing. The free plan is enough for that.
Pricing
Scrape.do publishes its prices, and every plan includes every feature: residential and mobile proxies, JavaScript rendering, geo-targeting and CAPTCHA handling.
| Plan | Price | Successful credits | Concurrency |
|---|---|---|---|
| Free | $0/month | 1,000 | 5 |
| Hobby | $29/month | 250,000 | 10 |
| Pro | $99/month | 1,250,000 | 50 |
| Business | $249/month | 3,500,000 | 100 |
| Advanced | $699/month | 10,000,000 | 200 |
| Enterprise | Custom | Custom | Custom |
Two details matter for Google work:
- A Google Search request costs 10 credits. The Hobby plan's 250,000 credits therefore cover about 25,000 searches a month. A basic datacenter request through the general API costs 1 credit.
- Only successful requests are charged. Timeouts, blocks and errors don't use credits. If a request returns
200 OKwith unusable content, Scrape.do says you can contact support to have the credits restored.
Annual billing is offered at up to 20% off, set up through support. When you hit your monthly limit, requests stop until you upgrade or buy more credits, so watch usage on bursty projects. Plans can be cancelled from the dashboard, and refunds are offered within three days of purchase.
Who It's For
Scrape.do fits best if Google is your main target: rank tracking, SERP monitoring, ad intelligence, or feeding search results into research and AI pipelines. It also suits small teams that want published pricing and a free plan they can actually build on, rather than a sales call.
It is a weaker fit if you need more than search data from one vendor. Bright Data's SERP API covers every major search engine and offers ASN-level targeting, and the wider Bright Data platform adds raw proxies, a hosted browser and datasets. For general-purpose scraping APIs, see ScraperAPI and ZenRows.
Verdict
For Google scraping, Scrape.do is the tool we now recommend first. In our use it beat Bright Data's SERP API on speed, failure rate and ad completeness. Its pricing is published and simple, it charges only for successful requests, and its free plan is enough to prove it on your own queries. The trade-off is breadth: no standalone proxies or hosted browser yet, and fewer search engines than Bright Data. If Google is the job, that trade-off is easy to accept.
Try Scrape.do free: 1,000 credits, no card →
FAQ
Is Scrape.do good for scraping Google?
Yes. It is our first pick for Google work. Its Google Search endpoint returns parsed JSON with organic results, ads and other SERP blocks, supports 84 Google domains and 240+ country codes, and in our testing it responded faster and failed less often than Bright Data's SERP API.
How much does Scrape.do cost?
There is a free plan with 1,000 successful credits a month. Paid plans start at $29 a month for 250,000 credits (Hobby), then $99 for 1,250,000 (Pro), $249 for 3,500,000 (Business) and $699 for 10,000,000 (Advanced). A Google Search request costs 10 credits, and only successful requests are charged.
Does Scrape.do return Google ads?
Yes. Scrape.do returns ads, local packs, maps and news cards as separate blocks from the organic results, so they never take organic positions. In our testing the ad blocks came back populated more consistently than with Bright Data's SERP API.
Scrape.do or Bright Data for Google scraping?
For Google specifically, we prefer Scrape.do: faster responses, fewer failures and more complete ad data in our testing, with simple published pricing. Bright Data's SERP API is the better fit if you need every major search engine, ASN-level targeting, or one vendor for proxies and datasets too. The full breakdown is in Scrape.do vs Bright Data SERP API.