Google Search Scraper - Free, No API Key Required
Pricing
$5.00 / 1,000 result scrapeds
Google Search Scraper - Free, No API Key Required
Scrape Google Search results for any query. Returns: page title, URL, snippet, position, and featured snippet if available. Supports pagination. Essential for SERP analysis and keyword research.
Pricing
$5.00 / 1,000 result scrapeds
Rating
0.0
(0)
Developer
Web Data Labs
Actor stats
0
Bookmarked
8
Total users
5
Monthly active users
8 days ago
Last modified
Categories
Share
Google Search Results Scraper — Free, No API Key Required
Scrape search engine results without any API key or paid subscription. Returns organic results with URL, title, and description. Supports DuckDuckGo, Bing, Brave, and Google with automatic fallback.
What Data You Get
This actor searches the web using multiple search engines and returns structured results. It tries DuckDuckGo first (best for datacenter IPs), then falls back to Bing, Brave, and Google until it gets results.
No API keys needed. No rate limit tokens. Just provide a query and get clean, structured search results.
Input Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
query | string | Yes | — | The search query to look up |
maxResults | integer | No | 10 | Maximum results to return (1–100) |
searchEngine | string | No | duckduckgo | Engine to use: auto, duckduckgo, bing, brave, google |
language | string | No | en | Language code for results (e.g. en, de, fr, ja) |
countryCode | string | No | us | Country code for localized results (e.g. us, uk, de) |
Search Engine Comparison
| Engine | Best For | Proxy Needed? | Notes |
|---|---|---|---|
auto | General use | Depends | Tries all engines with automatic fallback |
duckduckgo | Datacenter IPs | No | Most reliable without proxies |
bing | Localized results | Sometimes | Good language and country support |
brave | Privacy-focused queries | Sometimes | Independent search index |
google | Best quality results | Yes | Most aggressive bot detection |
Output Format
Each result in the dataset contains:
{"position": 1,"title": "Web Scraping with Python — A Complete Guide","url": "https://example.com/web-scraping-guide","description": "Learn how to scrape websites using Python with BeautifulSoup and requests. Covers HTTP basics, parsing HTML, handling pagination...","source": "duckduckgo"}
Output Fields
| Field | Type | Description |
|---|---|---|
position | integer | Ranking position in search results (1-based) |
title | string | Page title as shown in search results |
url | string | Full URL of the result page |
description | string | Snippet/description text from the search engine |
source | string | Which search engine returned this result |
Use Cases
- SEO monitoring — Track your website's ranking for target keywords over time
- Competitor research — See which pages rank for your industry terms
- Content research — Find top-ranking articles on any topic before writing
- Lead generation — Search for businesses in specific niches and locations
- Market research — Monitor what information is publicly available about a topic
- SERP analysis — Compare results across different search engines for the same query
- Brand monitoring — Track mentions and rankings for your brand name
How to Run with Python
from apify_client import ApifyClientclient = ApifyClient("YOUR_API_TOKEN")# Basic search with auto-fallbackrun = client.actor("cryptosignals/google-search-scraper").call(run_input={"query": "best python web scraping library 2026","maxResults": 20,"searchEngine": "auto"})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(f"{item['position']}. {item['title']}")print(f" {item['url']}")
# Localized search in Germanrun = client.actor("cryptosignals/google-search-scraper").call(run_input={"query": "beste web scraping tools","maxResults": 10,"language": "de","countryCode": "de"})
# Force a specific search enginerun = client.actor("cryptosignals/google-search-scraper").call(run_input={"query": "site:github.com web scraper","maxResults": 30,"searchEngine": "bing"})
Handling Bot Detection and IP Blocks
Search engines actively detect and block datacenter IPs. DuckDuckGo is the most lenient, while Google is the most aggressive. If you're getting empty results or CAPTCHA errors:
- Switch to
automode to let the actor try multiple engines - Use residential proxies for Google and Bing specifically
- Keep
maxResultsreasonable (under 50) to avoid triggering rate limits
Recommended: ThorData Residential Proxies — rotating residential IPs that bypass anti-bot detection on all major search engines. Configure in the Proxy settings when running this Actor.
Related Actors
- cryptosignals/amazon-scraper — Scrape Amazon product listings and reviews
- cryptosignals/youtube-comments-scraper — Extract YouTube video comments and metadata
- cryptosignals/crunchbase-scraper — Company data, funding, and startup research from Crunchbase
- cryptosignals/linkedin-profile-scraper — Scrape LinkedIn profiles and company pages
Tips for Best Results
- Use
automode for the most reliable results without configuring proxies - For SEO research, run the same query across multiple engines to compare rankings
- Advanced operators like
site:,intitle:, andfiletype:work best with Google and Bing - Set
languageandcountryCodetogether for accurate localized results - For bulk keyword research, schedule multiple runs with different queries
Limitations
- Google results require residential proxies for reliable access from datacenter IPs
- Advanced search operators may behave differently across engines
- Results may vary by IP location even with country code set
- Maximum 100 results per run — for larger datasets, run multiple queries
- Search engines may return slightly different results on each run due to personalization
⭐ Like this actor? Leave a review!
If this scraper saved you time, please leave a quick review on the Apify Store listing. Even a one-line review helps other developers find this tool.
How to review: Go to the actor page → scroll to Reviews → click 'Write a review'.

