Google Search Results Serp Scraper avatar

Google Search Results Serp Scraper

Pricing

$19.99/month + usage

Go to Apify Store
Google Search Results Serp Scraper

Google Search Results Serp Scraper

🔎 Google Search Results SERP Scraper extracts titles, URLs, snippets, organic results, ads, PAA, featured snippets, local pack & positions. 🌍 Geo, language & device targeting. 📦 JSON/CSV export for SEO, competitor research, rank tracking & content strategy. ⚡ Fast & reliable.

Pricing

$19.99/month + usage

Rating

0.0

(0)

Developer

ScraperForge

ScraperForge

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

3 days ago

Last modified

Share

Google Search Results Serp Scraper

Google Search Results Serp Scraper is a fast, reliable Google SERP scraper that extracts structured search results at scale — including organic results, paid ads, product listings, People Also Ask, related queries, and optional AI overview — in standardized JSON. Built for marketers, developers, data analysts, and researchers, this Google search results scraper helps you automate SEO monitoring, keyword research, and data pipelines with geo/language targeting and page-by-page streaming. With a SERP-style schema and localization controls, it enables accurate Google SERP data extraction at scale via the Apify platform and API.

What data / output can you get?

Below are representative fields this Google SERP scraping tool returns for each dataset item. You can export results in JSON or CSV from the Apify dataset.

Data typeDescriptionExample value
searchQuery.termFull query sent to Google, including any built terms (e.g., quotes, operators)"nike shoes"
searchQuery.countryCodeCountry/locale used for results (GL)"US"
searchQuery.languageCodeGoogle UI language (HL)"en"
urlFinal SERP URL for the request"https://www.google.com/search?q=nike+shoes&hl=en&gl=us"
resultsTotalParsed “About X results” count (if available)123000000
organicResults[].titleOrganic result title"Nike. Just Do It. Nike.com"
organicResults[].urlOrganic result URL"https://www.nike.com/"
organicResults[].displayedUrlDisplay URL (domain without protocol)"www.nike.com"
organicResults[].descriptionOrganic snippet text"Discover shoes & gear on Nike.com..."
organicResults[].positionOrganic position (1-based)1
paidResults[].titlePaid ad title (if present)"Official Nike® Store"
paidResults[].urlAd URL (cleaned)"https://www.nike.com/"
paidProducts[].pricesDetected price strings from shopping blocks/cards["$129.99", "$99.00"]
peopleAlsoAsk[].questionExtracted People Also Ask question"Are Nike shoes good for running?"
relatedQueries[].titleSuggested related query text"adidas vs nike running shoes"
aiOverview.textSummarized AI overview text (if available)"Nike offers a range of running shoes..."
suggestedResults[].titleSuggested results derived from organic titles"Nike. Just Do It. Nike.com"
customData.perplexitySearch.enablePerplexityMirror of configured add-on statefalse
htmlSnapshotUrlKey of saved HTML snapshot in Key-Value Store (if enabled)"nike_20260327_104501_p1.html"

Notes:

  • Each dataset item aggregates structured SERP data for the current page, and the actor can also add an extra “merged” row per keyword when enabled (page = "all").
  • HTML snapshot content can also be included under "html" when saving is enabled.

Key features

  • 🔒 Automatic SERP proxy resilience Uses Apify’s Google SERP proxy by default and automatically escalates to residential if Google shows block pages. Retries and persistent fallback keep long runs stable.

  • 📦 Bulk queries & full Google Search URLs Paste multiple search keywords or full Google search URLs (one per line) into the input. The actor resolves “q” parameters from SERP URLs automatically.

  • 📊 Standardized SERP JSON schema Outputs a clean, SERP-style JSON with searchQuery metadata, organicResults, paidResults, paidProducts, peopleAlsoAsk, relatedQueries, suggestedResults, and optional aiOverview.

  • 🌍 Precise geo & language targeting Control Google’s GL (country), HL (UI language), LR (content language restriction), and CR (country restriction). Also set a proxy region via proxy_location.

  • ⏱️ Pagination controls Use limit to choose total results to target, page to fetch only a specific page, and start to offset the first result index. Great for rank checks and position deltas.

  • ⚡ Real-time dataset streaming Results are pushed to the Apify dataset after each page is parsed so you can monitor progress, build pipelines, or integrate downstream systems without waiting for the entire run.

  • 🧪 Developer-friendly via Apify API Trigger runs, monitor logs, and fetch datasets programmatically from any stack. Works smoothly with Python or Node.js pipelines and low-code tools.

  • 🧾 Export-ready data Export datasets to JSON or CSV for SEO dashboards, BI tools, or analytics workflows.

