Google Search Results Scraper — Organic
Pricing
from $3.50 / 1,000 results
Google Search Results Scraper — Organic
Scrape Google SERPs by keyword or URL. Extract organic results, paid ads, AI Mode answers, People Also Ask, related queries & product ads. No API key needed.
Pricing
from $3.50 / 1,000 results
Rating
0.0
(0)
Developer
Randeep Dhillon
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Google Search Results Scraper — Organic, Paid, AI Mode & People Also Ask
Extract structured data from Google Search results pages (SERPs) by keyword or URL. This Google SERP scraper API returns organic results, paid ads, AI Mode summaries, People Also Ask, related queries, and product ads — no API key or Google account required.
What This Actor Does
The Google Search Results Scraper crawls Google Search Results Pages (SERPs) and extracts every data block on the page. Input a list of search terms or raw Google URLs and get back clean, structured JSON you can export to CSV, Excel, or feed into your pipeline.
Supported data blocks:
| Block | Description |
|---|---|
| 🌱 Organic results | Title, URL, description, position, emphasized keywords, site links |
| 🛍 Paid results | Ad copy, display URL, ad position |
| 🤖 AI Mode / AI Overview | Full AI-generated answer text + cited sources |
| ❓ People Also Ask | Question + answer + source URL |
| 🔍 Related queries | Suggested search terms + Google search URLs |
| 📢 Product ads | Product title, price, rating, review count, image URL |
| ⭐ Review ratings | Star rating and review count where present |
Use Cases
- SEO monitoring — track your site's rank for target keywords over time
- Competitor analysis — monitor which pages rank above yours and why
- Keyword research — collect related queries and PAA questions at scale
- Ad intelligence — capture competitor paid ads copy and positioning
- AEO / GEO tracking — monitor AI Overview and AI Mode summaries for brand visibility
- Content gap analysis — identify what topics dominate the top 10 for your niche
- Lead generation — build URL lists from keyword searches for downstream scraping
Input
| Field | Type | Default | Description |
|---|---|---|---|
queries | array | ["hotels in Seattle"] | Search terms or full Google URLs, one per line |
countryCode | string | us | Google domain country (e.g. us, gb, de) |
languageCode | string | en | Language of search results |
maxPagesPerQuery | integer | 1 | Pages to scrape per query (1–10, ~10 results each) |
resultsPerPage | integer | 10 | Results per page: 10, 20, 50, or 100 |
mobileResults | boolean | false | Return mobile SERP results instead of desktop |
includeUnfilteredResults | boolean | false | Include omitted/filtered results |
saveHtml | boolean | false | Save raw HTML of each SERP page to key-value store |
Scraping by search term
{"queries": ["latest crm tool", "best project management software"],"countryCode": "us","languageCode": "en","maxPagesPerQuery": 2,"resultsPerPage": 10,"mobileResults": false}
Scraping by URL
Replace search terms with full Google URLs:
{"queries": ["https://www.google.com/search?q=hotels+in+Seattle","https://www.google.co.uk/search?q=best+crm+software"]}
Tip: To get ~100 results per query, set
maxPagesPerQueryto10. The actor navigates 10 pages collecting ~10 results each.
Output
One dataset record per SERP page. Here is a sample record:
{"searchQuery": {"term": "latest crm tool","device": "DESKTOP","page": 1,"type": "SEARCH","domain": "google.com","countryCode": "US","languageCode": "en","url": "https://www.google.com/search?q=latest+crm+tool&num=10&gl=us&hl=en&start=0"},"organicResults": [{"position": 1,"title": "Best CRM Software: User Reviews from May 2026","url": "https://www.g2.com/categories/crm","displayedUrl": "https://www.g2.com › Sales Tools","description": "G2's top-rated CRM systems include Salesforce Sales Cloud, HubSpot Sales Hub, ActiveCampaign, ClickUp, and Close.","date": "Apr 20, 2026","emphasizedKeywords": ["Salesforce Sales Cloud"],"siteLinks": [],"type": "organic"}],"paidResults": [],"paidProducts": [],"relatedQueries": [{"title": "best crm for small business","url": "https://www.google.com/search?q=best+crm+for+small+business"}],"peopleAlsoAsk": [{"question": "What is the most popular CRM tool?","answer": "Salesforce is the most widely used CRM globally...","url": "https://www.salesforce.com/..."}],"aiModeResult": {"text": "The leading CRM tools in 2026 include Salesforce, HubSpot, Zoho CRM, and Pipedrive...","sources": [{"title": "Best CRM Software 2026","url": "https://www.g2.com/categories/crm","description": "G2's top-rated CRM systems..."}]},"resultsTotal": null}
Get one result per row
Select the Organic results or Paid results export view in the Apify Console to spread each result into a separate row. Via API, append &view=organic_results or &view=paid_results to your dataset URL.
Export Formats
- JSON — full nested structure, ideal for pipelines and APIs
- CSV / Excel — flat organic or paid results view, one row per result
- HTML — rendered SERP snapshot saved to key-value store (enable
saveHtml)
Export via the Apify Console, Python SDK, Node.js SDK, API endpoint, or webhook.
Pricing
This actor uses Pay Per Event (PPE) pricing — you pay only for what you extract.
| Event | Price |
|---|---|
| Per organic result | $0.003 |
| Per paid result | $0.003 |
| Actor start | included |
Example: Scraping 10 keywords × 1 page × 10 results = 100 results = $0.30
How to Use
In the Apify Console
- Go to the actor page and click Try for free
- Enter your search terms under Queries, one per line
- Set your country, language, and page depth
- Click Start — results appear in the Output tab
Via API (Node.js)
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });const run = await client.actor('YOUR_ACTOR_ID').call({queries: ['best crm software', 'salesforce alternatives'],countryCode: 'us',maxPagesPerQuery: 3,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Via API (Python)
from apify_client import ApifyClientclient = ApifyClient("YOUR_API_TOKEN")run = client.actor("YOUR_ACTOR_ID").call(run_input={"queries": ["best crm software", "salesforce alternatives"],"countryCode": "us","maxPagesPerQuery": 3,})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item)
Notes & Limitations
- Results vary by IP location, browsing history, and browser fingerprint. The actor uses rotating proxies to mitigate this.
- Google's SERP structure changes frequently. If a data block stops appearing, open an issue — updates are released promptly.
resultsTotalis returned asnull— Google no longer reliably exposes the total result count in HTML.- AI Mode and AI Overview availability depends on query type and Google's rollout. Not all queries trigger these blocks.
- For very high-volume scraping (100k+ results/day), contact us to discuss a custom plan.
Frequently Asked Questions
Do I need a Google API key? No. This actor scrapes the public Google Search HTML — no API key or Google account required.
How do I scrape Google in a specific country?
Set countryCode to the two-letter country code (e.g. gb for UK, de for Germany). The actor routes requests through proxies in that country and uses the matching Google domain.
Can I scrape Google Images or Google News?
This actor is focused on the main web search SERP. For Images or News results, use a dedicated actor or pass a raw URL with the tbm=isch or tbm=nws parameter — basic fields will still be extracted.
How do I get 100 results per keyword?
Set maxPagesPerQuery to 10 and resultsPerPage to 10. The actor will crawl pages 1–10, collecting ~10 results each.
Is the output compatible with Google's own Search API?
The field structure mirrors common SERP API conventions. Fields like position, title, url, description, and displayedUrl map directly to their equivalents in most SEO tools.
Related Actors
- Google Maps Scraper — extract business listings, reviews, and contact info
- Google Shopping Scraper — product prices, ratings, and merchant data
- Bing Search Scraper — same workflow for Bing SERPs
- Perplexity AI Search Scraper — AI-native search results for AEO tracking
Support
Found a bug or need a custom field? Open an issue on the actor page or email support. Typical response within 24 hours.