Google Search Results Scraper (SERP)
Pricing
from $1.50 / 1,000 results
Google Search Results Scraper (SERP)
Collect Google Search results for any query, country and language. One row per results page: every organic result's position, title, real link, displayed link, site, snippet, date and sitelinks, plus People also ask and related searches. Pages up to your cap; failed pages are reported, not charged.
Pricing
from $1.50 / 1,000 results
Rating
0.0
(0)
Developer
Philip Kirkbride
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Turn any Google search into clean, structured rows. Type the searches you care about, pick a country and language, and every Google results page becomes one row: each organic result's position, title, real destination link, the green breadcrumb Google displays, the site name, the snippet and its date, plus sitelinks, the "People also ask" questions and the related searches at the bottom of the page.
Read one page per search or follow Google's own "Next" pages up to ten deep, with a total page cap so a long list of searches never runs away. Pages that cannot be read are listed in the run summary and are not charged.
Use cases
- Rank tracking: where a domain appears for a set of keywords, page by page, in a chosen country.
- SEO research: titles, snippets and displayed breadcrumbs of the pages that win a search.
- Content ideas: "People also ask" questions and related searches for a topic.
- Competitor monitoring: re-run the same searches on a schedule and compare positions over time.
- Lead and link discovery: the real destination links of the top results for niche searches.
Quick Start
{"queries": ["best running shoes", "how to make cold brew coffee"],"countryCode": "us","languageCode": "en","maxPagesPerQuery": 1,"maxPages": 100}
Each search is one Google search. Set maxPagesPerQuery to read results past the first ten; paging stops by itself when Google has no further page.
Input
| Input | Type | Default | Meaning |
|---|---|---|---|
queries | array | required | What to search for, one search per line, exactly as you would type it into Google. A Google search link (google.com/search?q=...) also works. Repeated searches are read once. |
countryCode | string | us | Two-letter country code for the results (us, gb, de, fr, ca, au, in, ...). |
languageCode | string | en | Interface and results language (en, de, fr, es, pt-BR, ...). |
maxPagesPerQuery | integer | 1 | Result pages to read per search, 1 to 10 (about 10 organic results each). |
maxPages | integer | 100 | Total cap on result pages (dataset rows) across every search, up to 5,000. |
maxConcurrency | integer | 4 | Searches that run side by side, 1 to 6. Lower is gentler, higher is faster. |
Example queries
{"queries": ["crm software for small business"], "maxPagesPerQuery": 3}{"queries": ["beste laufschuhe", "kaffeemühle test"], "countryCode": "de", "languageCode": "de"}{"queries": ["plumber near denver", "emergency plumber denver"], "countryCode": "us"}{"queries": ["https://www.google.com/search?q=python+list+comprehension"]}
What it returns
The dataset contains one row per Google results page:
| Field | Meaning |
|---|---|
searchQuery | The search the row came from: term, page (1-based), countryCode, languageCode. |
url | The Google results page that was read. |
resultsCount | Number of organic results on the page. |
organicResults | The organic results in page order (see below). |
peopleAlsoAsk | The "People also ask" questions on the page, as {"question": ...}. Empty when Google shows none. |
relatedQueries | The related searches at the bottom of the page, each with a ready-to-use Google link for the same country and language. |
hasNextPage | Whether Google offers a further results page. |
unresolvedUrls | Organic results on this page whose url is null (normally 0). |
scrapedAt | Collection time (UTC, ISO 8601). |
error | Always null in the dataset. Pages that could not be read are listed in the run summary instead. |
Each entry of organicResults has:
| Field | Meaning |
|---|---|
position | 1-based rank on the page. Video and forum results that Google lists among the organic results are included in order. |
title | The result title. |
url | The result's real destination link. |
displayedUrl | The green breadcrumb Google shows under the title (for example https://www.w3schools.com › python › ...), when it is a web address. |
siteName | The site, channel or community name Google shows above the title (for example Reddit · r/howto). |
snippet | The description under the title. |
date | The date Google prints before the snippet, such as May 7, 2026 or 3 days ago, when there is one. |
sitelinks | Extra links Google shows under a result (mostly for brand searches), each with title, url and snippet. |
Ads, maps, shopping carousels and image packs are not included. The run summary (OUTPUT) reports pages (rows delivered), organicResults, and any pages that could not be read in pageErrors, each with a short code and message (for example BLOCKED, LAYOUT_CHANGED or NETWORK_ERROR).
Output example
{"searchQuery": {"term": "how to compost at home","page": 1,"countryCode": "us","languageCode": "en"},"url": "https://www.google.com/search?q=how+to+compost+at+home&hl=en&gl=us","resultsCount": 8,"organicResults": [{"position": 1,"title": "Composting At Home | US EPA","url": "https://www.epa.gov/recycle/composting-home","displayedUrl": "https://www.epa.gov › recycle › composting-home","siteName": "U.S. Environmental Protection Agency (.gov)","snippet": "Start your pile with a four- to six-inch layer of bulky browns such as twigs and wood chips. Then layer your greens and browns like lasagna. If ...","date": "Dec 8, 2025","sitelinks": []},{"position": 2,"title": "How to Make Compost at Home - UMD Extension","url": "https://extension.umd.edu/resource/how-make-compost-home","displayedUrl": "https://extension.umd.edu › resource › how-make-com...","siteName": "UMD Extension","snippet": "Dig a trench or hole in a garden bed about eight to twelve inches deep. Bury your kitchen waste (fruit and vegetable peelings and cores, coffee ...","date": "Jul 12, 2024","sitelinks": []}],"peopleAlsoAsk": [{"question": "What is the laziest way to compost?"},{"question": "What are 5 items that should not be composted?"}],"relatedQueries": [{"query": "Compost bin","url": "https://www.google.com/search?q=Compost+bin&hl=en&gl=us"},{"query": "How to compost at home for beginners","url": "https://www.google.com/search?q=How+to+compost+at+home+for+beginners&hl=en&gl=us"}],"hasNextPage": true,"unresolvedUrls": 0,"scrapedAt": "2026-10-20T00:00:03Z","error": null}
Price
$0.0015 per results page delivered (one dataset row, up to about 10 organic results), plus $0.005 per run start. The run-start event is charged per GB of memory; the default 4096 MB run is four start events ($0.02). The start is charged even if the run saves no results. Pages that could not be read are not charged. Platform usage is included in these prices.
Good to know
- Google personalizes and localizes results, so positions can differ slightly from what you see when signed in to your own Google account. Results here are what a signed-out visitor in the chosen country sees.
- Google usually shows 8 to 10 organic results per page; some pages show fewer when videos or other blocks take the space.
- "People also ask" lists the questions only; the expandable answers are not included.
- If Google temporarily limits requests, the run retries with growing pauses and reports any page it could not finish in
OUTPUT.pageErrors; pages already collected are kept. If no page at all can be read, the run fails with a clear message.