Google Search Results Scraper
Pricing
from $2.00 / 1,000 results
Google Search Results Scraper
Google Search Results Scraper that extracts titles, URLs, snippets, and positions for any keyword, so you can automate SEO research, rank tracking, and competitive analysis without manual searching.
Pricing
from $2.00 / 1,000 results
Rating
0.0
(0)
Developer
Kawsar
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share

Scrape Google search results for any keyword and get back structured data: title, URL, snippet, display URL, position, and total result count per result. Give it a list of keywords and it runs each one through Google Search.
Works for SEO research, rank tracking, competitor analysis, content research, and building datasets. Run one keyword or a hundred at once.
What it does
- Runs each keyword through Google and returns the organic results
- Captures position, title, URL, display URL, and snippet for each result
- Optionally includes paid ad results alongside organic ones
- Records Google's estimated total result count per keyword
- If one keyword errors out, the run continues with the rest
Input
| Field | Type | Description | Default |
|---|---|---|---|
keywords | List of strings | Search keywords to run | — |
maxResultsPerKeyword | Integer | Max results per keyword | 10 |
includeAds | Boolean | Include paid ad results | false |
maxItems | Integer | Total result cap across all keywords | 100 |
requestTimeoutSecs | Integer | Per-request timeout in seconds | 30 |
Example input
Plain keyword search:
{"keywords": ["apify", "web scraping tools", "python automation"],"maxResultsPerKeyword": 10,"includeAds": false,"maxItems": 100,"requestTimeoutSecs": 30}
With Google Search operators:
{"keywords": ["site:github.com apify scraper","\"web scraping\" python -selenium","intitle:\"data extraction\" filetype:pdf","related:apify.com","inurl:scraper python after:2023-01-01","\"best scraping tools\" OR \"top web scrapers\" 2024","(playwright OR puppeteer) site:medium.com"],"maxResultsPerKeyword": 10,"maxItems": 200}
SEO research with operators:
{"keywords": ["site:competitor.com","intitle:\"buy shoes online\" -amazon -ebay","allintitle:python web scraping tutorial","\"price list\" filetype:pdf shoes","shoes after:2024-01-01 before:2024-12-31"],"maxResultsPerKeyword": 20,"maxItems": 500}
Output
Each result is a flat record. Example:
{"keyword": "apify","position": 1,"resultTitle": "Apify: Full-stack web scraping and data extraction platform","url": "https://apify.com/","displayUrl": "https://apify.com","snippet": "Cloud platform for web scraping, browser automation, AI agents, and data for AI. Use 25000+ ready-made tools, code templates, and proxies.","resultType": "organic","totalResults": "About 645,000 results","searchUrl": "https://www.google.com/search?q=apify&hl=en&gl=US&num=100","scrapedAt": "2026-04-19T10:30:00.000000+00:00","errorMessage": null}
Output fields
| Field | Description |
|---|---|
keyword | The keyword that produced this result |
position | Rank position (1 = top result) |
resultTitle | Page title from the search result |
url | Destination URL |
displayUrl | Shortened URL shown in the result listing |
snippet | Description text from the result card |
resultType | organic or ad |
totalResults | Google's estimated total result count |
searchUrl | Full Google search URL used |
scrapedAt | ISO 8601 timestamp |
errorMessage | Null on success; generic message on failure |
Google Search operators
Every keyword you pass goes directly into a Google Search query, so all standard Google Search operators work out of the box. Mix them freely with regular keywords.
Reliable operators
| Operator | What it does | Example |
|---|---|---|
" " | Match an exact word or phrase | "steve jobs" |
OR | Results related to X or Y | jobs OR gates |
| | Same as OR | jobs | gates |
AND | Results related to X and Y | jobs AND gates |
- | Exclude a word or phrase | jobs -apple |
* | Wildcard matching any word | steve * apple |
( ) | Group multiple terms | (ipad OR iphone) apple |
define: | Definition of a word | define:entrepreneur |
cache: | Most recent cached version of a page | cache:apple.com |
filetype: | Search for specific file types | apple filetype:pdf |
ext: | Same as filetype | apple ext:pdf |
site: | Results from a specific website | site:apple.com |
related: | Sites related to a domain | related:apple.com |
intitle: | Pages with a word in the title | intitle:apple |
allintitle: | Pages with multiple words in the title | allintitle:apple iphone |
inurl: | Pages with a word in the URL | inurl:apple |
allinurl: | Pages with multiple words in the URL | allinurl:apple iphone |
intext: | Pages containing a word in body text | intext:apple iphone |
allintext: | Pages containing multiple words in body text | allintext:apple iphone |
weather: | Weather for a location | weather:san francisco |
stocks: | Stock information for a ticker | stocks:aapl |
map: | Force map results | map:silicon valley |
movie: | Information about a movie | movie:steve jobs |
in | Unit conversion | $329 in GBP |
source: | Results from a specific source in Google News | apple source:the_verge |
before: | Results published before a date | apple before:2007-06-29 |
after: | Results published after a date | apple after:2007-06-29 |
Unreliable operators
These operators are documented by Google but may not work consistently:
| Operator | What it does | Example |
|---|---|---|
#..# | Search within a number range | iphone case $50..$60 |
inanchor: | Pages with specific anchor text in backlinks | inanchor:apple |
allinanchor: | Pages with multiple anchor text words | allinanchor:apple iphone |
AROUND(X) | Two terms within X words of each other | apple AROUND(4) iphone |
loc: | Results from a geographic area | loc:"san francisco" apple |
location: | News from a location (Google News) | location:"san francisco" apple |
daterange: | Results within a Julian date range | daterange:11278-13278 |
Operators can be combined freely. For example:
site:github.com "web scraper" python after:2023-01-01runs as a single keyword and returns matching results.
What people use it for
SEO teams use it to monitor where pages rank for target keywords. Content researchers use it to see what topics and domains dominate a search. Developers use it to build labeled datasets for training and evaluation. It also works for competitive analysis: run your competitor's brand name and see what shows up.
The includeAds option is useful if you are doing paid search research and want to see which advertisers are bidding on a keyword.
Notes
- Results are from the Google US English index (
hl=en&gl=US) - Google sometimes returns fewer results than the max you request, especially for niche keywords
- When a keyword fails, the actor saves a row with
errorMessageset and continues to the next keyword maxItemsis a total cap across all keywords combined, not per keyword
Legal
Intended for research, analytics, and educational use. Make sure your use case follows Google's Terms of Service and the laws in your jurisdiction.
