ParseForge Scrapers

Google Search Results Scraper

parseforge/google-search-scraper

SEO toolsAILead generation

Scrape Google Search results for a list of queries. Returns organic and paid results, plus optional SERP features like People Also Ask, related searches, and rich snippets in a flat row.

Run this scraper See the API call
Total users
35
Monthly active
10
Total runs
313
Bookmarked
0
Rating
Not rated yet
Last modified
12 days ago

Overview

ParseForge

Google Search Results Scraper

Scrape Google Search results for any query, up to a million per run. Every result comes with its title, URL, description, and rank, plus optional People Also Ask questions, related searches, and rich snippets. Export to CSV, JSON, Excel, or XML.

Google's official Search API is expensive, quota-limited, and doesn't return the full SERP as a user sees it. This Actor reads the public search results pages directly, so you get organic listings, paid ads, and all the SERP features like knowledge panels and local packs in one flat dataset. No API key or browser setup required.

Who uses it What they scrape Google Search for
SEO specialists Track keyword rankings and SERP feature presence for a target domain.
Content marketers Analyze top-ranking pages for a topic to understand what Google rewards.
Market researchers Monitor competitor ad copy and organic positioning for a set of industry terms.
Data journalists Collect search results across regions to compare how a story is surfaced.

What it does

This Actor collects Google Search results for a list of queries and returns each result as a structured row, with optional SERP features like People Also Ask and rich snippets.

  • ๐Ÿ” Multi-engine support: Choose Google, Bing, or DuckDuckGo as the backend, with Google using full browser automation for accurate rendering.
  • ๐ŸŒ Localized results: Set country and language codes to see the SERP as a user in that market would.
  • ๐Ÿ“„ Deep pagination: Fetch up to 20 pages per query to go beyond the first ten blue links.
  • ๐Ÿงฉ Full SERP features: Toggle on People Also Ask, related searches, rich snippets, knowledge panels, local packs, and widgets.

Results export to CSV, JSON, Excel, or XML, or straight from the API.

What you can do with Google Search data

๐Ÿ“ˆ Track keyword rankings over time.

An SEO manager runs a weekly scrape for 500 target queries with country set to 'us' and checks which URLs moved up or down in the organic results.

๐Ÿง  Analyze People Also Ask for content ideas.

A content strategist scrapes PAA questions for a head term, groups them by topic, and builds an FAQ page that answers the exact questions Google is surfacing.

๐Ÿ•ต๏ธ Monitor competitor paid search ads.

A performance marketer scrapes high-commercial-intent queries with rich snippets enabled and logs every competitor ad headline, description, and display URL that appears.

๐ŸŒ Compare SERPs across countries.

A market researcher runs the same query against ten different country codes and compares the local pack, knowledge panel, and organic results to understand regional differences.

Why choose this scraper

What you get
No API key needed Access public search results without registering a Google Cloud project or managing API credits.
Fixed flat schema Every result, whether organic, paid, or a SERP feature, lands in a predictable row structure for easy analysis.
Multi-engine fallback When Google rate-limits, switch to Bing or DuckDuckGo from the same input to keep data flowing.
Localization built in One country code and language code pair gives you the exact SERP a local user sees.

How it compares

This Actor focuses on web search SERPs, while the other listed scrapers target Google Maps business data or are a different build of a search scraper.

Feature ParseForge Google Maps Scraper Google Maps Extractor Google Search Results Scraper
Scrapes web search results (organic and paid) Yes Not listed Not listed Yes
Extracts People Also Ask questions Yes Not listed Not listed Yes
Extracts Google Maps business listings Not listed Yes Yes Not listed
Multi-engine support (Bing, DuckDuckGo) Yes Not listed Not listed Not listed
Localized results by country and language code Yes Yes Yes Yes

Configure the run

Drive the Actor with a list of search queries, and control the depth with results per page, max pages, and a total item cap. SERP feature toggles let you include or exclude extra data blocks as each page is read. The Input tab lists every parameter.

