Google Search Results (SERP) Scraper - SERP API
Pricing
from $1.80 / 1,000 pages
Google Search Results (SERP) Scraper - SERP API
Scrape Google Search results with 95%+ health rate. Extract organic results, featured snippets, People Also Ask, Knowledge Graph, related searches & ads. 28% cheaper than alternatives. Export data, run via API, schedule and monitor runs, or integrate with other tools.
Pricing
from $1.80 / 1,000 pages
Rating
0.0
(0)
Developer
Khadin Akbar
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
5 days ago
Last modified
Categories
Share
⚡ Google SERP Scraper — Fast, Affordable & Complete SERP API
What does Google SERP Scraper do?
Google SERP Scraper extracts structured data from Google Search Engine Results Pages (SERPs) at scale. Powered by Apify's dedicated Google SERP proxy pool, it achieves a 95%+ health success rate — one of the highest in the category. Send any search query, get back clean JSON with organic results, featured snippets, People Also Ask questions, Knowledge Graph panels, related searches, and ad results.
Why use Google SERP Scraper?
- 56% cheaper than alternatives on the free tier ($0.002/page vs $0.0045)
- 28% cheaper on paid plans ($0.0018/page vs $0.0025 for BRONZE)
- 95%+ health success rate via Apify's dedicated GOOGLE_SERP proxy pool — purpose-built for Google
- No add-on fees — featured snippets, PAA, Knowledge Graph, related searches, and ads are all included in the base price
- Batch mode — scrape hundreds of queries in a single run
- MCP-ready output — semantic field names and field-level descriptions make this actor the top choice for AI agents using Claude, ChatGPT, and Cursor
Export scraped data, run the scraper via API, schedule and monitor runs, or integrate with other tools.
What data can Google SERP Scraper extract?
| Field | Description | Example |
|---|---|---|
search_query | The search query | "best CRM software 2025" |
results_page | Page number (1 = top 10) | 1 |
total_results_count | Google's result count estimate | "About 2,450,000,000 results" |
country_code | Country targeted (gl parameter) | "US" |
language_code | Language targeted (hl parameter) | "en" |
organic_results | Array of non-paid results with position, title, URL, display URL, description, date, sitelinks, and emphasized keywords | [{position: 1, title: "...", url: "..."}] |
featured_snippet | Answer box / Position 0 with title, description, URL | {title: "...", description: "..."} |
people_also_ask | Related questions from the PAA box | ["What is CRM?", "Is Salesforce free?"] |
related_searches | Related search suggestions from bottom of SERP | ["crm software free", "best crm 2025"] |
knowledge_graph | Entity panel with title, type, description, website | {title: "Salesforce", type: "Software company"} |
ad_results | Paid Google Ads with title, URL, description | [{title: "Try CRM Free", url: "..."}] |
scraped_at | ISO 8601 timestamp | "2026-04-08T10:30:00.000Z" |
source_url | Exact Google URL scraped | "https://www.google.com/search?q=..." |
How to Scrape Google Search Results
Step 1 — Add your queries
Enter your keywords in the Search Queries field. Each query is scraped separately:
{"queries": ["best CRM software 2025","HubSpot vs Salesforce comparison","CRM software for small business"],"maxResultsPages": 3,"countryCode": "US","languageCode": "en"}
Step 2 — Configure options
- Set Max Result Pages (1 = positions 1–10, 3 = positions 1–30, 10 = top 100)
- Set Country Code (
US,GB,DE,AU,CA,FR,IN,BR,JP) - Set Language Code (
en,es,de,fr,pt,ja,zh-CN) - Toggle SERP features to include/exclude (featured snippets, PAA, etc.)
Step 3 — Run and export
Click Start and download your results as JSON, CSV, or Excel. You can also schedule runs or trigger via API.
Use Cases
SEO Professionals — Track keyword rankings, monitor SERP features (featured snippets, PAA, Knowledge Graph), analyze competitor positioning, and identify content opportunities from related searches.
Content Marketers — Mine People Also Ask questions for FAQ content, find content gaps by comparing organic results, identify topics with Knowledge Graph panels for entity optimization.
Market Researchers — Analyze what organic competitors appear for any keyword set. Identify the top-ranking content types, domains, and content structures.
AI & LLM Pipelines — Feed current Google results into RAG systems, LangChain workflows, or AI research assistants. The structured JSON format with semantic field names is designed for AI agent consumption.
Lead Generation — Extract business URLs ranking for industry keywords, then enrich with contact data using complementary actors.
Ad Intelligence — Monitor which brands are running Google Ads for your target keywords. Track ad copy, display URLs, and competitive ad presence over time.
Pricing
This actor uses pay-per-event pricing: you pay per SERP page scraped.
| Plan | Price Per Page | 100 Pages | 1,000 Pages | 10,000 Pages |
|---|---|---|---|---|
| FREE | $0.002 | $0.20 | $2.00 | $20.00 |
| BRONZE | $0.0018 | $0.18 | $1.80 | $18.00 |
| SILVER | $0.0015 | $0.15 | $1.50 | $15.00 |
| GOLD | $0.0012 | $0.12 | $1.20 | $12.00 |
Cost examples:
- Track 50 keywords × 1 page = 50 pages → $0.09 (BRONZE)
- Full top-30 audit for 100 keywords = 300 pages → $0.54 (BRONZE)
- Weekly rank tracking for 500 keywords = 500 pages → $0.90 (BRONZE)
Featured snippets, People Also Ask, Knowledge Graph, related searches, and ad extraction are all included at no extra charge.
Running via API
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });const run = await client.actor('YOUR_USERNAME/scrape-google-serp').call({queries: ['best project management software', 'asana vs monday.com'],maxResultsPages: 3,countryCode: 'US',languageCode: 'en',includePeopleAlsoAsk: true,includeRelatedSearches: true,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(`Scraped ${items.length} SERP pages`);console.log(`Top result for first query: ${items[0].organic_results[0].url}`);
Input Parameters Reference
| Parameter | Type | Default | Description |
|---|---|---|---|
queries | string[] | ["apify web scraping"] | Search keywords to query on Google |
startUrls | object[] | [] | Direct Google search URLs (overrides country/language) |
maxResultsPages | integer | 1 | Pages to scrape per query (1 page = ~10 results) |
resultsPerPage | integer | 10 | Results per page (10, 20, 30, 50, 100) |
countryCode | string | "US" | Google country code (US, GB, DE, FR, etc.) |
languageCode | string | "en" | Google language code (en, es, de, fr, etc.) |
includeAds | boolean | true | Extract paid ad results |
includeFeaturedSnippet | boolean | true | Extract featured snippet / answer box |
includePeopleAlsoAsk | boolean | true | Extract People Also Ask questions |
includeRelatedSearches | boolean | true | Extract related search suggestions |
includeKnowledgeGraph | boolean | true | Extract Knowledge Graph panel |
maxConcurrency | integer | 5 | Parallel requests (reduce if seeing blocks) |
Frequently Asked Questions
Q: Why is the success rate so high?
This actor uses Apify's dedicated GOOGLE_SERP proxy group — a purpose-built pool of IP addresses specifically maintained for Google Search scraping. It handles CAPTCHA bypass, session rotation, and geographic targeting automatically.
Q: How do I scrape Google results for a specific country?
Set countryCode to the ISO 3166-1 alpha-2 code: US for United States, GB for United Kingdom, DE for Germany, AU for Australia, etc. The actor adds the gl parameter to Google's URL automatically.
Q: Can I scrape multiple pages (positions 11–100)?
Yes. Set maxResultsPages: 10 to get positions 1–100 for each query. Each page = 1 billing event.
Q: What if a CAPTCHA appears? The actor automatically detects CAPTCHAs and retries with a new session from the SERP proxy pool. The proxy pool manages this transparently — you should not see CAPTCHA failures in normal usage.
Q: Can I schedule regular SERP tracking runs? Yes. Use Apify Scheduler to run this actor daily, weekly, or at any interval. Export to your preferred format (CSV, JSON, Excel) after each run.
Q: How current are the results?
Results are scraped in real-time at the moment you run the actor. Google results vary by time of day, personalization, and location. For consistent rank tracking, always use the same countryCode and languageCode settings.
Q: Does this support Google Images, News, or Shopping results?
The current version focuses on Google Web Search (search_type: "web"). Image, News, and Shopping SERP types are planned for a future release.
Works Great With
- Contact Finder — Enrich URLs from organic results with emails and contact info
- Website Content Crawler — Deep-crawl top-ranking pages to analyze content structure
- RAG Web Browser — Feed SERP results into AI pipelines and RAG workflows
Technical Notes
- Uses CheerioCrawler (fast, low-memory HTML parsing — no browser overhead)
- Multiple CSS selector fallbacks for every SERP element (survives Google redesigns)
- Session pool rotation with Apify SERP proxy for anti-detection
- Consistent output shape across all records — safe for AI schema inference
- Migration-safe: saves progress to key-value store and resumes on actor migration events
- PPE charge limit safe: stops gracefully when budget is exhausted
Legal Disclaimer
This actor is intended for lawful collection of publicly available data from Google Search. Users are solely responsible for ensuring their use complies with applicable laws, Google's Terms of Service, and data protection regulations including GDPR, CCPA, and other regional privacy laws. Anthropic, Apify, and the actor developer assume no liability for any misuse. Do not use this actor to collect personal data without a lawful basis, to engage in anti-competitive practices, or in violation of any third party's rights.