Google Search Results Scraper avatar

Google Search Results Scraper

Pricing

from $2.00 / 1,000 results

Go to Apify Store
Google Search Results Scraper

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

Kawsar

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

Google Search Results Scraper

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

FieldTypeDescriptionDefault
keywordsList of stringsSearch keywords to run
maxResultsPerKeywordIntegerMax results per keyword10
includeAdsBooleanInclude paid ad resultsfalse
maxItemsIntegerTotal result cap across all keywords100
requestTimeoutSecsIntegerPer-request timeout in seconds30

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

FieldDescription
keywordThe keyword that produced this result
positionRank position (1 = top result)
resultTitlePage title from the search result
urlDestination URL
displayUrlShortened URL shown in the result listing
snippetDescription text from the result card
resultTypeorganic or ad
totalResultsGoogle's estimated total result count
searchUrlFull Google search URL used
scrapedAtISO 8601 timestamp
errorMessageNull 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

OperatorWhat it doesExample
" "Match an exact word or phrase"steve jobs"
ORResults related to X or Yjobs OR gates
|Same as ORjobs | gates
ANDResults related to X and Yjobs AND gates
-Exclude a word or phrasejobs -apple
*Wildcard matching any wordsteve * apple
( )Group multiple terms(ipad OR iphone) apple
define:Definition of a worddefine:entrepreneur
cache:Most recent cached version of a pagecache:apple.com
filetype:Search for specific file typesapple filetype:pdf
ext:Same as filetypeapple ext:pdf
site:Results from a specific websitesite:apple.com
related:Sites related to a domainrelated:apple.com
intitle:Pages with a word in the titleintitle:apple
allintitle:Pages with multiple words in the titleallintitle:apple iphone
inurl:Pages with a word in the URLinurl:apple
allinurl:Pages with multiple words in the URLallinurl:apple iphone
intext:Pages containing a word in body textintext:apple iphone
allintext:Pages containing multiple words in body textallintext:apple iphone
weather:Weather for a locationweather:san francisco
stocks:Stock information for a tickerstocks:aapl
map:Force map resultsmap:silicon valley
movie:Information about a moviemovie:steve jobs
inUnit conversion$329 in GBP
source:Results from a specific source in Google Newsapple source:the_verge
before:Results published before a dateapple before:2007-06-29
after:Results published after a dateapple after:2007-06-29

Unreliable operators

These operators are documented by Google but may not work consistently:

OperatorWhat it doesExample
#..#Search within a number rangeiphone case $50..$60
inanchor:Pages with specific anchor text in backlinksinanchor:apple
allinanchor:Pages with multiple anchor text wordsallinanchor:apple iphone
AROUND(X)Two terms within X words of each otherapple AROUND(4) iphone
loc:Results from a geographic arealoc:"san francisco" apple
location:News from a location (Google News)location:"san francisco" apple
daterange:Results within a Julian date rangedaterange:11278-13278

Operators can be combined freely. For example: site:github.com "web scraper" python after:2023-01-01 runs 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 errorMessage set and continues to the next keyword
  • maxItems is a total cap across all keywords combined, not per keyword

Intended for research, analytics, and educational use. Make sure your use case follows Google's Terms of Service and the laws in your jurisdiction.


Try Google Search Results Scraper