Search
Google Search Scraper
google.com
Google is served through a dedicated endpoint rather than the generic page fetch, because SERP scraping needs country pinning to be meaningful. Ask for results as a specific country, and you get what a searcher there sees.
What you can extract
- Organic results with position, title, URL and snippet
- Top and bottom ads as separate lists
- Google's AI overview and the hostnames it cites
- Total results count and pages fetched
- Country-pinned result sets
How to scrape it
curl -X POST \
-H "X-ScrapeUnblocker-Key: $SU_API_KEY" \
"https://api.scrapeunblocker.com/serpApi?keyword=web%20scraping%20api&pages_to_check=1"import requests
resp = requests.post(
"https://api.scrapeunblocker.com/serpApi",
headers={"X-ScrapeUnblocker-Key": SU_API_KEY},
params={"keyword": "web scraping api", "pages_to_check": 1},
)
print(resp.text)import { ScrapeUnblockerClient } from 'scrapeunblocker';
const su = new ScrapeUnblockerClient({ apiKey: process.env.SU_API_KEY });
const results = await su.serpApi({ keyword: 'web scraping api', pagesToCheck: 1 });
console.log(results); Requests are POST and take their parameters in the query string. Browser rendering always happens - there is no flag to enable.
Frequently asked questions
Is it legal to scrape Google Search?
Collecting publicly available Google Search data such as organic results, ads and result counts is lawful in many jurisdictions, but the rules depend on your country, the data you collect and how you use it. ScrapeUnblocker returns the public page; what you collect and how you use it is your responsibility.
How do I scrape Google Search without getting blocked?
Google uses in-house anti-bot protection, including CAPTCHAs. The dedicated /serpApi endpoint deals with it: ScrapeUnblocker renders the page in a real browser, rotates residential and ISP exits and handles challenges, then returns normalized JSON. In ScrapeUnblocker's scraper benchmark it returned real content on 98.9% of 1,000 calls, about 4.8s per call; its larger 2026 benchmark measured 94.4% over 6,000 calls.
What Google Search data can I get?
/serpApi returns normalized JSON: organic results with position, title, URL, displayed URL and description, top and bottom ads in their own lists, totalResults and a count for each list, and aiOverview with Google's AI summary and the hostnames it cites, or null when there is none. It also reports proxyCountry and pagesFetched.
Do I need a Google API or account?
No. The /serpApi endpoint takes a keyword and returns Google results as normalized JSON, so there is no Google account or HTML parsing on your side. Send keyword with your ScrapeUnblocker key; a search Google has no results for returns 200 with an empty organic array rather than an error.
Can I scrape Google results from a specific country?
Yes. Pass proxy_country with a two-letter code from the published list, such as de or gb, and the search runs through an exit in that country, so you see what a searcher there sees. If you ask for a country without an exit, the call still succeeds and the response adds requestedCountry and a note.
How much does it cost to scrape Google Search?
On /serpApi each result page is billed as one request: a pages_to_check=3 call that returns three pages counts as 3 requests, and pagesFetched shows the exact number. 1 request = 1 credit, EUR 1.00 per 1,000 on pay as you go, down to about EUR 0.55 per 1,000 on the Ultimate plan. Blocks and timeouts are not billed.
Related scrapers
Start scraping this site today
Free tier included. No credit card required to test it.