Skip to main content

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).

Time~3 min
CostPay per event
DifficultyBeginner
OutputCSV / Excel / JSON

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

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.

In the input form:

  1. Queries: e.g. Hotels in Seattle (you can add multiple).
  2. Country & language: e.g. US + en for US English.
  3. Pagination: maxPagesPerQuery controls how many result pages per query (often ~10 organic rows per page; exact layout varies).
  4. 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

Apify Affiliate Banner 300x250Apify Affiliate Banner 300x250Apify Affiliate Banner 300x50Apify Affiliate Banner 300x50

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.

Output Data Fields
FieldDescriptionExample
organicResults[].titleTitle of the organic listingDowntown Seattle Hotel | Luxury Waterfront Hotel
organicResults[].urlDestination URLhttps://www.edgewaterhotel.com/
organicResults[].descriptionSnippet / meta description textWaterfront hotel with views of Elliott Bay...
organicResults[].position1-based rank on that SERP page1
relatedQueries[].titleRelated search suggestionsBest hotels in seattle
peopleAlsoAsk[].questionPeople Also Ask questionsWhat is the best area to stay in Seattle?
paidResultsSponsored listings when present[{ ... }]
aiModeResult.textAI overview / AI Mode text when surfacedYou can find many hotel options in Seattle...
Sample output (illustrative)

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.
Run the Google SERP Scraper

Open Google Search Results Scraper on Apify and start with one query and maxPagesPerQuery: 1, then scale once the output shape matches your pipeline.

Frequently Asked Questions

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.

Apify Affiliate Banner 728x90Apify Affiliate Banner 728x90Apify Affiliate Banner 300x50Apify Affiliate Banner 300x50