Google Search Results Scraper - SERP, Organic & PAA
Pricing
from $0.29 / 1,000 search results
Google Search Results Scraper - SERP, Organic & PAA
Scrape Google search results for any keyword - organic rankings with position, title, link and snippet, plus People Also Ask questions. Country, language and date-range filters, deep pagination, and billing per row delivered. No proxies, no API key, no login.
Google Search Results Scraper - SERP, Organic Results & PAA
Scrape Google search results at scale - no proxies, no CAPTCHAs, no browser to babysit. Give it a list of keywords and get back one clean row per result: organic listings and People Also Ask, each tagged with the query and page it came from.
⭐ bulk keyword lists · country + language + date filters · deep pagination · pay per row delivered · CSV/JSON/Excel · API, MCP & schedules
What data does it extract?
One row per result, with the query, page and type it came from so multi-query exports stay
separable. Fields Google does not return for an item are simply absent, and any new field Google
adds is passed through automatically.
| Field | Description |
|---|---|
title | Result headline |
link | Destination URL |
snippet | Description text Google shows |
position | Rank within the page |
date | Publication date, where Google shows one |
sitelinks | Sub-links under the result |
question | The question text, on People Also Ask rows |
type | organic or people_also_ask |
query | The keyword this row came from |
page | Which SERP page it came from |
Example output
{"query": "coffee shops new york","page": 1,"type": "organic","title": "Best Specialty Coffees in New York — Drips Of God","link": "https://www.dripsofgod.com/new-york","snippet": "La Cabra (East Village) · Devoción (Williamsburg, Flatiron, Downtown Brooklyn) · Café Leon Dore (Nolita) · Café Integ...","position": 1}
How to use it
- Paste your queries into
queries- one per line. - Set the options you need from the table below.
- Run it, then download the dataset as CSV, Excel, JSON, JSONL or XML - or read it straight from the Apify API.
Input example
{"queries": ["best crm software","coffee shops new york"],"gl": "us","hl": "en","dateRange": "qdr:w","maxPages": 3}
| Option | Type | Description |
|---|---|---|
queries | array | Required. Keywords, one per line. |
gl | string | Country code - us, in, gb, de... |
hl | string | Language code - en, hi, es... |
dateRange | string | qdr:h, qdr:d, qdr:w, qdr:m, qdr:y - past hour to past year. |
maxPages | integer | Pages per keyword, default 1. Each page is one request. |
Pricing
| Event | Price |
|---|---|
serp-result | $0.29 per 1,000 results ($0.00029 per result) |
1,000 results → $0.29 · 10,000 → $2.90 · 100,000 → $29.00
You are billed per row delivered, as it is delivered. Queries that fail or return nothing cost you nothing, and an interrupted run only ever bills the rows already in your dataset.
Use cases
Track keyword rankings by country and language
Run the same keyword set on a schedule with gl and hl set to each market you sell in, then diff the position column between runs to see what moved.
Monitor which competitors rank for your keywords
Export the top pages for your category every morning and watch which domains enter or leave the first two pages.
Mine People Also Ask for content and FAQ ideas
PAA rows arrive as question/answer pairs - a ready-made brief of what searchers actually ask about a topic.
Monitor new pages ranking for your brand
Set dateRange to qdr:d or qdr:h and each run returns only pages Google started ranking in that window - a cheap mention-monitoring feed.
Build URL and snippet datasets for research or RAG pipelines
One row per result with clean links and snippets feeds straight into an embedding or summarisation step.
Good to know
- Google returns roughly 10 organic results per page; use
maxPagesfor depth. - Rows are organic results plus People Also Ask; Google's news and top-story blocks are not part of this endpoint's response.
dateRangeapplies to search results and changes what Google returns.- Rows carry
query,pageandtypeso multi-keyword exports stay separable.
Frequently asked questions
Do I need proxies, an API key or a Google account?
No. Requests run through hosted Google search infrastructure on our side - there is nothing to configure and no key to supply.
How many results can I get per keyword?
Google serves about 10 organic results per page, plus People Also Ask rows on the first page. Depth comes from maxPages (up to 100), and each page is one request. Asking for a bigger page size does not return more than Google shows.
How do I get results as a user in another country sees them?
Set gl to the country and hl to the language, for example gl: de with hl: de. Rankings genuinely differ per market, so this matters for rank tracking.
Can I limit results to recent pages only?
Yes. dateRange accepts qdr:h (past hour), qdr:d, qdr:w, qdr:m and qdr:y.
How do I export Google rankings to CSV or Excel?
Every run writes to a dataset you can download as CSV, Excel, JSON, JSONL or XML, or pull through the Apify API.
Can I schedule daily rank tracking?
Yes - use Apify schedules, or trigger runs from the API, MCP server, Make, Zapier or n8n.
What am I charged for if a keyword returns nothing?
Nothing. Billing is per row delivered, so empty or failed queries cost you nothing.
Related Google scrapers
- Google Images Scraper - image URLs, sizes and source pages
- Google Videos Scraper - video results across YouTube, TikTok and the web
- Google Places Scraper - local business results with phone and website
- Google Maps Scraper - map places with GPS, hours and Place ID
- Google Patents Scraper - patents with inventors, assignees and dates
- Google Shopping Scraper - products with prices, sellers and ratings
Not affiliated with or endorsed by Google. Returns publicly available search results.