How to use Google Search Results Serp Scraper - step by step

  1. Sign in to your Apify account and open the Google Search Results Serp Scraper actor.
  2. In the Input form, paste your queries into keyword — enter one full search query per line. You can also paste full Google Search URLs (one per line).
  3. Set limit to control how many results/pages to fetch. Use "all" to capture as many pages as possible (up to a safe internal cap).
  4. Optionally set start (Google start offset) or page to fetch a single page number (1 = first page).
  5. Configure localization: choose country or override GL, set HL (Google UI language), and optionally set LR (content language restriction) or CR (country restriction). If needed, set proxy_location to "us" or "ca".
  6. Click Start to run. The actor will handle proxy routing automatically and will stream pages into the dataset as they’re parsed.
  7. Open the Dataset tab to preview results and export to JSON or CSV.

Pro Tip: Use the Apify API to launch runs and pull datasets into your Python or Node.js workflows for automation, rank tracking, and report generation.

Use cases

Use case nameDescription
SEO rank trackingCollect organicResults with position fields to track keyword rankings over time and across locales.
Competitor analysisAggregate paidResults and organicResults to see who captures ad slots and top organic placements for target queries.
Content strategyAnalyze peopleAlsoAsk and relatedQueries to identify questions and topics for new content.
PPC intelligenceCapture paidResults and paidProducts to audit ad creatives, landing pages, and price signals.
Market researchLocalize via GL/HL/LR/CR and export structured SERP snapshots for regional comparisons.
Data pipelines (API)Trigger runs and fetch datasets via the Apify API to power dashboards and BI integrations.
Academic studiesUse repeatable SERP collection with standardized JSON for reproducible research and methodology.

Why choose Google Search Results Serp Scraper?

This Google SERP parser focuses on reliability and structured accuracy at scale, without the fragility of browser extensions.

  • 🎯 Precision SERP JSON: Clean, standardized fields for organic, ads, products, PAA, and related queries.
  • 🌐 Localization controls: GL, HL, LR, and CR for country, interface language, and content language restriction.
  • 📈 Built for scale: Bulk inputs (one per line) and resilient proxy handling for large batches.
  • 🧰 Developer access: Integrate via the Apify API with Python or Node.js; automate exports and downstream processing.
  • 🛡️ Platform reliability: Uses Apify’s Google SERP proxy with automatic fallback to residential when blocks are detected.
  • 💸 Cost-effective automation: Export-ready datasets (JSON/CSV) reduce post-processing overhead.

In short: a production-ready Google SERP scraping tool that transforms search pages into dependable, structured data.

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

Guidelines for compliant use:

  • Only scrape publicly available SERP pages and respect Google’s terms and applicable laws.
  • Avoid collecting or using personal data in ways that may violate privacy regulations (e.g., GDPR, CCPA).
  • Use reasonable run sizes and respect automated access norms.
  • Consult your legal team for edge cases or regulated workflows.

Input parameters & output format

Example JSON input

{
"keyword": "nike shoes\nrunning shoes site:nike.com",
"include_merged": true,
"limit": "all",
"start": 0,
"page": 1,
"country": "US",
"gl": "US",
"hl": "en",
"tbs": "",
"lr": "lang_en",
"cr": "countryUS",
"proxy_location": "us"
}

Input fields

  • keyword (string, required) — Enter one full search query per line. Default: "nike".
  • include_merged (boolean, optional) — If enabled, the dataset will include one extra row per keyword that merges results from all pages (page = "all"). Default: true.
  • limit (string, optional) — Each page returns up to 10 results. Use "all" to fetch as many pages as possible (up to a safe limit). Default: "all". Enum: ["10","20","30","40","50","100","all"].
  • start (integer, optional) — Optional offset for the first result index (Google start parameter). Default: none.
  • page (integer, optional) — If set, fetch only this page number (1 = first page, 2 = second page, …). Default: none.
  • country (string, optional) — Main country selector; sets GL and default proxy location. Uses ISO 3166 A‑2 codes. Default: none.
  • gl (string, optional) — Override the local country for results (Google gl). Default: none.
  • hl (string, optional) — Google Search interface language (menus, buttons). Default: none.
  • tbs (string, optional) — Advanced time filter, e.g., "qdr:d" (past day) or "cdr:1,cd_min:MM/DD/YYYY,cd_max:MM/DD/YYYY". Default: none.
  • lr (string, optional) — Restrict results by content language (Google lr), e.g., "lang_en". Default: none.
  • cr (string, optional) — Restrict results by country of origin (Google cr), e.g., "countryUS". Default: none.
  • proxy_location (string, optional) — Force the proxy region. Options: "us", "ca". Default: none.

Example JSON output item

