Google Search Results Scraper avatar

Google Search Results Scraper

Pricing

$19.99/month + usage

Go to Apify Store
Google Search Results Scraper

Google Search Results Scraper

Scrape Google search results in seconds πŸ”ŽπŸ“„ Extract titles, URLs, snippets, rankings, ads, and more from any keyword search. Perfect for SEO research, competitor analysis, rank tracking, and content planning. Turn live SERP data into actionable insights fast πŸš€πŸ“ˆ

Pricing

$19.99/month + usage

Rating

0.0

(0)

Developer

ScrapeBase

ScrapeBase

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

13 days ago

Last modified

Share

Google Search Results Scraper

The Google Search Results Scraper is a fast, reliable Google SERP scraper that extracts live search engine data into structured JSON β€” including organic listings, paid ads, shopping products, People Also Ask, related queries, and optional AI Overview. Built for marketers, developers, analysts, and researchers, this Google search results extractor helps you scrape Google search results at scale, power SEO research and rank tracking, and export Google search results to CSV/JSON with ease. With robust proxy handling and granular filters, it’s the SERP scraping tool for Google you can run online or automate via the Apify platform πŸš€

What data / output can you get?

Below are the main fields pushed to the Apify dataset for each query. You can view results online or export to JSON/CSV.

Data typeDescriptionExample value
searchQuery.termFinal query sent to Google (after filters are applied)"javascript intitle:"array methods""
searchQuery.urlFinal SERP URL"https://www.google.com/search?q=javascript+array+methods&hl=en&gl=us"
searchQuery.deviceDevice used"DESKTOP"
searchQuery.pagePage number in pagination1
searchQuery.typeQuery type"SEARCH"
searchQuery.domainGoogle domain"google.com"
searchQuery.countryCodeCountry code (GL)"US"
searchQuery.languageCodeInterface language (HL)"en"
searchQuery.locationUuleExact location (UULE), if provided"w+CAIQICISR2... (UULE)"
searchQuery.resultsPerPageCount of organic results collected so far10
urlThe SERP page URL for the item"https://www.google.com/search?q=..."
hasNextPageIndicates if a next page is available (per item)true
serpProviderCodeProvider marker"O"
resultsTotalβ€œAbout X results” parsed number124000000
relatedQueriesArray of suggested related searches[{ "title": "javascript array map", "url": "https://www.google.com/search?q=javascript+array+map&hl=en&gl=us" }]
paidResultsGoogle Ads detected on the page[{ "title": "Try XYZ Tools", "url": "https://example.com", "displayedUrl": "example.com", "type": "paid", "position": 1, ... }]
paidProductsShopping/product blocks detected[{ "title": "JavaScript Book", "displayedUrl": "store.example.com", "prices": ["$19.99"] }]
aiOverviewAI Overview text and references (when SerpApi key + AI Mode enabled){ "text": "Summary...", "references": [{ "title": "MDN Web Docs", "url": "https://developer.mozilla.org/..." }] }
organicResultsOrganic results with metadata[{ "title": "MDN Array", "url": "https://developer.mozilla.org/...", "displayedUrl": "developer.mozilla.org", "description": "...", "type": "organic", "position": 1, ... }]
suggestedResultsSuggested result shortcuts derived from top titles[{ "title": "Array methods", "url": "https://www.google.com/search?q=array+methods&hl=en&gl=us", "type": "organic", "position": 1 }]
peopleAlsoAskβ€œPeople also ask” questions with optional URLs[{ "question": "What are array methods?", "title": "What are array methods?", "url": "https://example.com", "answer": null, "date": null }]
customDataEcho of enabled add-ons and settings{ "perplexitySearch": { "enablePerplexity": false, ... }, "chatGptSearch": { "enableChatGpt": false }, "maximumLeadsEnrichmentRecords": 0, "leadsEnrichmentDepartments": [] }
htmlSnapshotUrlKey to the saved HTML in key-value store (if enabled)"javascript_20260402_104512_p1.html"
htmlRaw HTML of the SERP (if enabled)"..."

Bonus: organicResults may include an icon field (Base64-encoded image or favicon URL) when includeIcons is enabled. Results can be downloaded from the Apify dataset in JSON or CSV formats, making it a practical Google search results scraper online and a great option for β€œGoogle search results to CSV” workflows.

