Google Search Scraper
Pricing
from $10.00 / 1,000 scraped search result pages
Google Search Scraper
Google results from any country domain with the real destination URL resolved, plus the people-also-ask and related-search blocks. Positions are compared between runs for the domains you track, so it doubles as a rank tracker. Example: two keywords on google.fr, scheduled weekly.
Pricing
from $10.00 / 1,000 scraped search result pages
Rating
0.0
(0)
Developer
Badr Bouargan
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
2 days ago
Last modified
Share
Google Search Scraper with Rank Tracking

Scrape Google search results — organic results, ads, People Also Ask and related searches — for any query, from any country, in any language. The Actor remembers positions between runs and tells you which of your pages moved up and which moved down.
What you can do with it
- Track your rankings: list your domains, schedule a daily run, and read the gains and losses in a column.
- Watch competitors: see who occupies the top ten on your money keywords, and when that changes.
- Do keyword research: People Also Ask questions and related searches come with every page.
- Build link prospect lists: the exact URL of every result, not just the homepage.
- Compare markets: the same keyword through 33 national Googles, desktop or mobile.
No API key. Requests go through Apify's Google SERP proxy.
Why this Actor
- Any search, anywhere. 33 country domains are in the list (
google.com,google.co.uk,google.de,google.co.jp,google.com.br,google.ma…), and any other works by pasting a full Google URL. - Exact result URLs. Google now hides every result link behind an encrypted redirect. This Actor follows Google's own redirect for each result, so you get
https://site.com/the/real/page, not just the homepage. - Rank tracking built in. For the domains you follow, every row carries the previous position, the change and the movement label.
- Mobile or desktop, with country and language control.
How it works
- Each query becomes a Google results page request through the SERP proxy.
- The page is parsed structurally — by links, headings and blocks, never by CSS class names, which Google changes constantly.
- Every result's redirect is resolved to its true destination in parallel, outside the SERP proxy, which keeps that step nearly free.
- Tracked domains are compared with the previous run, stored in a named key-value store that survives runs.
Step-by-step tutorial
- Put one query per line in Queries, or paste a full Google URL to reuse your own parameters.
- Pick a Google domain, and optionally a Country and Language (
glandhl). - Set Pages per query — about ten results per page, so 3 pages gives the top 30.
- To follow your own site, list it in Tracked domains (
example.com) and create an Apify Schedule to run daily. - Press Start, then export as Excel, CSV or JSON.
Input example
{"queries": ["best running shoes", "trail running shoes review"],"googleDomain": "www.google.com","countryCode": "us","languageCode": "en","maxPagesPerQuery": 3,"trackedDomains": ["example.com"],"mobileResults": false}
Output example

Every row as JSON:
{"query": "best running shoes","page": 1,"position": 2,"type": "organic","title": "What are the best running shoes that you'd actually buy?","url": "https://www.reddit.com/r/runninglifestyle/comments/1u5x7mx/what_are_the_best_running_shoes/","domain": "reddit.com","description": "Jun 15, 2026 · The Asics Superblast 2 are the most well made running shoes…","isExactUrl": true,"previousPosition": 5,"positionChange": 3,"rankMovement": "up","peopleAlsoAsk": ["Which running shoe brand is best?"],"relatedQueries": ["best running shoes for flat feet"]}
The Rank tracking dataset view shows only the tracked domains with their movement.
Pricing
Pay per result page scraped, shown on the Actor's pricing tab, plus a small per-run fee. Platform costs — the Google SERP proxy and compute — are included, so there is nothing else to pay. About ten results per page.
FAQ
Why do some rows have isExactUrl: false? Google's redirect could not be followed for that result, so the address was rebuilt from the text Google displays. Domain, title, position and snippet remain correct.
Are ads always included? They are collected when Google shows them, but the no-JavaScript layout the Actor reads does not always contain them.
How does rank tracking start? The first run records positions; from the second run on you get previousPosition, positionChange and rankMovement. Use a Schedule for a daily history.
Can I scrape a country that is not in the list? Yes — paste the full Google URL (for example https://www.google.com.sg/search?q=...&hl=en) as a query.
Why is the Google SERP proxy required? Google returns no usable results to ordinary datacenter addresses; this was tested. The proxy group is preselected for you.
Integrations
- Schedules: a daily run builds your own rank-tracking history, without a subscription to an SEO suite.
- API: pull each run's dataset as JSON, CSV or Excel.
- Webhooks: notify your service, or your Slack, as soon as positions change.
- No-code tools: Google Sheets, Zapier and Make from the Integrations tab.
Support
Open an issue on the Actor's Issues tab for a bug, a missing SERP feature or a country that misbehaves.
Did this Actor do the job? Leaving a short review on its Store page takes a minute and helps other people find it — and tells me which feature to build next.
Legal
This Actor reads public search result pages, the same ones any visitor sees, and collects no personal data. Automated access may conflict with Google's Terms of Service; how you use the results is your responsibility.
En français
Récupère les résultats de recherche Google — résultats naturels, annonces, « Autres questions posées » et recherches associées — pour n'importe quelle recherche, depuis n'importe quel pays et dans n'importe quelle langue (33 Google nationaux, et n'importe quel autre en collant son URL). Google chiffre désormais l'adresse de chaque résultat : l'Actor suit la redirection de Google pour restituer l'adresse exacte de la page, pas seulement le domaine. Il mémorise les positions d'un run à l'autre et signale ce qui monte et ce qui baisse pour les domaines suivis. Aucune clé API.