{
"searchQuery": {
"term": "nike shoes",
"url": "https://www.google.com/search?q=nike+shoes&hl=en&gl=us",
"device": "DESKTOP",
"page": 1,
"type": "SEARCH",
"domain": "google.com",
"countryCode": "US",
"languageCode": "en",
"locationUule": null,
"resultsPerPage": 10
},
"searchQueryTerm": "nike shoes",
"url": "https://www.google.com/search?q=nike+shoes&hl=en&gl=us",
"hasNextPage": true,
"serpProviderCode": "O",
"resultsTotal": 123000000,
"relatedQueries": [
{
"title": "adidas vs nike running shoes",
"url": "https://www.google.com/search?q=adidas+vs+nike+running+shoes&hl=en&gl=us"
}
],
"paidResults": [
{
"title": "Official Nike® Store",
"url": "https://www.nike.com/",
"displayedUrl": "www.nike.com",
"description": "",
"emphasizedKeywords": ["nike shoes"],
"siteLinks": [],
"productInfo": {},
"type": "paid",
"position": 1
}
],
"paidProducts": [
{
"title": "Nike Air Zoom Pegasus",
"displayedUrl": "store.example.com",
"prices": ["$129.99"]
}
],
"aiOverview": {
"text": "Nike offers a range of running shoes with cushioning and support options...",
"references": [
{ "title": "Nike Running Shoes", "url": "https://www.nike.com/running" }
]
},
"organicResults": [
{
"title": "Nike. Just Do It. Nike.com",
"url": "https://www.nike.com/",
"displayedUrl": "www.nike.com",
"description": "Discover shoes & gear on Nike.com...",
"emphasizedKeywords": ["nike shoes"],
"siteLinks": [],
"productInfo": {},
"type": "organic",
"position": 1
}
],
"suggestedResults": [
{
"title": "Nike. Just Do It. Nike.com",
"url": "https://www.google.com/search?q=Nike.+Just+Do+It.+Nike.com&hl=en&gl=us",
"type": "organic",
"position": 1
}
],
"peopleAlsoAsk": [
{
"answer": null,
"question": "Are Nike shoes good for running?",
"title": "Are Nike shoes good for running?",
"url": "https://www.example.com/article",
"date": null
}
],
"customData": {
"perplexitySearch": {
"enablePerplexity": false,
"searchRecency": null,
"returnImages": false,
"returnRelatedQuestions": false
},
"chatGptSearch": {
"enableChatGpt": false
},
"maximumLeadsEnrichmentRecords": 0,
"leadsEnrichmentDepartments": []
},
"htmlSnapshotUrl": null
}

Notes:

  • aiOverview may be null if not available.
  • peopleAlsoAsk.answer and .date are null by design; .url may be null if no direct link is present.
  • htmlSnapshotUrl is populated when HTML saving is enabled; an "html" field may also be present when configured.

FAQ

Is there a free trial or testing period?

Yes. The actor includes trial minutes (e.g., 120 minutes in the current listing) so you can evaluate performance before subscribing. You can also run small jobs on the Apify platform and export sample datasets.

Do I need to configure a proxy?

No. The actor initializes Apify’s Google SERP proxy automatically and falls back to residential if Google shows block pages. You can optionally set proxy_location to "us" or "ca" to guide regional routing.

Can I paste full Google search URLs instead of keywords?

Yes. Enter one per line in keyword. The actor will extract the q parameter when present or use the URL as-is.

How many results can I collect per keyword?

Set limit to a numeric target like "50" or "100", or use "all" to fetch as many pages as possible up to a safe internal cap. Each page typically yields up to ~10 organic results.

What data types are covered?

You’ll get organicResults (with position), paidResults (ads), paidProducts (pricing snippets), peopleAlsoAsk, relatedQueries, suggestedResults, and optional aiOverview text and references when available, plus searchQuery metadata.

Does it support geo and language targeting?

Yes. Use country or gl to localize results, hl for the Google UI language, and optionally lr and cr for content language and country restrictions.

Can I export results for analysis?

Yes. Open the dataset and export to JSON or CSV. You can then load the data into spreadsheets, BI tools, or your own pipelines.

Can I integrate this with Python or Node.js?

Yes. Use the Apify API to start runs and download datasets programmatically. This makes it easy to build a Google SERP scraping API workflow in Python or Node.js without changing the actor.

Closing CTA / Final thoughts

Google Search Results Serp Scraper is built to turn Google search pages into structured, analysis-ready data. With resilient proxy handling, localization controls, and a standardized SERP JSON, it’s ideal for SEO monitoring, competitor research, and automated reporting. Marketers, developers, analysts, and researchers can trigger runs via the Apify API, export datasets to JSON/CSV, and plug results into their tooling. Start extracting smarter Google SERP insights at scale — reliably and efficiently.