A first run with the defaults:

{
  "queries": [
    "best web scraping tools",
    "apify tutorial"
  ],
  "engine": "bing",
  "countryCode": "us",
  "languageCode": "en",
  "resultsPerPage": 10,
  "maxPagesPerQuery": 1,
  "maxItems": 10
}

A larger pull:

{
  "queries": [
    "best web scraping tools",
    "apify tutorial"
  ],
  "engine": "bing",
  "countryCode": "us",
  "languageCode": "en",
  "resultsPerPage": 10,
  "maxPagesPerQuery": 1,
  "maxItems": 200
}

Pricing

Pay-per-result: $0.018 per result collected. You pay only for the results written to your dataset.

Results collected Approximate cost
100 results $1.80
1,000 results $18.00
10,000 results $180.00

New Apify accounts start with $5 in free credit.

Free users

Free-plan runs return up to 10 results as a preview. Upgrade your Apify plan to collect up to 1,000,000 results per run.

Run it

  1. Create a free Apify account with $5 in credit.
  2. Open the Google Search Results Scraper.
  3. Set your inputs and any filters, then click Start.
  4. Export the results as CSV, Excel, JSON, or XML from the Dataset tab.

Run it programmatically through the Apify API (run-sync-get-dataset-items) or the ApifyClient for JavaScript and Python.

Use with AI agents (MCP)

Give an AI agent live access to Google Search through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:

claude mcp add --transport http apify "https://mcp.apify.com?tools=parseforge/google-search-scraper"

Then prompt it in plain language to run the scraper and read back the results.

Troubleshooting

Why am I getting no results for my query?

First, check that your query is spelled correctly and isn't overly specific. Try the same query in a regular browser. If it returns results there, switch the engine to 'bing' or 'duckduckgo' to rule out a Google rate-limit or block. Also, ensure maxPagesPerQuery is at least 1 and resultsPerPage is not set to 0.

Why does the Actor return fewer results than I requested?

Google may return fewer results than your maxItems setting if the query doesn't have enough pages. The Actor stops when Google shows no more results. Try a broader query or increase maxPagesPerQuery to fetch deeper pages.

I'm getting CAPTCHAs or empty pages when using the Google engine.

Google aggressively rate-limits automated access. Switch the engine to 'bing' for more reliable scraping, or reduce your concurrency and increase the delay between requests. Using residential proxies can also help.

Why are my localized results not matching the country I set?

Ensure you are using a valid ISO 3166-1 alpha-2 country code like 'us' or 'de'. Some country and language combinations may not be supported by the search engine. Try setting only the countryCode and leaving languageCode blank to see if the engine defaults correctly.

The People Also Ask questions are not appearing in my output.

Confirm that includePaa is set to true in your input. Note that not every query triggers a PAA box. Try a broad, question-based query like 'how to fix a leaky faucet' to test if the feature is working.

FAQ

Question Answer
Does this Actor use the official Google Search API? No, it reads the public HTML search results pages directly. This means you don't need a Google Cloud account or an API key, and you get the full SERP as a user sees it, including ads and all SERP features.
How many search results can I scrape in one run? You can set the maximum results up to 1,000,000 per run. The Actor will stop when it hits that number or when it runs out of pages for your queries.
Can I scrape Google Search results from a specific country? Yes, set the countryCode field to any ISO 3166-1 alpha-2 code, like 'gb' for the United Kingdom or 'de' for Germany. Combine it with a languageCode for fully localized SERPs.
What are rich snippets and why would I include them? Rich snippets are enhanced results like featured snippets, video carousels, image packs, and top stories. Include them to see all the non-standard results Google shows for a query, which is critical for full SERP analysis.
Does this Actor handle Google's rate limiting? Google Search is rate-limited and may show CAPTCHAs. The Actor uses browser automation for Google and includes built-in delays. For high-volume, reliable scraping, consider using the Bing or DuckDuckGo engine options which are less restrictive.
Can I scrape both organic and paid results? Yes, the Actor returns both organic listings and paid ads in the same dataset, with a field to distinguish them, so you can analyze them side by side.
What is the People Also Ask feature? People Also Ask boxes are the expandable question-and-answer sections that appear on many Google SERPs. When you enable includePaa, each question and its snippet are returned as separate rows.
How do I get related search suggestions? Set includeRelated to true. The Actor will extract the related searches Google shows at the bottom of the results page and return each suggestion as a row.
Can I run this Actor on a schedule? Yes, you can set up a recurring schedule in Apify to run the Actor daily, weekly, or at any custom interval, which is ideal for rank tracking.
What output formats are supported? You can export your results to CSV, JSON, Excel, or XML directly from the Apify dataset, or access them via the API.