Key features

  • βš™οΈ Robust proxy fallback for reliability
    Always-on proxies with automatic fallback: starts with a Google SERP proxy and, if blocked, switches to residential proxies (with up to 3 retries) and then sticks to residential for the remainder. Ideal to scrape Google results with proxies at scale.

  • πŸ”Ž Advanced search filters
    Force exact matches, restrict by site or related site, filter words in title/text/URL, add file types, and set quick or absolute/relative date ranges. Fine-tune your Google search data extraction for precision.

  • 🌍 Location & language targeting
    Configure country (GL), interface language (HL), optional search language (LR), and exact location via Google UULE for hyper-local SERP testing β€” perfect for a Google search ranking scraper.

  • 🧠 AI & add-ons (optional)

    • Google AI Mode (AI Overviews) via SerpApi key
    • Perplexity AI search settings echo (enable, recency, images, related questions)
    • ChatGPT search setting echo (enable)
      These fields are captured in customData so you can analyze cross-engine narratives.
  • πŸ“± Mobile/desktop, unfiltered results, and icons
    Switch to mobile results, include otherwise filtered-out results, save HTML snapshots, and optionally include icon image data for results.

  • πŸ“¦ Real-time streaming to dataset
    The actor pushes data page-by-page with hasNextPage, so you can process SERPs incrementally β€” a fast, practical Google search scraping tool for pipelines.

  • πŸ§ͺ Developer-friendly (Python on Apify)
    Built in Python and runs on Apify infrastructure. Integrate the dataset with your stack via the Apify API or schedule runs for automated pipelines (e.g., Zapier, Make, n8n, LangChain). Ideal if you’re looking for a Google search results scraper Python-friendly setup.

  • πŸ“€ Easy exports
    View results in the Apify UI and export to JSON/CSV for downstream analysis, BI dashboards, or SEO workflows β€” a clean Google search results parser without extra manual steps.

How to use Google Search Results Scraper - step by step

  1. Sign in to Apify
    Create or log in to your Apify account.

  2. Open the actor
    Find β€œGoogle Search Results Scraper” in the Apify Store and open the actor page.

  3. Add input data
    Paste search queries into the Search term(s) field (one per line). You can also paste full Google search URLs β€” the actor will resolve them.

  4. Configure result volume
    Set Results per page (1–100) and Max pages per search (each page β‰ˆ 10 organic results). Use includeUnfilteredResults if you want more comprehensive pages.

  5. Target location and language
    Set Country (GL), Interface Language (HL), optional Search language (LR), and Exact location (UULE) for local testing.

  6. Set advanced filters (optional)
    Apply forceExactMatch, site/relatedToSite, wordsInTitle/wordsInText/wordsInUrl, fileTypes, and date filters (quickDateRange or Before/After date).

  7. Add-ons (optional)
    Enable Google AI Mode (requires SerpApi key), and/or configure Perplexity or ChatGPT search echoes. Turn on paid ads focus to enhance ad detection.

  8. Start the run
    Click Start. The actor will scrape page by page and stream items into the dataset. Watch the logs for proxy switching and page progress.

  9. Download your data
    Go to the Output tab to preview and export results to JSON/CSV. Use the dataset API for automation.

Pro Tip: Use Apify’s scheduling and webhooks to trigger downstream workflows (e.g., send β€œGoogle search results to CSV” to your data warehouse or feed into your SEO dashboards).

Use cases

Use caseDescription
SEO rank trackingCollect organic and paid placements per keyword and location for ongoing monitoring.
Competitor & keyword researchExtract SERPs to identify content gaps and keyword opportunities at scale.
Paid search intelligenceEnable paid ads focus and capture ad placements/products alongside organic trends.
Content planningAnalyze People Also Ask and related queries to inform topic ideation and briefs.
Local SEO testingUse country, language, and UULE to simulate local SERPs for geo-targeted strategies.
Data enrichment pipelines (API)Stream SERPs into your ETL via the Apify API for analytics or LLM retrieval.
Academic & market researchGather unbiased β€œGoogle search data extraction” samples for studies and reports.

Why choose Google Search Results Scraper?

Precision, automation, and scalable reliability β€” without brittle browser extensions.

  • 🎯 Accurate SERP parsing
    Structured fields for organicResults, paidResults, paidProducts, peopleAlsoAsk, relatedQueries, and AI Overview (when configured).

  • 🌐 Multilingual & geo-targeted
    Control GL/HL/LR parameters and UULE for precise international and local testing.

  • πŸ“ˆ Built for scale & batches
    Process multiple queries with pagination and streaming results for faster end-to-end workflows.

  • πŸ‘©β€πŸ’» Developer access & Python-friendly
    Runs on Apify with a dataset API that fits neatly into Python/JS workflows and automation stacks.

  • πŸ”’ Ethical and configurable
    Collects publicly available Google SERPs only. You can save HTML snapshots for QA and auditing.

  • πŸ’Έ Production-ready infrastructure
    Automatic Google SERP proxy with residential fallback ensures high success rates for β€œscrape Google search results” jobs.

