Google Search Scraper API
Structured and Geotargeted
Google SERP Data At Scale
Structured and Geotargeted Google SERP Data At Scale
Extract organic results, ads, knowledge graphs, local listings, and 10+ more result types from Google Search. Structured JSON responses with advanced localization.
Start scraping today with 1000 free credits. No Credit Card Required

240+ Countries, 150+ Languages
Target any country, language, and location with host language (150+), geo location (240+), country restrict (240+), language restrict (35), UULE encoding, and 84 regional domain parameters.
Get the exact search results your target audience sees, from New York to Tokyo, from Google.com to Google.co.jp, from desktop to mobile.
15+ Result Types Parsed to Clean JSON
Every SERP element is parsed into structured JSON: organic results, ads, knowledge graphs, local packs, video results, top stories, People Also Ask, and more.
Send a query, get structured data back. Anti-bot bypasses, retries, and proxy rotation are all handled on our end.
How It Works
Select a Target

Send API Request
import requests
import json
token = "<SDO-token>"
query = "pizza+new+york"
url = f"https://api.scrape.do/plugin/google/search?token={token}&q={query}"
response = requests.request("GET", url)
print(json.dumps(response.json(), indent=2))Get Structured JSON
{
"search_parameters": {
"q": "pizza new york",
"hl": "en",
"gl": "us",
"device": "desktop",
"start": 0,
"google_domain": "google.com"
},
"search_information": {
"page_title": "pizza new york - Google Search",
"query_displayed": "pizza new york",
"total_results": 349000000,
"time_taken_displayed": 0.52,
"organic_results_state": "Results for exact spelling"
},
"organic_results": [
{
"position": 1,
"title": "The Best Pizzerias of New York City",
"link": "https://ny.eater.com/maps/best-pizza-new-york-city-nyc-pizzerias",
"displayed_link": "https://ny.eater.com › maps › best-pizza-new-york-city-...",
"snippet": "Where to find the best pizza in New York at the best pizzerias in NYC serving the best pies and slices...",
"snippet_highlighted_words": ["best"],
"source": "Eater New York"
},
{
"position": 2,
"title": "Ny Pizza New York, NY - Last Updated February 2026",
"link": "https://www.yelp.com/search",
"displayed_link": "https://www.yelp.com › Restaurants",
"snippet": "Top 10 Best Ny Pizza in New York, NY - Yelp - NY Pizza Suprema, Juliana's, L'industrie Pizzeria...",
"snippet_highlighted_words": ["NY Pizza Suprema"],
"source": "yelp.com",
"rich_snippet": {
"bottom": {
"extensions": ["(41,361)"]
}
}
},
{
"position": 3,
"title": "NYC: Best Pizza",
"link": "https://www.the-carboholic.com/nyc-guides/nyc-best-pizza",
"displayed_link": "https://www.the-carboholic.com › nyc-guides › nyc-best-...",
"snippet": "Nov 23, 2025 — The best (and one of the only) I've found is from Emmett's...",
"snippet_highlighted_words": ["Emmett's"],
"source": "The Carboholic"
}
],
"related_searches": [
{ "query": "Pizza new york city", "link": "https://www.google.com/search?q=Pizza+new+york+city" },
{ "query": "Best pizza new york", "link": "https://www.google.com/search?q=Best+pizza+new+york" }
]
}
Scrape.do has been a game-changer with powerful scraping tools, but what truly sets them apart is their excellent customer support.

CTO
Average Response Time
No tickets connect with expert engineers.
Success rate
Proxies
Faster gateway than the closest competitor.
Reliable, Scalable,Unstoppable Web Scraping
Frequently Asked Questions
When you scrape Google directly, you deal with CAPTCHAs, IP bans, constantly changing HTML layouts, and proxy management. This API handles all of that for you and returns parsed JSON. You send a search query, you get back structured data with organic results, ads, local listings, and more. No browser automation or HTML parsing required on your end.
You get a JSON object with 15+ parsed sections: organic results (title, link, snippet, position), top and bottom ads, knowledge graph panels, local map pack with ratings and addresses, People Also Ask questions, video results, top stories, discussions, related searches, and pagination data. Each section is structured with consistent field names.
Yes. You can set the country with the gl parameter (240+ countries, e.g., gl=tr for Turkey), the language with hl (150+ languages, e.g., hl=tr for Turkish), and for city-level targeting you can pass a location parameter like location=Istanbul,Istanbul,Turkey. You can also pick from 84 Google domains like google.com.tr or google.co.uk. For strict filtering, use cr (country restrict) and lr (language restrict) to only get results from specific countries or in specific languages.
Yes. The hl parameter supports 150+ interface languages, and lr lets you strictly filter results to only pages written in one of 35 supported languages. For example, hl=de&lr=lang_de will give you the German Google interface with only German-language results. We support everything from major world languages to regional dialects.
Use the start parameter. Google shows about 10 results per page, so start=0 is page 1, start=10 is page 2, start=20 is page 3, and so on. The response includes a pagination object with links to the next page.
Yes. Set device=desktop or device=mobile to get results as they appear on each device type. Mobile and desktop SERPs can differ significantly in ranking and layout, so this is useful if you're tracking SEO performance across devices.
Check out the Google Search API documentation for the complete parameter list, full response schema with all field definitions, supported Google domains, and localization details.


