Google Search Scraper

No credit card required!
Create a free account on Botster
Choose a bot and provide seed data
Start the bot and wait for completion
Download or share your results

About this bot

In short: This bot scrapes and returns up to 500 organic search results from Google SERPs for a provided list of queries.

Have a look at this example output file to understand what the results will look like.

Video tutorial

Take a quick look at how I'm launching this bot:

Now watch me show how the bot works in detail: 

How to scrape search results from Google?

  • Sign up for Botster
  • Open the bot's start page
  • Enter your search keywords (each keyword must go on a new line)
  • Pick the number of search results to parse
  • Select the operating system
  • Select the target device type (desktop or mobile)
  • Select your target language
  • Select the region you'd like to scrape the results for (city, country or state)
  • Click the "Start this bot" button

You're done!

How does Google scraper work?

The scraper will return the following data:

Google search scraper

This bot analyzes the Google results page returned in response to a given keyword query and visualizes the SEO-relevant elements in a convenient text feed containing:

  • Website’s position on SERP;
  • URL;
  • domain;
  • title;
  • description.

An SEO expert can use this data to run search analytics and identify their platform’s immediate competitors in the organic results.

Input data

Starting the bot will open a page containing several mandatory and optional fields.

The first step is to assign a unique name to the current query and to choose or create a folder that will store the output files. Afterward, you can proceed to the following settings:

  • Region – narrow down the results to a certain geographical location, in which case the bot will filter out all irrelevant domains. Leaving the field empty results in a global search.
  • Language – only show the results in a certain language. Leaving the field empty results in a global search.
  • Top positions – the number of search positions you would like to be displayed (10, 20, 50, Device – filter the websites according to the types of devices they are optimized to run on (PCs, tablets, smartphones).

Input the keywords you would like to analyze in the next field. If there are several, a new line should be used for each.

The last set of options allows to opt-in for notifications via:

  • e-mail;
  • Slack;
  • Telegram;
  • JSON POST request.

How to interpret the results

You can use the results in:

  • SEO
  • Analytics and data analysis
  • Competitive analysis

After identifying the resources that tend to receive preferential treatment from Google and land higher on the results page, an SEO expert can analyze the features they share and optimize their platform accordingly. This applies to design, tags, keywords, titles and so on.

To use this bot you need to register or log in first.

Frequently asked questions

Few easy steps: provide search queries; select search region; select language; pick device (desktop, mobile, tablet) – and that's it!

When the bot completes the job, you can easily extract and download the results as an Excel, JSON or a CSV file.

No! After launching the bot you can close your browser and the bot will notify you once the job is completed.

Endpoint: POST

Request body:

input string or array of strings (required)
Search keywords and phrases

device (required)
Available values: desktop, mobile

language (required)
ISO 639-1 two-letter language code.
Example: en

coordinates (required)
Select the location of the bot's user agent for geo-specific results.
JSON object containing location coordinates and zoom level.
Example: {"latitude": 40.721, "longitude": -73.997, "zoom": 15}

os (required)
Available values for desktop device: windows, macos
Available values for mobile device: android, ios

depth string (required)
Top positions
How many search results to extract?
Possible values:

1First organic result only
10Top 10
20Top 20
50Top 50
100Top 100
200Top 200
500Top 500

cron string (optional)
Set periodicity with which the process should execute. Use cron format.
Example: 0 8 * * * - run every day at 8AM

new_items_only boolean (optional)
The file will contain only the new items that appeared since the latest data crawl.

Your file is being prepared...