Google Search Results Scraper — Cheaper SERP API avatar

Google Search Results Scraper — Cheaper SERP API

Pricing

from $1.00 / 1,000 actor starts

Go to Apify Store
Google Search Results Scraper — Cheaper SERP API

Google Search Results Scraper — Cheaper SERP API

Scrape Google Search result pages by query or URL. Extract organic results, related searches, People Also Ask, best-effort ads, and HTML snapshots. Slightly cheaper pay-per-event pricing than Apify's Google Search Results Scraper.

Pricing

from $1.00 / 1,000 actor starts

Rating

0.0

(0)

Developer

Arnas

Arnas

Maintained by Community

Actor stats

0

Bookmarked

39

Total users

11

Monthly active users

2 days ago

Last modified

Share

Scrape Google Search result pages by keyword or by a pasted Google Search URL. The actor returns one dataset record per SERP page with organic results, related queries, People Also Ask, best-effort paid ads/product ads, result counts, pagination metadata, and optional raw HTML snapshots.

It is designed as a cheaper, simpler alternative to apify/google-search-scraper for the common SEO and market research workflow: "give me Google SERP pages and the links on them." AI search add-ons and lead enrichment are intentionally out of scope so the per-page price can stay lower and predictable.

Why use this actor

  • A little cheaper — $4.20 per 1,000 scraped SERP pages before Apify subscription discounts, compared with Apify's current $4.50 per 1,000 Free-plan page price.
  • No paid-ads add-on fee — best-effort ad extraction is included in the page event price.
  • Google URL or keyword input — paste raw search terms or full google.com/search?... URLs.
  • Advanced search filters — country, interface language, result language, exact-match, site/related filters, title/text/URL words, file types, and date filters.
  • Debuggable output — optionally save raw HTML in the dataset or key-value store for parser inspection.
  • Compatible page-level shape — one dataset item per SERP page with searchQuery, organicResults, paidResults, paidProducts, relatedQueries, and peopleAlsoAsk.

Pricing

This actor uses Apify Pay-Per-Event pricing.

EventPrice
Actor start$0.001 per run
Scraped SERP page$0.0042 per successful Google results page

Examples before subscription discounts:

WorkloadCost
10 SERP pages$0.043
1,000 SERP pages$4.201
10,000 SERP pages$42.001

Failed or blocked pages emit an error record but are not charged as scraped SERP pages.

Input

{
"queries": "best SEO tools\nsite:apify.com google search scraper",
"maxPagesPerQuery": 2,
"resultsPerPage": 10,
"countryCode": "us",
"languageCode": "en",
"mobileResults": false,
"maxConcurrency": 5,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"]
}
}

queries accepts one item per line. Each item can be either a normal Google query or a full Google Search URL such as:

https://www.google.com/search?q=hotels+in+Seattle&num=10

Proxies

If you omit proxyConfiguration, the actor uses Apify RESIDENTIAL proxies (in the country given by countryCode), falling back to GOOGLE_SERP if residential proxies are not available on the account. Residential is the recommended setup: pages are small (~60–80 KB), fast (1–3 s) and every blocked request is retried on a fresh IP.

GOOGLE_SERP is still supported. It is slower (often 5–60 s per page), and its result links are opaque Google redirects that the actor resolves with extra requests.

Pages that are not real results pages (Google homepage, consent screen, CAPTCHA, "enable JavaScript" interstitial, or results that ignore part of the query) are retried and, if they still fail, emitted as uncharged error records.

Output

Each dataset item represents one SERP page:

{
"searchQuery": {
"term": "best SEO tools",
"url": "http://www.google.com/search?q=best+SEO+tools&num=10&start=0&hl=en&gl=us&pws=0",
"device": "DESKTOP",
"page": 1,
"type": "SEARCH",
"domain": "google.com",
"countryCode": "US",
"languageCode": "en",
"locationUule": null,
"resultsPerPage": 10
},
"url": "http://www.google.com/search?q=best+SEO+tools&num=10&start=0&hl=en&gl=us&pws=0",
"hasNextPage": true,
"serpProviderCode": "google.com",
"resultsTotal": "About 1,230,000 results",
"organicResults": [
{
"title": "Example result",
"url": "https://example.com/",
"displayedUrl": "example.com",
"description": "Result snippet from Google.",
"emphasizedKeywords": ["SEO tools"],
"siteLinks": [],
"productInfo": {},
"type": "organic",
"position": 1
}
],
"paidResults": [],
"paidProducts": [],
"relatedQueries": [],
"peopleAlsoAsk": [],
"suggestedResults": [],
"customData": null,
"aiOverview": "not-found",
"#error": false
}

If Google returns a block page or a request fails after retries, the actor emits a page-level error record with #error: true and debug details. Error records are not charged as scraped pages.

Notes and limitations

Google changes SERP markup frequently. This actor uses static HTML parsing for speed and price: with residential or custom proxies it requests Google's server-rendered basic HTML results page (gbv=1), which does not need JavaScript.

  • Google no longer honours num, so each page has about 10 organic results whatever resultsPerPage is. Use maxPagesPerQuery for more.
  • Google sometimes answers automated traffic with results for only part of the query (for example ignoring site:). The actor detects this and retries in verbatim mode (tbs=li:1). Pages 2+ and GOOGLE_SERP requests always use verbatim mode, so their ranking can differ slightly from a normal browser search.
  • mobileResults only changes the device field in the output. The basic HTML page is the same for every device. It is best for organic/link extraction and lightweight ad monitoring. It does not provide bundled AI Mode, Perplexity, ChatGPT, Copilot, Gemini, lead enrichment, or email verification add-ons.

For large runs, lower maxConcurrency if error records increase. For strict quality validation, enable saveHtmlToKeyValueStore and compare parsed fields against the original HTML snapshots.

Scrape only public data you have a legitimate reason to process. Google Search results can include personal data, snippets from copyrighted pages, and region-specific content. Follow applicable laws, Google terms, and privacy rules such as GDPR.