SERP API — Google Search, AI Overviews & Bulk Scraper avatar

SERP API — Google Search, AI Overviews & Bulk Scraper

Pricing

from $8.00 / 1,000 search results

Go to Apify Store
SERP API — Google Search, AI Overviews & Bulk Scraper

SERP API — Google Search, AI Overviews & Bulk Scraper

Scrape Google SERPs at scale — organic results, AI Overviews, Knowledge Graph, Answer Box, videos & People Also Ask. Bulk up to 100 queries per call for rank tracking and keyword research. Clean JSON, pay per query.

Pricing

from $8.00 / 1,000 search results

Rating

0.0

(0)

Developer

SIÁN OÜ

SIÁN OÜ

Maintained by Community

Actor stats

1

Bookmarked

2

Total users

1

Monthly active users

an hour ago

Last modified

Share

SERP API — Google Search, AI Overviews & Bulk Scraper 🔍

SIÁN Agency Store Store-Trustpilot Reviews Store-Smart Idealista Store-Instagram AI Transcript

🎉 Scrape Google SERPs at scale — organic results, AI Overviews, Knowledge Graph & People Also Ask, plus bulk 100 queries in a single call

Built for SEO teams, rank trackers, GEO/AEO analysts, market researchers and AI/RAG engineers who need clean, structured Google search data on a schedule — no API key, no proxies, no browser farm

📋 Overview

One actor, every part of the Google results page. Most SERP scrapers on the Store return a flat list of organic links. Modern search is more than ten blue links — it's AI Overviews, Knowledge Graphs, answer boxes, "People Also Ask", top stories, videos and ads. This actor wraps a fast, reliable Real-Time Web Search backend and gives you all of it as clean JSON. Type a query, click Run, get structured rows back. No Google API key, no SerpAPI subscription, no proxy rotation.

