Google Search Results Scraper (SERP) avatar

Google Search Results Scraper (SERP)

Pricing

from $1.50 / 1,000 results

Go to Apify Store
Google Search Results Scraper (SERP)

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

Philip Kirkbride

Maintained by Community

Actor 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

InputTypeDefaultMeaning
queriesarrayrequiredWhat 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.
countryCodestringusTwo-letter country code for the results (us, gb, de, fr, ca, au, in, ...).
languageCodestringenInterface and results language (en, de, fr, es, pt-BR, ...).
maxPagesPerQueryinteger1Result pages to read per search, 1 to 10 (about 10 organic results each).
maxPagesinteger100Total cap on result pages (dataset rows) across every search, up to 5,000.
maxConcurrencyinteger4Searches 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:

FieldMeaning
searchQueryThe search the row came from: term, page (1-based), countryCode, languageCode.
urlThe Google results page that was read.
resultsCountNumber of organic results on the page.
organicResultsThe organic results in page order (see below).
peopleAlsoAskThe "People also ask" questions on the page, as {"question": ...}. Empty when Google shows none.
relatedQueriesThe related searches at the bottom of the page, each with a ready-to-use Google link for the same country and language.
hasNextPageWhether Google offers a further results page.
unresolvedUrlsOrganic results on this page whose url is null (normally 0).
scrapedAtCollection time (UTC, ISO 8601).
errorAlways null in the dataset. Pages that could not be read are listed in the run summary instead.

Each entry of organicResults has:

FieldMeaning
position1-based rank on the page. Video and forum results that Google lists among the organic results are included in order.
titleThe result title.
urlThe result's real destination link.
displayedUrlThe green breadcrumb Google shows under the title (for example https://www.w3schools.com › python › ...), when it is a web address.
siteNameThe site, channel or community name Google shows above the title (for example Reddit · r/howto).
snippetThe description under the title.
dateThe date Google prints before the snippet, such as May 7, 2026 or 3 days ago, when there is one.
sitelinksExtra 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.