Google Search Scraper
Pricing
from $4.19 / 1,000 per serp page fetcheds
Google Search Scraper
Uncover valuable insights! This Google Search Scraper extracts organic & paid results, ads, queries, "People Also Ask," prices, and reviews – like a SERP API: export data (JSON, CSV, Excel) & schedule scrapes.
Pricing
from $4.19 / 1,000 per serp page fetcheds
Rating
5.0
(1)
Developer
Emmanuel Uchenna
Maintained by CommunityActor stats
2
Bookmarked
5
Total users
0
Monthly active users
19 hours ago
Last modified
Categories
Share
Extract structured data from Google Search results pages (SERPs) at scale. Get organic results, AI Overviews, Knowledge Graphs, Local Maps packs, Jobs, Events, People Also Ask, and Related Searches — all in a single API call, with transparent pay-per-event pricing.
What data can you extract?
| Result type | Description |
|---|---|
| Organic results | Title, URL, snippet, sitelinks, rating, date |
| AI Overview | Google AI-generated summary + reference links (add-on) |
| Knowledge Graph | Entity panel: facts, ratings, website, phone, address (add-on) |
| Local Results | Maps pack: business name, address, rating, phone, hours |
| Jobs | Google Jobs listings: title, company, salary, schedule |
| Events | Google Events: title, date, venue, address |
| People Also Ask | Questions with AI-generated answers |
| Related Searches | Suggested follow-up queries |
Why use this scraper?
- No proxy setup — Apify handles all anti-bot measures automatically
- Rich data — 8 result types in every call, no separate scrapers needed
- Transparent pricing — pay only for pages you actually scrape
- Bulk-friendly — scrape multiple queries in parallel (up to 20 concurrent)
- Localisable — specify country, language, device, and GPS coordinates
- Batch + Standby — use as a scheduled job or an always-on HTTP API
Quick start
- Create a free Apify account
- Open Google Search Scraper in Apify Store
- Enter your search queries (one per line)
- Click Start and wait for results
- Download in JSON, CSV, or Excel
Input
Minimal input
{"queries": ["hotels in New York", "best coffee shops London"]}
Full input example
{"queries": ["apify python sdk", "site:github.com web scraper"],"max_pages_per_query": 3,"gl": "us","hl": "en","device": "desktop","location": "New York, United States","safe": "blur","time_period": "last_month","include_ai_overview": true,"include_knowledge_graph": true,"include_jobs": true,"include_events": true,"include_local_results": true,"include_related_questions": true,"include_related_searches": true,"max_concurrency": 5}
Input reference
| Field | Type | Default | Description |
|---|---|---|---|
queries | string[] | required | List of search queries. Supports Google operators (site:, intitle:, inurl:, etc.) |
max_pages_per_query | integer | 1 | Pages per query (1–10). Each page ≈ 10 organic results and counts as 1 billable event |
gl | string | "us" | Country code (us, gb, de, fr, au, …) |
hl | string | "en" | Interface language (en, de, fr, es, ja, …) |
lr | string | null | Language restriction: lang_en, lang_en|lang_de |
location | string | null | Geographic location for hyper-local results, e.g. "New York, United States" |
device | string | "desktop" | desktop, mobile, or tablet |
safe | string | "blur" | SafeSearch: active, blur, or off |
time_period | string | null | last_hour, last_day, last_week, last_month, last_year |
time_period_min | string | null | Custom date range start: MM/DD/YYYY |
time_period_max | string | null | Custom date range end: MM/DD/YYYY |
nfpr | boolean | false | Disable auto spelling correction |
verbatim | boolean | false | Exact keyword matching (stricter than nfpr) |
include_ai_overview | boolean | true | Extract AI Overview when present (add-on charge) |
include_knowledge_graph | boolean | true | Extract Knowledge Graph panel (add-on charge) |
include_jobs | boolean | true | Extract job listings |
include_events | boolean | true | Extract event listings |
include_local_results | boolean | true | Extract local business results (maps pack) |
include_related_questions | boolean | true | Extract People Also Ask |
include_related_searches | boolean | true | Extract related search suggestions |
max_concurrency | integer | 5 | Parallel requests (1–20) |
Output
One dataset item per SERP page scraped. Example (truncated):
{"searchQuery": {"term": "hotels in New York","url": "https://www.google.com/search?q=hotels+in+New+York","device": "desktop","page": 1,"gl": "us","hl": "en"},"searchInformation": {"queryDisplayed": "hotels in New York","totalResults": 1240000000,"timeTakenDisplayed": "0.52 seconds"},"organicResults": [{"position": 1,"title": "New York Hotels | Official NYC Tourism Website","url": "https://www.nycgo.com/hotels","displayedUrl": "nycgo.com › hotels","description": "Find the best hotels in New York City...","siteLinks": [],"rating": null,"reviews": null,"type": "organic"}],"aiOverview": {"text": "New York City has over 700 hotels ranging from budget...","markdown": "New York City has over **700 hotels** ranging from budget...","referenceLinks": [{ "title": "NYC Tourism", "link": "https://nycgo.com", "source": "nycgo.com" }]},"knowledgeGraph": null,"relatedQuestions": [{"question": "What is the best area to stay in New York?","answer": "Midtown Manhattan is the most popular area...","link": "https://example.com/guide"}],"relatedSearches": [{ "query": "cheap hotels new york" },{ "query": "hotels near central park nyc" }],"localResults": [],"jobs": [],"events": [],"scrapedAt": "2026-10-03T09:00:00Z","page": 1,"error": null,"status": "ok"}
Dataset views
The Organic Results view spreads each result into its own row — ideal for CSV export. The Local Results and Jobs views work the same way.
Standby mode (HTTP API)
The Actor also runs in Standby mode as a persistent HTTP API endpoint:
GET https://eunit--google-search-scraper.apify.actor/search?q=hotels+in+NYC&gl=us&hl=en
Optional query parameters:
| Param | Default | Description |
|---|---|---|
q | required | Search query |
gl | us | Country code |
hl | en | Language |
device | desktop | desktop, mobile, tablet |
safe | blur | SafeSearch level |
page | 1 | Result page number |
include_ai_overview | true | true or false |
include_knowledge_graph | true | true or false |
include_jobs | true | true or false |
include_events | true | true or false |
include_local_results | true | true or false |
include_related_questions | true | true or false |
include_related_searches | true | true or false |
API & integrations
Python
from apify_client import ApifyClientclient = ApifyClient("YOUR_APIFY_TOKEN")run_input = {"queries": ["python web scraping", "apify actors"],"max_pages_per_query": 2,"gl": "us","include_ai_overview": True,}run = client.actor("YOUR_ACTOR_ID").call(run_input=run_input)for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item["searchQuery"]["term"], "—", len(item["organicResults"]), "results")
Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });const run = await client.actor('YOUR_ACTOR_ID').call({queries: ['python web scraping'],maxPagesPerQuery: 2,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
REST API
curl -X POST \"https://api.apify.com/v2/acts/YOUR_ACTOR_ID/runs?token=YOUR_APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"queries": ["python web scraping"], "gl": "us"}'
FAQ
How fresh is the data? Results are fetched live from Google at the time of the run. There is no caching.
How many results per page?
Google returns approximately 10 organic results per page. Set max_pages_per_query: 10 to get ~100 results per query.
Can I use Google search operators?
Yes. Queries like site:github.com python, intitle:"web scraping", and "exact phrase" all work.
Why is the free tier limited to 10 pages? The Actor absorbs the SearchApi.io API cost on your behalf. Without a limit, free users could consume unlimited credits at no cost to them. Paid Apify plan users have no such restriction.
Can I run this on a schedule? Yes — use Apify Schedules to run it automatically at any interval.
What export formats are available? JSON, CSV, Excel (XLSX), XML, and HTML via the Apify dataset export. Select the Organic Results view for one result per CSV row.
Is it legal to scrape Google? Scraping publicly visible Google search result pages is widely practiced. Always comply with your jurisdiction's laws, Google's Terms of Service, and applicable data protection regulations. Do not store personal data unless you have a legal basis.
Use cases
- SEO monitoring — track keyword rankings over time for your domain
- Competitor research — see what pages rank for your target keywords
- Content gap analysis — find topics where competitors outrank you
- Lead generation — extract local business data from the maps pack
- Jobs intelligence — monitor job postings in your industry
- Event discovery — find upcoming events for market research
- AI Overview tracking — monitor how Google AI summarises topics in your niche
- Knowledge panel auditing — verify entity data in Google's Knowledge Graph
- SERP feature detection — detect which result types appear for key queries
Related Actors
Expand your data collection capabilities with these other powerful Apify Actors developed by the same author:
- Tiktok Trends Scraper: TikTok Trends Scraper extracts real-time trending data directly from the TikTok Creative Center, giving marketers, content creators, and researchers structured, actionable intelligence on what's going viral — without needing a TikTok API key.
- Google Indexer: Automatically submit URLs to the Google Indexing API to request crawling or removal.
- Twitter (X) Trends Scraper: Scrape real-time trends from Twitter/X for any country or city.
- Instagram Video Downloader: Download public Instagram Reels, video posts, and IGTV links with this Apify Actor. Extract direct video URLs, metadata, thumbnails, and optional stored files for automation, backups, and content workflows.
Support & Feedback
We are always working on improving the performance of our Actors. So if you’ve got any technical feedback for the Google Search Scraper Actor or simply found a bug, please create an issue on the Actor’s Issues tab in Apify Console.