It bundles 6 search modes behind a single dropdown: Google Search (organic + AI Overviews flag), Full SERP (the whole page — Knowledge Graph, answer box, videos, PAA blocks, related searches), Fast Light Search (lowest latency), Bulk Search (up to 100 queries in one run, charged per query), AI Mode (Google's generative answer), and People Also Ask (questions + full answers + source attribution). Pick one mode per run, get one tidy dataset out.

Why SEO and data teams choose us:

  • The whole SERP, not just links: organic results, AI Overviews, Knowledge Graph, answer box, top stories, inline videos, ads, places and related searches — structured, in one run
  • 📚 Bulk 100 queries per call: submit a whole keyword list in a single run, charged one credit per query — built for rank tracking and keyword-research sweeps
  • 🤖 GEO-ready: capture AI Overviews and the reference links Google cites, so you can monitor Generative Engine Optimization (GEO/AEO) as AI answers reshape search
  • People Also Ask with answers: pull PAA questions, full answers and source URLs — map content gaps and build FAQ schema fast
  • 💰 Pay per query: transparent per-query pricing; failed lookups land as status:"error" rows at $0 — you're never billed for a hiccup
  • No API key, zero setup: no Google Cloud project, no SerpAPI key, no proxy config — paste an input and run

✨ Features

  • 🔍 Google Search: organic results with title, URL, snippet, domain, position and rank, plus a hasAiOverviews flag and total result count
  • 🧩 Full SERP mode: the entire results page — Knowledge Graph, answer box, AI Overviews, top stories, inline videos, ads, places, discussions and related searches as structured blocks
  • Fast Light Search: organic-only results optimized for the lowest possible latency — ideal for RAG and real-time apps
  • 📚 Bulk Search: up to 100 queries in one request, each charged a single credit — track ranks for an entire keyword list per run
  • 🤖 Google AI Mode: Google's generative AI Mode answer plus the reference links it cites (when available from Google)
  • People Also Ask: the PAA questions with full answers and source attribution (URL, domain, title)
  • 🌍 Localization: country (gl), language (hl), specific location, device profile and Google tbs time filters
  • 🔁 Built-in retries: transient upstream hiccups (429/502/503/504) are retried automatically with backoff
  • 📊 HTML run report: every run writes a summary report (success/error counts, queries charged, duration) to the key-value store
  • 🧹 Clean camelCase JSON: curated field names, absolute HTTPS URLs, no messy nested raw dumps

🎯 Operations

Pick one operation per run from the operation dropdown:

OperationWhat it returnsRequired input
🔍 Google Search (search)Organic results + AI Overviews flag + total countquery
🧩 Full SERP (searchFull)Whole page: organic + Knowledge Graph + answer box + videos + PAA + ads + relatedquery
Fast Light Search (searchLight)Fast organic-only resultsquery
📚 Bulk Search (bulkSearch)Organic results for up to 100 queries, charged per queryqueries (array)
🤖 AI Mode (aiMode)Google's generative answer + reference linksprompt
People Also Ask (peopleAlsoAsk)PAA questions + answers + source attributionquery

💡 Tip: Use Bulk Search to track ranks for a whole keyword list in one run, then drill into a single query with Full SERP to capture its rich features.

Which mode should I pick?

  • Just need the ranking links?Fast Light Search (cheapest, fastest) or Google Search (adds the AI Overviews flag + total count).
  • Need the rich SERP features (Knowledge Graph, answer box, videos, ads, related searches)? → Full SERP.
  • Tracking many keywords at once?Bulk Search — one run, up to 100 queries, charged per query.
  • Researching questions / content gaps?People Also Ask.
  • Monitoring Google's generative answers?AI Mode (and fetchAiOverviews on the search modes).

🚀 Quick Start

  1. Open the actor and select an Operation from the dropdown.
  2. Fill the required input for that mode:
    • For Google Search / Full SERP / Fast Light / People Also Ask → a query
    • For Bulk Search → a list of queries (use Bulk edit to paste one per line)
    • For AI Mode → a prompt
  3. (Optional) Set country, language, num (result count), location, and toggle fetchAiOverviews.
  4. Click Start and collect clean rows from the dataset.
{
"operation": "bulkSearch",
"queries": [
"best web scraping tools",
"google serp api",
"ai overview scraper",
"rank tracking software"
],
"num": 10,
"country": "us"
}

Example — capture AI Overviews + Knowledge Graph (Full SERP)

{
"operation": "searchFull",
"query": "what is generative engine optimization",
"fetchAiOverviews": true,
"num": 10,
"country": "us"
}

Example — content research (People Also Ask)

{
"operation": "peopleAlsoAsk",
"query": "web scraping",
"fetchAnswers": true,
"country": "us"
}

📥 Input Reference

FieldTypeApplies toDescription
operationenumallsearch · searchFull · searchLight · bulkSearch · aiMode · peopleAlsoAsk
querystringsearch, searchFull, searchLight, peopleAlsoAskThe search query
queriesarraybulkSearchUp to 100 queries, one credit each
promptstringaiModeNatural-language prompt for AI Mode
countrystringallISO country code (gl), default us
languagestringallISO language code (hl), default en
numintegersearch modesNumber of organic results per query
startintegersearch, searchFullResult offset for pagination
locationstringsearch, searchFull, peopleAlsoAskSpecific geographic location
deviceenumsearchdesktop · mobile · tablet
tbsstringsearch, searchFullGoogle tbs time/advanced filter (e.g. qdr:w)
fetchAiOverviewsbooleansearch, searchFullRequest Google's AI Overview block
fetchAnswersbooleanpeopleAlsoAskReturn full answer text (default on)
sessionTokenstringaiModeContinue an AI Mode conversation

📤 Output

Every row is a flat JSON object with curated camelCase fields. Filter by _operation and _resultType to split modes.

Organic result row (search / searchFull / searchLight / bulkSearch):

{
"_operation": "search",
"_resultType": "organic",
"resultTitle": "Apify: Full-stack web scraping and data extraction platform",
"url": "https://apify.com/",
"snippet": "Cloud platform for web scraping, browser automation, AI agents...",
"domain": "apify.com",
"position": 1,
"rank": 1,
"hasAiOverviews": true,
"totalOrganicResults": 84000000,
"country": "us",
"status": "success"
}

SERP features row (searchFull — one per call): holds knowledgeGraph, answerBox, aiOverviews, topStories, inlineVideos, places, relatedSearches, ads.

People Also Ask row:

{
"_operation": "peopleAlsoAsk",
"_resultType": "people_also_ask",
"question": "What does Apify do?",
"answer": "Apify is a cloud platform for web scraping, browser automation...",
"sourceUrl": "https://apify.com/",
"sourceDomain": "apify.com",
"position": 1,
"status": "success"
}

An HTML run report is written to the default key-value store as report.html.

Full field reference

Common metadata on every row:

FieldTypeDescription
_operationstringThe operation that produced the row (search, searchFull, …)
_resultTypestringorganic · serp_features · people_also_ask · ai_mode · empty
_sourceQuery / _sourcePromptstringThe query or prompt that produced the row
_fetchedAtstringISO timestamp when the row was fetched
countrystringThe gl country used
statusstringsuccess or error
errorMessagestringPresent only on error rows

Organic-result fields (_resultType: "organic"):

FieldTypeDescription
resultTitlestringThe result title
urlstringThe destination URL (absolute HTTPS)
snippetstringThe result snippet
domainstringThe result's domain
displayedLinkstringThe breadcrumb-style displayed link
sourcestringThe source label, when present
position / ranknumberThe position on the SERP
datestringPublished date, when present
snippetHighlightedWordsarrayWords Google bolded in the snippet
videoThumbnailstringThumbnail URL for video results
totalOrganicResultsnumberTotal result count Google reports
hasAiOverviewsbooleanWhether an AI Overview was present

SERP-features fields (_resultType: "serp_features", Full SERP only):

FieldTypeDescription
knowledgeGraphobjectkgTitle, kgType, kgmid, kgDescription, kgAttributes
answerBoxobjectanswerType, answerText
aiOverviewsobjectGoogle's AI Overview text_parts + reference_links
adsarrayPaid results
topStoriesarrayTop stories carousel
inlineVideosarrayInline video results
placesarrayLocal pack / places
discussionsAndForumsarrayDiscussions & forums block
relatedSearchesarrayRelated searches

AI-Mode fields (_resultType: "ai_mode"):

FieldTypeDescription
aiAnswerstringThe stitched plain-text generative answer
replyPartsarrayThe structured answer parts
referenceLinksarrayThe sources Google cited
sessionTokenstringToken to continue the conversation

People-Also-Ask fields (_resultType: "people_also_ask"):

FieldTypeDescription
questionstringThe PAA question
answerstringThe full answer (when fetchAnswers is on)
sourceUrl / sourceDomain / sourceTitlestringSource attribution
positionnumberThe question's order

💰 Pricing

This actor uses pay-per-event pricing — you pay for what you extract, with a small flat fee per run.

EventWhat it covers
Actor StartCharged once per run when input validation passes
Search ResultCharged per query for Google Search, Fast Light, and each query in Bulk Search
Full SERP ResultCharged per result for the heavy Full SERP mode
People Also Ask ResultCharged per People-Also-Ask call
  • Bulk Search is charged per query, not per result — submit 100 queries, pay for 100 queries, get every result.
  • Failed lookups are saved as status:"error" rows and are never charged.
  • See the actor's Pricing tab for live per-tier rates.

🌍 Localization & Advanced Options

Every search mode supports Google's localization parameters:

  • country (gl) — localize results to a country: us, gb, de, ca, in, br, fr, jp, …
  • language (hl) — set the UI language: en, es, de, pt, …
  • location — search as if from a specific place: New York, NY, London, United Kingdom.
  • devicedesktop (default), mobile or tablet (Google Search mode).
  • tbs — Google's advanced/time filter: qdr:d (past day), qdr:w (past week), qdr:m (past month).
  • num / start — control how many results and the offset for pagination.

These make it easy to run the same keyword across many markets — loop the actor over a list of countries to build a per-market rank table.

💡 Use Cases

  • SERP rank tracking at scale — submit a keyword list via Bulk Search and capture organic positions, domains and snippets for each, country by country, on a schedule. Feed the rows into a dashboard to watch movement over time.
  • GEO & AI Overview monitoring — capture Google's AI Overviews and the sources it cites to track Generative Engine Optimization (GEO/AEO) as AI answers reshape search. Know when Google starts (or stops) showing an AI Overview for your target queries, and which domains it surfaces.
  • Keyword & People-Also-Ask research — pull PAA questions with answers and source attribution to map content gaps, build FAQ schema, and discover the real questions searchers ask around a topic.
  • Brand & market SERP intelligence — use Full SERP to extract the entire result page — organic, ads, top stories, videos, places and Knowledge Graph — for brand monitoring, share-of-voice and competitive analysis without running a browser farm.
  • Search data for LLMs & RAG pipelines — feed clean, structured Google results and AI Overviews into LLM apps, RAG pipelines and AI agents. Fast Light mode keeps latency low for real-time retrieval; Bulk Search batches large query sets.

🆚 Why this actor

This actorTypical single-purpose SERP scraper
Organic results
AI Overviews❌ usually
Knowledge Graph + answer box
People Also Ask + answers
Bulk 100 queries / call
Google AI Mode(when available)
No API key / proxy setupvaries
Pay per queryvaries

❓ FAQ

Do I need a Google API key or a SerpAPI subscription? No. The actor handles the backend, proxies and parsing. Paste an input and run.

How many queries can I run at once? Up to 100 queries in a single Bulk Search run, each charged one credit. For single queries, use the Google Search, Full SERP, or Fast Light modes.

Do I always get AI Overviews? AI Overviews are generated by Google and only appear for certain (usually informational) queries — enable fetchAiOverviews and check the hasAiOverviews flag and aiOverviews field on the row. When Google shows an AI Overview for your query, it's captured.

What's the difference between Full SERP and Google Search? Google Search returns organic results plus an AI Overviews flag. Full SERP returns the entire results page — Knowledge Graph, answer box, top stories, inline videos, ads, places, discussions and related searches — as structured blocks.

Which mode is fastest? Fast Light Search returns organic-only results with the lowest latency, ideal for real-time and RAG use.

Am I charged for empty or failed queries? Failed lookups are saved as status:"error" rows and are not charged. In Bulk Search, each submitted query consumes one credit (this maps to the upstream cost), even if a particular query returns no results.

Can I localize results? Yes — set country (gl), language (hl), a specific location, device, and Google tbs time filters.

Can I run this on a schedule? Yes. Use Apify's Schedules to run any operation at a fixed interval — ideal for daily rank tracking or AI-Overview monitoring. Each run appends to a fresh dataset you can export or pipe to a webhook.

How do I export the data? From the run's Dataset tab, export to JSON, CSV, Excel, or pull it via the Apify API. Integrations include Google Sheets, Make, Zapier and direct webhooks.

What happens to error rows? Rows with status: "error" carry a friendly errorMessage and are not charged. Filter them out with _resultType / status when processing.

🧭 Tips for Best Results

  • Use Bulk Search for keyword lists. It's the cheapest way to track many queries — one credit each, all results returned.
  • Enable fetchAiOverviews for informational queries. AI Overviews appear most for "what is…", "how to…", "benefits of…" style queries; check hasAiOverviews on the row.
  • Pick the lightest mode that has what you need. Fast Light < Google Search < Full SERP in both cost and latency.
  • Localize deliberately. A query ranks differently per country and language — set gl and hl to match the market you care about.
  • Schedule it. Rank tracking and GEO monitoring are time-series problems — run daily and diff the datasets.

🔌 Integrations

The output dataset works with the full Apify ecosystem:

  • Export to JSON, CSV, Excel, XML or RSS from the Dataset tab.
  • API — pull results programmatically via the Apify API or client libraries (JS, Python).
  • No-code — connect to Make, Zapier, n8n and Google Sheets.
  • Webhooks — trigger downstream pipelines when a run finishes.
  • Schedules — automate recurring rank tracking and GEO monitoring.

🔗 More by SIÁN Agency

Love this actor? Leave a 5-star review — it helps us build more features for you.

📨 Support

Questions, bugs or feature requests? Use the Issues tab in the Apify Console, or reach us at apify@sian-agency.online. We build these tools together with the community.

⚠️ Trademark Disclaimer

This actor is an independent tool and is not affiliated with, endorsed by, or sponsored by Google LLC. "Google", "Google Search", "AI Overviews", "Knowledge Graph" and related marks are trademarks of Google LLC. This actor accesses publicly available Google search results data through a third-party real-time search backend and does not use any official Google API. All product names, logos and brands are property of their respective owners and are used for identification purposes only.

This actor extracts publicly available search results data. You are responsible for using the output in compliance with applicable laws and the terms of the sources involved, including data-protection regulations such as GDPR and CCPA. Do not use the data to identify, profile or target individuals unlawfully. For guidance on ethical and legal web scraping, see Apify's guide to web scraping legality.


Published by SIÁN Agency (SIÁN OÜ, Tallinn, Estonia). Building reliable, transparent data tools on Apify.