Bottom line: a dependable SERP scraping tool for Google that outperforms ad-hoc scripts and unstable extensions.

Yes β€” when used responsibly. This actor collects data from publicly available Google Search results pages.

  • Only scrape public SERP pages.
  • Be aware of Google’s Terms of Service and robots.txt.
  • Comply with applicable data protection laws (e.g., GDPR, CCPA).
  • Do not misuse or misrepresent data; avoid personal data collection unless you have a legitimate basis.
  • Consult your legal team for edge cases or jurisdiction-specific questions.

Input parameters & output format

Example JSON input

{
"queries": "javascript\nsite:developer.mozilla.org array methods",
"resultsPerPage": 10,
"maxPagesPerQuery": 2,
"countryCode": "us",
"languageCode": "en",
"searchLanguage": "en",
"forceExactMatch": false,
"includeUnfilteredResults": false,
"mobileResults": false,
"quickDateRange": "m1",
"saveHtmlToKeyValueStore": true,
"includeIcons": false,
"aiMode": "aiModeOff",
"perplexitySearch": {
"enablePerplexity": false,
"searchRecency": "",
"returnImages": false,
"returnRelatedQuestions": false
},
"chatGptSearch": {
"enableChatGpt": false
},
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["GOOGLE_SERP"]
}
}

Input parameters

FieldTypeDescriptionDefaultRequired
queriesstring (textarea)One search term or Google Search URL per line. Advanced operators supported; keep queries ≀ 32 words.β€”Yes
resultsPerPageintegerDesired results per page (Google may return fewer). Passed as num param.100No
maxPagesPerQueryintegerMax pages to scrape per query (~10 organic results per page).1No
aiModestring (select)Google AI Mode for AI Overviews and analysis."aiModeOff"No
serpApiKeystring (secret)Optional. When set and AI Mode is not off, fetches AI Overview via SerpApi.nullNo
perplexitySearchobjectEcho config for Perplexity AI (cross-platform analysis).see belowNo
perplexitySearch.enablePerplexitybooleanFetch AI answer using Perplexity Sonar model.falseNo
perplexitySearch.searchRecencystring (select)Time range for Perplexity results.""No
perplexitySearch.returnImagesbooleanInclude images in Perplexity response.falseNo
perplexitySearch.returnRelatedQuestionsbooleanInclude related questions in Perplexity response.falseNo
chatGptSearchobjectEcho setting for ChatGPT search (cross-platform analysis).see belowNo
chatGptSearch.enableChatGptbooleanFetch AI answer using OpenAI’s search model.falseNo
maximumLeadsEnrichmentRecordsintegerMax leads to enrich per domain (if enabled).0No
leadsEnrichmentDepartmentsarray (select)Optional department filters for leads enrichment.[]No
focusOnPaidAdsbooleanEnhance paid ads detection with specialized proxy retries.falseNo
countryCodestring (select)Country for search (sets domain and GL)."us"No
searchLanguagestring (select)Restrict results to pages in a specific language (LR).nullNo
languageCodestring (select)Interface language (HL)."en"No
locationUulestringExact location code (UULE).nullNo
forceExactMatchbooleanWrap query in quotes for exact match.falseNo
sitestringLimit search to a site (site:example.com).nullNo
relatedToSitestringFilter pages related to a site (related:example.com).nullNo
wordsInTitlearray (stringList)Words required in page title (intitle:).[]No
wordsInTextarray (stringList)Words required in page text (intext:).[]No
wordsInUrlarray (stringList)Words required in URL (inurl:).[]No
quickDateRangestringQuick date filter (e.g., d10, w1, m1, y1).nullNo
beforeDatestring (absolute/relative)Filter before date (YYYY-MM-DD or β€œ8 days”, β€œ3 months”).nullNo
afterDatestring (absolute/relative)Filter after date (YYYY-MM-DD or β€œ8 days”, β€œ3 months”).nullNo
fileTypesarray (select)Filter specific file types (filetype:).[]No
mobileResultsbooleanReturn mobile SERPs instead of desktop.falseNo
includeUnfilteredResultsbooleanInclude results Google might normally filter out.falseNo
saveHtmlbooleanSave SERP HTML to dataset under html.falseNo
saveHtmlToKeyValueStorebooleanSave SERP HTML to key-value store and link under htmlSnapshotUrl.trueNo
includeIconsbooleanInclude Base64/icon URLs for results when found.falseNo
proxyConfigurationobject (proxy)Always-on proxies. Defaults to GOOGLE_SERP group and falls back to RESIDENTIAL on blocks (3 retries, then stick).prefill providedNo

Example JSON output (single dataset item)