Related actors

Browse the full ParseForge collection for more scrapers.

๐Ÿ†˜ Need help? Email parseforge@protonmail.com with your run ID, your input, and what you expected.

โš ๏ธ Disclaimer. This Actor is unofficial and is not affiliated with, endorsed by, or sponsored by Google LLC. It collects only publicly available data. You are responsible for using the collected data in compliance with the source's terms of service and applicable data-protection laws, including GDPR, CCPA, and PIPL. Do not use it to collect personal data unlawfully.

Input

FieldTypeWhat it doesDefault
queries required array Search queries. One result set per query. ["best web scraping tools","apify tutori
engine string (3 options) Which engine to use. Bing is most reliable; Google requires browser automation and is rate-limited. bing
countryCode string ISO 3166-1 alpha-2 country code. us
languageCode string ISO 639-1 language code. en
resultsPerPage integer Number of results returned per page 10
maxPagesPerQuery integer Maximum pages to fetch per query 1
maxItems integer How many search results to collect per run. 10
includePaa boolean Include People Also Ask questions (billed per PAA item). true
includeRelated boolean Include related search suggestions (billed per related item). true
includeRichSnippets boolean Include featured snippets, videos, image packs, top stories, discussions (billed per rich snippet). true
includeKnowledgePanel boolean Include Google knowledge panel entries (billed per panel). true
includeLocalPack boolean Include local business results (billed per local pack item). true
includeWidgets boolean Include stock, weather, translate widgets (billed per widget). true

Pricing

from $8.00 per 1,000 results

Charged forWhat it isPrice each
Result item Standard Google organic search result. $0.008 to $0.012
PAA People Also Ask item. Opt-in via includePaa. $0.003 to $0.0045
Related Related search item. Opt-in via includeRelated. $0.003 to $0.0045
Rich snippet Featured snippet, video, image pack, top story, or discussions. Opt-in via includeRichSnippets. $0.005 to $0.0075
Knowledge panel Google knowledge panel. Opt-in via includeKnowledgePanel. $0.012 to $0.018
Local pack Local business result. Opt-in via includeLocalPack. $0.01 to $0.015
Widget Stock, weather, or translate widget. Opt-in via includeWidgets. $0.005 to $0.0075

Tiered: the lower figure is the price on a higher Apify plan. Billing and the free credit live on Apify.

API

One POST returns the dataset directly. Same shape for every scraper in the library, so swapping the slug is the only change.

POST ยท run and get results
curl -X POST "https://api.apify.com/v2/acts/parseforge~google-search-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "helloWorld": 123
  }'

Examples

Input that runs as-is.

input.json
{
  "helloWorld": 123
}

Reviews

No reviews yet. Be the first.

Issues

We build and maintain this scraper, so a problem with it comes to us. Report it on the Apify listing and the thread stays attached to the scraper where the next person can find it: open an issue.

Broken and urgent, or you would rather not post in public? Write to parseforge@protonmail.com and it reaches the people who wrote it.

Related scrapers

Run Google Search Results Scraper on Apify All scrapers