How to Scrape Google Search Results (No-Code Tutorial)
Quick Answer
Apify’s Google Search Results Scraper extracts organic results, ads, featured snippets, People Also Ask, related searches, and other SERP blocks from Google. You do not need Google Custom Search JSON API quota. Billing is through Apify (pay per event / Actor pricing).
Google SERP data powers SEO tracking, competitor research, and content strategy. This guide walks through the no-code path: configure inputs in the Console, run the Actor, export structured data.
You will learn how to:
- Open the official Google SERP scraper on Apify.
- Target country, language, and result type.
- Interpret dataset fields and download results.
Why use an Apify Actor instead of raw scripts?
DIY Google scraping hits CAPTCHAs, IP blocks, and frequent HTML changes. The Store Actor bundles proxies, retries, and a maintained extractor so you spend time on analysis, not breakage. Developers can still orchestrate runs with the Apify API.
What you need
- An Apify account. The free plan includes monthly credits for small tests.
We use Google Search Results Scraper (apify/google-search-scraper), a widely used SERP Actor on the platform.
Step 1: Open the Actor
Go to the Actor page and click Try for free to open the run console.
Step 2: Configure the search
In the input form:
- Queries: e.g.
Hotels in Seattle(you can add multiple). - Country & language: e.g.
US+enfor US English. - Pagination:
maxPagesPerQuerycontrols how many result pages per query (often ~10 organic rows per page; exact layout varies). - Search type: Web, Images, News, Shopping, etc., depending on the schema.
Tutorial defaults:
- Queries:
Hotels in Seattle - maxPagesPerQuery:
1(raise when you need deeper pages)
Step 3: Start the run
Click Start. Logs show progress; when status is SUCCEEDED, open Output or Storage.
Step 4: Export SERP data
The run writes one dataset item per query/page (shape depends on input). Export JSON, CSV, or Excel from the Console, or call the Dataset API from code.
| Field | Description | Example |
|---|---|---|
| organicResults[].title | Title of the organic listing | Downtown Seattle Hotel | Luxury Waterfront Hotel |
| organicResults[].url | Destination URL | https://www.edgewaterhotel.com/ |
| organicResults[].description | Snippet / meta description text | Waterfront hotel with views of Elliott Bay... |
| organicResults[].position | 1-based rank on that SERP page | 1 |
| relatedQueries[].title | Related search suggestions | Best hotels in seattle |
| peopleAlsoAsk[].question | People Also Ask questions | What is the best area to stay in Seattle? |
| paidResults | Sponsored listings when present | [{ ... }] |
| aiModeResult.text | AI overview / AI Mode text when surfaced | You can find many hotel options in Seattle... |
Field names and nesting match the Actor version you run; treat this as a structural example.
{
"searchQuery": {
"term": "Hotels in Seattle",
"device": "DESKTOP",
"page": 1,
"type": "SEARCH",
"domain": "google.com",
"countryCode": "US"
},
"organicResults": [
{
"title": "Downtown Seattle Hotel | Luxury Waterfront Hotel Rooms",
"url": "https://www.edgewaterhotel.com/",
"description": "The Edgewater Hotel is laden with a rich musical past and surrounded by breathtaking views...",
"position": 1,
"type": "organic"
},
{
"title": "Top 10 Hotels in Seattle, WA",
"url": "https://www.hotels.com/de1481165/hotels-seattle-washington/",
"description": "Compare 2963 hotels in Seattle using 47993 real guest reviews.",
"position": 2,
"type": "organic"
}
],
"relatedQueries": [
{ "title": "Hotels in seattle downtown" },
{ "title": "Best hotels in seattle" },
{ "title": "Cheap hotels in seattle" }
],
"peopleAlsoAsk": [
{ "question": "What is the best area to stay in Seattle?" },
{ "question": "How many days do you need in Seattle?" }
],
"paidResults": [],
"aiModeResult": {
"text": "You can find many hotel options in Seattle, from high-end downtown hotels to budget-friendly hostels..."
}
}
Ways to use SERP exports
- Rank tracking: Store snapshots over time and chart visibility.
- SERP feature coverage: Measure PAA, snippets, and AI summaries for priority keywords.
- Competitive sets: See who owns the top blue links and ads for each query.
- Content ideas: Mine related queries and PAA for briefs.
Open Google Search Results Scraper on Apify and start with one query and maxPagesPerQuery: 1, then scale once the output shape matches your pipeline.
It returns structured SERP data: organic results, ads when shown, featured snippets and related blocks where available, People Also Ask, related searches, and AI overview-style text when Google surfaces it. Exact fields depend on the Actor version and query.
No. The Actor runs on Apify infrastructure and bills through Apify. You still must comply with applicable laws and Google’s terms; this is not legal advice.
Legality depends on jurisdiction, use case, and Google’s policies. Review local law and Google’s Terms; see our scraping legality guide for general framing.
Google rate-limits and changes layouts. Reduce concurrency, lower page depth, vary queries, and check the Actor README and log for CAPTCHA or proxy messages.
Pricing is pay-per-event on the Actor’s Pricing tab. Your subscription includes prepaid usage. Large keyword matrices consume more events, so estimate with a small test run first.
Yes, when Google shows those modules the Actor maps them into structured arrays in the dataset output.





