Rotating Proxy Network
Our API includes a built-in rotating proxy system that automatically changes IP addresses for every request.
Extract Google search results in real time with our Google SERP API. Get organic results, ads, snippets, and more without managing proxies, browsers, or blocks.
"organic_results": [
{
"title": "Scrapingdog: Best Web Scraping API",
"link": "https://www.scrapingdog.com/",
"displayed_link": "https://www.scrapingdog.com",
"favicon": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAA...",
"source": "Scrapingdog",
"snippet": "Scrapingdog is your all-in-one Web Scraping API, effortlessly managing proxies and headless browsers, allowing you to extract the data you need with ease.",
"highlighted_keywords": [
"Scrapingdog"
],
"extended_sitelinks": [
{
"title": "LinkedIn Profile Scraper API",
"link": "https://www.scrapingdog.com/linkedin-scraper-api/",
"snippet": "Real-time data for name, location, followers, company size ..."
},
{
"title": "Google SERP API",
"link": "https://www.scrapingdog.com/google-search-api/",
"snippet": "Our Google Scraping API is designed to be easy to use and ..."
},
{
"title": "Blog",
"link": "https://www.scrapingdog.com/blog/",
"snippet": "Scrapingdog Blog. Designed with you in mind, our web scraping ..."
},
{
"title": "Documentation",
"link": "https://docs.scrapingdog.com/",
"snippet": "Documentation. You can start scraping any website in literally ..."
},
{
"title": "About",
"link": "https://www.scrapingdog.com/about/",
"snippet": "Inspired by this success, I came up with the idea for Scrapingdog ..."
}
],
"rank": 1
}
]"ads": [
{
"position": 1,
"block_position": "top",
"title": "Hotels In Barcelona, Spain",
"snippet": "Best Price Guarantee, Book your Hotel in Barcelona, Spain. Quick, Easy Booking. No Reservation Costs. Choose from a wide range of properties which Booking.com offers. Search now! No Booking Fees.",
"displayed_link": "http://www.booking.com",
"link": "https://www.booking.com/city/es/barcelona.html",
"tracking_link": "https://www.google.com/aclk?sa=L&ai=DChsSEwj2y-L9iuWPAxWeR0cBHYRFDHIYACICCAEQABoCcXU&co=1&ase=2&gclid=EAIaIQobChMI9svi...&adurl",
"sitelinks": [
{
"title": "Best Hotels In Barcelona",
"link": "/aclk?sa=L&ai=DChsSEwj2y-L9...&q="
},
{
"title": "Book Near City Centre",
"link": "/aclk?sa=L&ai=DChsSEwj2y-L9...&q="
},
{
"title": "Top Reviewed Hotels",
"link": "https://www.booking.com/go.html?slc=r1;aid=336408;label="
},
{
"title": "Book for Tonight",
"link": "https://www.booking.com/go.html?slc=b1;aid=336408;label="
}
]
}
]"local_results": [
{
"position": 1,
"title": "Caffe AND",
"place_id": "16258732668445657352",
"rating": "4.8",
"reviews": "269",
"address": "4.8(269) · $1–10 · Cafe",
"hours": "Fort Lee, NJ",
"links": {}
}
]"ai_overview": {
"text_blocks": [
{
"type": "paragraph",
"snippet": "Scrapingdog is a web scraping API and data extraction tool designed to collect structured data from websites using headless Chrome, proxy rotation, and CAPTCHA solving. It converts HTML from complex, JavaScript-heavy sites into usable JSON, allowing users to scrape Amazon, LinkedIn, and Google SERPs without getting blocked.",
"snippet_highlighted_words": [
"a web scraping API and data extraction tool designed to collect structured data from websites using headless Chrome, proxy rotation, and CAPTCHA solving"
]
},
{
"type": "paragraph",
"snippet": "Key Features and Capabilities:",
"snippet_highlighted_words": [
"Key Features and Capabilities:"
]
},
{
"type": "list",
"list": [
{
"snippet": "Headless Browser Rendering: Renders JavaScript-heavy pages to scrape dynamic content, similar to a real user."
}
]
},
{
"type": "video",
"video_links": [
{
"link": "https://www.youtube.com/watch?v=vFoXkC8lFUg",
"channel": "Scrapingdog",
"source": "YouTube",
"date": "Mar 24, 2025"
}
]
}
],
"references": [
{
"title": "Scrapingdog: Scalable Web Scraping API for Data Extraction.",
"link": "https://www.scrapingdog.com/",
"snippet": "Real Browser Rendering. We use headless Chrome, so every JavaScript-heavy or lazy-loaded page opens just like it does in a real br...",
"source": "Scrapingdog",
"index": 0
},
{
"title": "What is Scrapingdog | Introduction Video | How To Use Scrapingdog API.",
"link": "https://www.youtube.com/watch?v=GOxYIfnvB-w&t=10",
"snippet": "so scraping dog has two kinds of scrapers. like first one is a general scraper through which you can scrape any website and in ret...",
"source": "YouTube",
"index": 1
}
]
}"peopleAlsoAskedFor": [
{
"question": "What do you mean by scraping?",
"rank": 1,
"title": "AI Overview",
"text_blocks": [
{
"type": "paragraph",
"snippet": "\"Scraping\" can refer to physically rubbing a surface to clean, remove something, or produce a harsh sound. It can also refer to the automated process of extracting data from websites to save it into files or spreadsheets."
},
{
"type": "paragraph",
"snippet": "Here's a breakdown of the different meanings:"
},
{
"type": "paragraph",
"snippet": "Producing a Sound: The act of rubbing against something to make a harsh, grating noise. Example: The sound of chairs scraping on a floor."
},
{
"type": "paragraph",
"snippet": "Data Scraping: The automated process of extracting data from websites to save it into files or spreadsheets."
}
],
"references": [
{
"title": "SCRAPE Definition & Meaning - Merriam-Webster",
"link": "https://www.merriam-webster.com/dictionary/scrape",
"snippet": "fingernails scraping against a blackboard the sound of chairs scraping on the floor as people stood to leave The boat sc...",
"source": "Merriam-Webster"
},
{
"title": "What Is Data Scraping? Definition & Usage - Okta",
"link": "https://www.okta.com/identity-101/data-scraping/",
"snippet": "Data Scraper opens in a new tab: This Chrome extension pulls data from any page you're visiting into the form you choose...",
"source": "Okta"
}
]
}
]import requests
api_key = "5eaa61a6e562fc52fe763tr516e4653"
url = "https://api.scrapingdog.com/google/"
params = {
"api_key": api_key,
"query": "football",
"results": "10",
"country": "us",
"page": "0"
}
response = requests.get(url, params=params)
if response.status_code == 200:
data = response.json()
print(data)
else:
print(f"Request failed with status code: {response.status_code}")import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.io.IOException;
public class Main {
public static void main(String[] args) {
try {
// Set the API key and request parameters
String apiKey = "5eaa61a6e562fc52fe763tr516e4653";
String query = "football";
String results = "10";
String country = "us";
String page = "0";
// Construct the API endpoint URL
String apiUrl = "https://api.scrapingdog.com/google/?api_key=" + apiKey
+ "&query=" + query
+ "&results=" + results
+ "&country=" + country
+ "&page=" + page;
URL url = new URL(apiUrl);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
int responseCode = connection.getResponseCode();
if (responseCode == 200) {
BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
String inputLine;
StringBuilder response = new StringBuilder();
while ((inputLine = reader.readLine()) != null) {
response.append(inputLine);
}
reader.close();
System.out.println(response.toString());
} else {
System.out.println("HTTP request failed with response code: " + responseCode);
}
connection.disconnect();
} catch (IOException e) {
e.printStackTrace();
}
}
}<?php
// Set the API key and request parameters
$api_key = '5eaa61a6e562fc52fe763tr516e4653';
$query = 'football';
$results = '10';
$country = 'us';
$page = '0';
// Set the API endpoint
$url = 'https://api.scrapingdog.com/google/?api_key=' . $api_key . '&query=' . $query . '&results=' . $results . '&country=' . $country . '&page=' . $page;
// Initialize cURL session
$ch = curl_init($url);
// Set cURL options
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// Execute the cURL request
$response = curl_exec($ch);
// Check if the request was successful
if ($response === false) {
echo 'cURL error: ' . curl_error($ch);
} else {
echo $response;
}
// Close the cURL session
curl_close($ch);require 'net/http'
require 'uri'
# Set the API key and request parameters
api_key = '5eaa61a6e562fc52fe763tr516e4653'
query = 'football'
results = '10'
country = 'us'
page = '0'
# Construct the API endpoint URL
url = URI.parse("https://api.scrapingdog.com/google/?api_key=#{api_key}&query=#{query}&results=#{results}&country=#{country}&page=#{page}")
# Create an HTTP GET request
request = Net::HTTP::Get.new(url)
# Create an HTTP client
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true # Enable SSL (https)
# Send the request and get the response
response = http.request(request)
# Check if the request was successful
if response.is_a?(Net::HTTPSuccess)
puts response.body
else
puts "HTTP request failed with code: #{response.code}, message: #{response.message}"
endconst axios = require('axios');
const api_key = '5eaa61a6e562fc52fe763tr516e4653';
const url = 'https://api.scrapingdog.com/google/';
const params = {
api_key: api_key,
query: 'football',
results: '10',
country: 'us',
page: '0',
};
axios
.get(url, { params: params })
.then(function (response) {
if (response.status === 200) {
const data = response.data;
console.log(data);
} else {
console.log('Request failed with status code: ' + response.status);
}
})
.catch(function (error) {
console.error('Error making the request: ' + error.message);
});titledescriptionpositiondisplayed_urlsitelinksrich_snippetsdatefeatured_snippetanswer_boxtop_storiesthumbnailrelated_searchpublished_datetitledescriptionpositiondisplayed_urlsitelinksrich_snippetsdatelocal_resultssourcemap_resultsratingspublished_datephonehoursnews_resultsimage_resultssourcethumbnailpublished_datetotal_resultssearch_timenext_page_tokenlanguagelocationdeviceWithout Scrapingdog, you need to manage proxies, handle CAPTCHA, parse raw HTML, and deal with frequent blocks.
Requires proxy setup, CAPTCHA handling, and complex parsing, making scraping slow and unreliable.
Managing proxies, blocks, and raw data manually makes the workflow difficult to maintain.
Manual scraping needs constant fixes, monitoring, and infrastructure to keep running.
Frequent blocks and unstructured data make manual scraping unreliable.
With Scrapingdog, one API call handles proxies, CAPTCHA, parsing, and scaling, so you focus on your data.
Get real-time SERP data in JSON instantly without managing proxies, blocks, or parsing.
Use one API to get structured results with high speed and reliability.
Handle millions of requests with stable performance and no maintenance.
Built-in proxies, automatic CAPTCHA handling, and structured data make scraping fast, stable, and easy to scale.
Our API includes a built-in rotating proxy system that automatically changes IP addresses for every request.
Scrapingdog automatically bypasses CAPTCHA and anti-bot protection used by search engines.
All important fields like organic results, ads, and metadata are ready to use without complex parsing.
Our API ensures you always receive the latest rankings, ads, and SERP features instantly.
Our powerful infrastructure is designed to deliver reliable results every time.
Receive search results in just a few seconds with our high-performance Google scraping API.
Map the competitive landscape by scraping Google search results to see how competitors rank.
Identify gaps in your content strategy by analyzing frequently searched queries your site does not address.
Monitor the performance and visibility of ad campaigns by scraping the position of ads in search results.
Detect emerging trends and popular topics by analyzing frequently searched terms and search result content.
Create a rank tracker to monitor and report on keyword rankings across different search engines.
Gather resources for academic or industry-specific research by collecting search results for specific queries.
Sign up and get free credits to start testing the SERP API.
Access your unique API key from the dashboard and use it to scrape the data.
Make an API call with your query and location to fetch search results.
Get clean JSON with organic results, ads, maps, and SERP features.
Start your web scraping journey with 200 free credits. Test our service and upgrade to one of the plans below. Cancel anytime.

