Google SERP Scraper avatar

Google SERP Scraper

Pricing

$0.15 / 1,000 serp results

Go to Apify Store
Google SERP Scraper

Google SERP Scraper

Scrape Google organic search results by query, country, language, and page range. Get clean SERP data including position, title, URL, and description, with pay-per-result pricing and no browser required.

Pricing

$0.15 / 1,000 serp results

Rating

0.0

(0)

Developer

DataScraperES

DataScraperES

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

Extract structured Google organic search results for one or more queries, countries, languages, and page ranges.

The Actor returns one dataset item per organic result with its query, page, position, title, URL, and description. When Google provides People Also Ask data, it can also return an additional helper record for that page.

Use cases

  • SEO rank tracking by query and market.
  • Competitor and search-result analysis.
  • Content, topic, and lead research.
  • Monitoring organic result changes.
  • Building structured SERP datasets for downstream workflows.

Pricing

This Actor uses pay-per-event pricing.

EventWhat is chargedPrice
serp-resultOne organic Google result published to the dataset$0.15 / 1,000 results

Equivalent price: $0.00015 per organic result. Failed pages and People Also Ask helper records are not charged as serp-result events.

Input

FieldTypeRequiredDefaultDescription
queriesstring[]YesnoneSearch queries, one per line. Maximum: 1,000.
startPageintegerNo1First Google results page.
endPageintegerNo1Last page, from 1 to 10 and not lower than startPage.
languagestringNoesTwo-letter Google search language used as hl.
countrystringNoesTwo-letter country used as gl and for proxy geolocation.
concurrencyintegerNo1Pages processed in parallel, from 1 to 3. Use 1 for maximum stability.
debugbooleanNofalseAdds detailed retry diagnostics to the run log.

Example input

{
"queries": ["best web hosting 2026", "seo tools for beginners"],
"startPage": 1,
"endPage": 2,
"language": "en",
"country": "us",
"concurrency": 1
}

Output

Each organic result is stored as a separate dataset item:

{
"query": "best web hosting 2026",
"page": 1,
"position": 1,
"title": "Best Web Hosting 2026 - Full Comparison",
"url": "https://example.com/best-web-hosting/",
"description": "Snippet text shown in Google results."
}

People Also Ask may be stored as one additional, uncharged helper item:

{
"query": "best web hosting 2026",
"page": 1,
"type": "people_also_ask",
"people_also_ask": [
{
"question": "What is the best hosting provider?",
"answer": "Short answer extracted from Google.",
"source_title": "Example source",
"source_url": "https://example.com/"
}
]
}

Run summary

The default Key-Value Store contains a SUMMARY record with page, result, recovery, resume, and spending-limit counters. The Actor output object links directly to both the dataset and this summary.

Reliability

  • Retries rate limits, blocked responses, timeouts, degraded HTML, and empty parses.
  • Rotates request identities and proxy URLs between attempts.
  • Runs a slower recovery pass for pages that fail initially.
  • Persists completed and partially published pages across migrations or restarts.
  • Checks the run spending limit before starting paid SERP work.
  • Stops cleanly when no more paid results can be published.

Notes

  • Users do not need to configure proxies; network routing is managed by the Actor.
  • The selected country is applied to search localization and managed network routing.
  • Ads, shopping boxes, maps, local packs, and knowledge panels are not included in organic output.
  • Google markup and results can change, so positions and snippets may differ between runs.
  • Some results may not contain a description.
  • Use output responsibly and comply with applicable laws, regulations, and website terms.