Scrapers / Developer & File Tools

Google Search Scraper
hipersoft/google-search-scraper
Scrape Google Search results (organic listings) for any query: title, URL, displayed URL, snippet and position. Multi-query, per-country/language, pagination. Uses Google SERP proxy — reliable, no captcha, no setup.
Total users
8Monthly users
1Total runs
121Per result scraped
$0.001Last rebuilt
Oct 28, 2026Overview
Scrape Google search results for any query and export title, URL, displayed URL, snippet and rank position as structured data. Target results by country and language, then download clean JSON, CSV, Excel or XML. No account and no API key — fast and reliable. Built for SEO teams, rank trackers and researchers monitoring the SERP at scale.

What does Google Search Scraper do?
Google Search Scraper is a crawler that extracts organic search results from Google. Give it one or more queries and it returns the blue-link listings — title, URL, displayed URL, snippet and position — for each query, geotargeted by country and language. Results export to a dataset you can download or pull through the API.
What data can you scrape from Google Search?
| Data point | Description |
|---|---|
| Query | The search query the result belongs to |
| Position | Organic rank of the result |
| Title | Result title |
| URL | Destination link |
| Displayed URL | The URL as shown in the SERP |
| Snippet | Result description text |
| Locale | Country and language codes used |
| Timestamp | When the result was scraped |
What you get

Each row is one organic result:
{
"query": "apify web scraping",
"position": 1,
"title": "Apify: Full-stack web scraping and data extraction platform",
"url": "https://apify.com/",
"displayedUrl": "https://apify.com",
"snippet": "Cloud platform for web scraping, browser automation, and data extraction...",
"countryCode": "us",
"languageCode": "en",
"scrapedAt": "2026-07-23T12:00:00.000Z"
}
Output schema
| Field | Type | Description |
|---|---|---|
query |
string | The search query this result belongs to. |
position |
integer | Organic rank of the result within the query. |
title |
string | Title of the search result. |
url |
string (URL) | Destination URL of the result. |
displayedUrl |
string (URL) | The URL as shown in the search results. |
snippet |
string | Description snippet shown under the title. |
countryCode |
string | Two-letter country code used for the search. |
languageCode |
string | Two-letter interface language code used. |
scrapedAt |
string (ISO date) | Timestamp when the result was collected. |
Use cases
- Track keyword rankings and SERP positions over time.
- Build competitor and share-of-voice reports from organic listings.
- Harvest titles and snippets for content and metadata analysis.
- Run
site:and other advanced queries to audit indexed pages. - Monitor branded and product terms across countries and languages.
- Assemble SERP datasets for research and dashboards.
How to scrape Google Search data
- Add Google Search Scraper to your Apify account and open the input.
- Enter one or more
queries, each scraped separately. - Set
resultsPerQuery(1–100) and choosecountryCodeandlanguageCode. - Click Run and watch results stream into the dataset.
- Export the results as JSON, CSV, Excel or XML, or pull them through the Apify API.
Input
{
"queries": ["apify web scraping", "best coffee shops austin"],
"resultsPerQuery": 20,
"countryCode": "us",
"languageCode": "en"
}
| Field | Description |
|---|---|
queries |
One or more Google search queries; each is scraped separately (required). |
resultsPerQuery |
Organic results to collect per query, 1–100 (in pages of 10). Default 10. |
countryCode |
Two-letter country code for geolocated results (gl). Default us. |
languageCode |
Two-letter interface language (hl). Default en. |
Need more Google data?
- Google News Scraper
- Google Trends Scraper
- Google Autocomplete Scraper
- Google Ads Transparency Scraper
- Google Maps Scraper
FAQ
Do I need a Google account or API key? No. There's no setup and no login — just add your queries and run.
How many results can I get per query? Up to 100 organic results per query, and you can pass many queries in one run.
Can I target a specific country or language?
Yes. Set countryCode (gl) and languageCode (hl) to geolocate and localize the results.
What export formats are supported? JSON, CSV, Excel and XML, plus programmatic access via the Apify API.
How fresh is the data? Every run reads live search results, so positions and snippets reflect the current SERP.
Can Google Search Scraper connect to my other tools? The Google Search Scraper can be connected with almost any cloud service or web app thanks to integrations on the Apify platform. It works with Make, Zapier, Slack, Airbyte, GitHub, Google Drive and many more, plus the Apify API, JavaScript/Python clients and MCP. Or use webhooks to trigger an action whenever a run finishes.
Is scraping Google Search legal? The Actor parses only publicly visible organic listings. You are responsible for complying with Google's terms and applicable laws.
Notes
Original clean-room implementation. Parses only publicly visible organic listings; you are responsible for compliance with Google's terms. Not affiliated with Google.
Input
| Field | Type | Description |
|---|---|---|
queries requiredSearch queries | array | One or more Google search queries. Each is scraped separately. |
resultsPerQueryResults per query | integer | Number of organic results to collect per query (paginates in pages of 10). Default: 10 |
countryCodeCountry | string | Two-letter country code for geolocated results (Google gl parameter), e.g. us, gb, de. Default: "us" |
languageCodeLanguage | string | Two-letter interface language (Google hl parameter), e.g. en, es, de. Default: "en" |
API
curl -X POST "https://api.apify.com/v2/acts/hipersoft~google-search-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"queries": [
"apify web scraping",
"best coffee shops austin"
]
}'from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("hipersoft/google-search-scraper").call(run_input={
"queries": [
"apify web scraping",
"best coffee shops austin"
]
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('hipersoft/google-search-scraper').call({
"queries": [
"apify web scraping",
"best coffee shops austin"
]
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);Pricing
| Event | Price | Paid plans from |
|---|---|---|
| Result scraped One organic search result with title, URL and snippet | $0.001 | $0.0005 |
| SERP page One Google results page fetched | $0.002 | $0.002 |
You pay only for what the run returns. Set a maximum cost per run and it stops cleanly at that limit.
Related scrapers
Bulk Image Downloader
Download thousands of images from a list of URLs and store each in the key-value store with a public link. Returns content type, size, dimensions and SHA-256 per image. Bulk-ready. Great for datasets, backups and media pipelines.
8,102 runs · 103 users · $0.056 / url processedText to Speech
Convert any text to natural-sounding speech as an MP3 download. 300+ premium neural voices across 70+ languages, adjustable rate, pitch and volume. Great for voiceovers, videos, accessibility and audio content. No setup.
278 runs · 22 users · $0.01 / audio generatedGoogle Maps Email Extractor
Search Google Maps for businesses, then crawl each business website to extract emails, social profiles and extra phone numbers. Turns any Maps search into a ready lead list. No setup.
159 runs · 8 users · $0.006 / business lead scrapedWebsite Screenshot
Capture full-page or viewport screenshots of any URL as PNG or JPEG, at any device size. For monitoring, previews, thumbnails and automation workflows.
156 runs · 3 users · $0.004 / screenshot capturedBulk URL Status Checker
Check thousands of URLs over plain HTTP: status codes, broken links (404/410/5xx), full redirect chains, response time, content type, page title and SSL certificate expiry.
154 runs · 13 users · $0.002 / url checkedcrates.io Scraper
Search crates.io or look up exact Rust crates and get description, downloads, versions, license, keywords, categories, repository and documentation links.
118 runs · 1 users · $0.004 / crate scrapedSend the site and the fields. We build it and you get it first.