I’ve been using Scrapingdog for a few days and I’ve found it very user-friendly. Setting up my first data extraction was simple, and the interface makes it easy to understand each step.
United States
Their API success rate is 100% on the tests that I have done. The service seems very reliable.
New York, USA
Reliable, and simple to use! It’s also inexpensive and has packaged solutions for every need (Google, LinkedIn). Highly recommend.
France
Amazing service. I am using it for Google Maps reviews and it works perfectly. I have also used Live chat and they were very fast and punctual on responses. 100% recommended.
Italy
A Google SERP API allows you to extract search engine results like organic listings, ads, and featured snippets in structured JSON format without handling scraping complexity.
You can use our Universal Search API to extract data from multiple search engines like Google, Bing, Baidu & Yahoo with a single API call. The output data you get is filtered and structured.
Yes, other than the data from search results, we have dedicated APIs for Google Scholar, Google Images, Google Lens, and more.
You can scrape Google search results by sending a query to a SERP API with parameters like keyword and location. The API returns structured data without requiring manual parsing or dealing with blocks.
Building your own scraper requires handling proxies, CAPTCHAs, JavaScript rendering, and frequent layout changes. A SERP API simplifies this by providing reliable, structured data with minimal setup.
Google does offer an API to extract search results, but it comes with restrictions such as a daily request limit. It is also very expensive.
Get 200 free credits to spin the API. No credit card required!