{
"searchQuery": {
"term": "javascript array methods",
"url": "https://www.google.com/search?q=javascript+array+methods&hl=en&gl=us",
"device": "DESKTOP",
"page": 1,
"type": "SEARCH",
"domain": "google.com",
"countryCode": "US",
"languageCode": "en",
"locationUule": null,
"resultsPerPage": 10
},
"searchQueryTerm": "javascript array methods",
"url": "https://www.google.com/search?q=javascript+array+methods&hl=en&gl=us",
"hasNextPage": false,
"serpProviderCode": "O",
"resultsTotal": 124000000,
"relatedQueries": [
{
"title": "javascript array map",
"url": "https://www.google.com/search?q=javascript+array+map&hl=en&gl=us"
}
],
"paidResults": [
{
"title": "Try JS Tools",
"url": "https://example.com",
"displayedUrl": "example.com",
"description": "",
"emphasizedKeywords": ["javascript array methods"],
"siteLinks": [],
"productInfo": {},
"type": "paid",
"position": 1
}
],
"paidProducts": [
{
"title": "JavaScript Handbook",
"displayedUrl": "shop.example.com",
"prices": ["$19.99"]
}
],
"aiOverview": null,
"organicResults": [
{
"title": "Array - JavaScript | MDN",
"url": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array",
"displayedUrl": "developer.mozilla.org",
"description": "The Array object in JavaScript is a global object used in the construction of arrays...",
"emphasizedKeywords": ["javascript array methods"],
"siteLinks": [],
"productInfo": {},
"type": "organic",
"position": 1
}
],
"suggestedResults": [
{
"title": "Array methods",
"url": "https://www.google.com/search?q=Array+methods&hl=en&gl=us",
"type": "organic",
"position": 1
}
],
"peopleAlsoAsk": [
{
"answer": null,
"question": "What is an array method in JavaScript?",
"title": "What is an array method in JavaScript?",
"url": "https://example.com/array-methods",
"date": null
}
],
"customData": {
"perplexitySearch": {
"enablePerplexity": false,
"searchRecency": null,
"returnImages": false,
"returnRelatedQuestions": false
},
"chatGptSearch": {
"enableChatGpt": false
},
"maximumLeadsEnrichmentRecords": 0,
"leadsEnrichmentDepartments": []
},
"htmlSnapshotUrl": "javascript_20260402_104512_p1.html"
}

Notes:

  • aiOverview appears only if aiMode is enabled and a valid serpApiKey is provided.
  • html contains the raw HTML only when saveHtml is true.
  • Icons may appear under organicResults/paidResults/suggestedResults when includeIcons is true.
  • Each item reflects the current page and hasNextPage flag, enabling incremental processing.

FAQ

Is there a free trial or fixed pricing?

Yes. This actor is listed with a flat monthly price and includes a trial period (see the Pricing tab on Apify for current details). You can run test jobs before committing to full-scale automation.

Do I need to bring my own proxies?

No. Proxies are built in. By default, the actor uses a Google SERP proxy and, if blocked, automatically falls back to residential proxies (with up to 3 retries) and continues with residential for the rest of the run.

Can it scrape AI Overviews?

Yes. Enable aiMode and provide a serpApiKey to fetch Google AI Overview content via SerpApi. The aiOverview field will include text and references when available.

Can I run it as a Google search results scraper online without writing code?

Yes. Run it directly in the Apify web UI: paste queries, configure settings, start the run, and download results. It’s a fully hosted Google search scraping tool.

Does it support Python or APIs?

Yes. Results are stored in an Apify dataset, which you can access via the Apify API in any language (including Python). This makes it easy to integrate with pipelines and a Google SERP API alternative for structured output.

How many results per query can I get?

Google typically returns ~10 organic results per page. Use maxPagesPerQuery to paginate (e.g., 10 pages β‰ˆ ~100 results per query). Set resultsPerPage to request more, but Google may still limit the first page.

Can I export Google search results to CSV?

Yes. Open the dataset Output tab to export to JSON or CSV. You can also pull data programmatically via the dataset API.

Yes β€” for public SERP pages and when used responsibly. Ensure you comply with Google’s Terms of Service and applicable data protection laws. Avoid scraping personal data unless you have a lawful basis.

Closing CTA / Final thoughts

Google Search Results Scraper is built for fast, structured SERP collection with reliable proxy handling and rich output fields. Whether you’re an SEO, analyst, or developer, it simplifies β€œGoogle search data extraction” for rank tracking, competitive research, and content planning.

Run it online to get started in minutes, export β€œGoogle search results to CSV/JSON,” and wire it into your analytics stack via the Apify API. Developers can schedule runs and automate workflows end-to-end β€” start extracting smarter SERP insights today.