Google SERP API
Are you looking for a trustworthy Google Search API? SERPHouse carries your back! Our API provides real-time, accurate, and simple integration with Google search results data. With SERP API, You can automate SERP Analysis and Monitoring . Try out our Google SERP API today and enhance your search functionality!
SERPHouse SERP API provides the Top-100 SERP results for a search term.
The results are specific to the selected search engine.
Assumes that you are familiar with SERP Types. On all the search engines we provides Web, Image and News results. You have to take care of `serp_type` param.
Google SERP api you can get below result snippets in JSON response
Recently, We have introduced Image & News API, Where you can perform
search and get result in json response
1. TOP STORIES
“Top Stories” is a feature on Google’s search engine results page (SERP) that shows the most recent news articles and updates on a particular topic. When users search for a specific topic that is currently trending or in the news, Google will display a “Top Stories” section at the top of the search results page, featuring a carousel of articles from various news sources.
This section is returned by the API as a top_stories array.


2. INLINE IMAGE
3. INLINE VIDEOS
Inline videos can be an important feature in the Google Search Engine Results Page (SERP) API because they can significantly impact the user’s search experience and engagement with the search results.
With the increasing popularity of video content online, inline videos can provide users with a more immersive and engaging experience by allowing them to preview and watch videos directly within the search results page. This can lead to longer user sessions on the search engine and higher engagement rates, which can in turn positively affect the ranking of the website hosting the video.
These videos are returned by the API within an inline_videos array.


4. PEOPLE ALSO ASK
For website owners and developers, “People also ask” can provide insights into the types of questions and topics that users are searching for related to their content. By analyzing the questions and answers provided in this section, website owners can identify additional keywords and topics that they may want to include in their content in order to improve their search engine visibility and provide more relevant information to their audience.
In addition, websites that are featured in the “People also ask” section may receive increased visibility and traffic from users who are interested in the related questions and topics. This can help to improve the overall ranking of the website in the search results and increase its visibility and authority in its niche.
These related questions are returned by the API as a people_also_ask array.
5. KNOWLEDGE CARD
The knowledge card can include various types of information, such as definitions, biographical information, historical events, and other relevant facts related to the search query. It is often used to provide users with a quick answer or overview of a topic, and it can be especially helpful for mobile users who are looking for information on the go.
The information displayed in a knowledge card is sourced from a variety of authoritative sources, including Wikipedia, Google’s Knowledge Graph, and other trusted sources. The knowledge card is designed to provide users with accurate and relevant information, and it can be a valuable tool for both users and businesses looking to increase their visibility and authority in search results.
Knowledge Graphs will be returned in a knowledge_card object by the API.


6. ADS
Ads results in the Google Search Engine Results Page (SERP) API are paid search ads that are displayed at the top and bottom of the search results page, and sometimes in other locations such as the right-hand column.
These ads are created by businesses and advertisers who want to target specific keywords or search queries related to their products or services. Advertisers bid on keywords and pay Google for each click on their ads, with the cost per click depending on factors such as the competitiveness of the keyword and the quality of the ad.
Ads results are typically displayed at the top of the search results page, above the organic results. They are marked with a small “Ad” label to indicate that they are paid search ads. Ads may also be displayed at the bottom of the page, and sometimes in other locations on the page such as the right-hand column.
If Google returns any sponsored ads for your search query, the API response will come with an ads object, which contains all ads in the order they are shown in the search result.
7. ORGANIC
Organic results in the Google Search Engine Results Page (SERP) API are the main search results that are displayed based on the user’s search query. These results are displayed below any paid ads, featured snippets, images, videos, or other search features that may appear on the search results page.
From an SEO perspective, organic search results are a critical component of search engine optimization. By optimizing their website and content for specific keywords and search queries, businesses can increase their chances of ranking higher in the organic search results and potentially attract more customers.
It’s important to note that organic search results can vary based on a variety of factors such as the user’s location, search history, and device type. Additionally, Google may also display different types of search features alongside the organic results, such as featured snippets, knowledge panels, and other search features.
These results are parsed by the API in detail and returned as organic.


8. RELATED SEARCHES
Related Searches in the Google Search Engine Results Page (SERP) API are a feature that displays additional search queries related to the user’s original search query.
When a user searches for a particular keyword or topic, Google may display a section at the bottom of the search results page with additional search suggestions related to the original query. These suggestions are based on Google’s analysis of the user’s search behavior and the most common search queries related to the original keyword.
Related Searches can be especially helpful for users who are looking to expand their search and find more information on a particular topic. They can also be helpful for users who may have misspelled or mistyped their original search query.
At the bottom of each search result, Google usually suggests other search queries related to the current query. These suggestions are returned by the API as a related_searches array.
9. NEWS RESULTS
results along with the regular search results. The news results typically include a list of news articles related to the search query, along with information such as the source, date, and time of publication.
News results can be especially helpful for users who are looking for the latest news and updates on a particular topic or event. They can also be helpful for users who are conducting research or looking for different perspectives on a particular news story.
To retrieve a result from Google News, You will need to change your API request param serp_type=news in order to perform a search on the news section.


10. IMAGE RESULTS
When a user searches for a particular topic or keyword, Google may display image results along with the regular search results. The image results typically include a grid of images related to the search query, which users can click on to view the full-size image or visit the source website.
being featured in image results can be a valuable tool for increasing visibility and driving traffic to a company’s website. By optimizing their website and online presence for image search, businesses can increase their chances of being featured in image results and potentially attract more customers.
To retrieve a result from Google Image, You will need to change your API request param serp_type = image in order to perform a search on the image section.
11. SHOPPING RESULTS
Shopping Results in the Google Search Engine Results Page (SERP) API are a feature that displays products for sale related to a search query.
When a user searches for a particular product, such as “running shoes,” Google may display shopping results at the top of the search results page. The shopping results typically include a list of products related to the search query, along with information such as their price, availability, and reviews.
Shopping results can be especially helpful for users who are looking to purchase a particular product. They provide users with a quick and easy way to compare prices and features across different retailers, as well as read reviews from other customers.
When doing a standard web search and product are provided by Google within the search results, these products are returned by the API within an shopping array.


12. MAP PACK
Local map packs in the Google Search Engine Results Page (SERP) API are a feature that displays a map and a list of local businesses related to a search query.
When a user searches for a local business or service, such as “pizza restaurant” or “auto repair shop,” Google may display a local map pack at the top of the search results page. The map pack typically includes a map of the area and a list of local businesses related to the search query, along with information such as their address, phone number, and website.
Local map packs can be especially helpful for users who are looking for local businesses or services in their area. They provide users with a quick and easy way to find relevant businesses, along with important information such as their location and contact information.
13. CAROUSEL
A “carousel” in the Google Search Engine Results Page (SERP) API refers to a feature that displays a series of related images or videos horizontally across the top of the search results page.
When a user searches for a particular topic or keyword, Google may display a carousel of related images or videos at the top of the search results page, above the regular search results. The carousel typically displays multiple images or videos that can be scrolled horizontally, with the first item usually displayed prominently.
Carousels can be used for a variety of search queries, including product searches, recipe searches, and entertainment-related searches, among others. For example, a search for “best pizza restaurants in New York City” may display a carousel of images featuring the top-rated pizza restaurants in the city.
These carousels are returned by the API within a carousel array.


14. TWEET
“Inline Tweets” is a feature in the Google Search Engine Results Page (SERP) API that displays relevant tweets related to a search query directly within the search results page.
When a user searches for a particular topic or keyword, Google may display relevant tweets related to that topic alongside the regular search results. The tweets are displayed in an “inline” format, meaning that they are integrated directly into the search results page and can be viewed without having to navigate to Twitter or another social media platform.
Inline tweets can provide users with a quick and easy way to access real-time information and updates related to a particular topic. They can be especially helpful for breaking news events or other time-sensitive topics where users want to stay up-to-date with the latest information.
When doing a standard web search and tweets are provided by Google within the search results, these tweets are returned by the API within a tweet array.
Easy Integration
Select your favoured integration method and copy
the provided code.
curl -X POST \
https://api.serphouse.com/serp/live \
-H 'accept: application/json' \
-H 'authorization: Bearer API_TOKEN' \
-H 'content-type: application/json' \
-d '{
"data": {
"domain":"google.com",
"lang":"en",
"q": "Coffee",
"loc":"Texas,United States",
"device": "desktop",
"serp_type": "web"
}
}'
require 'uri'
require 'net/http'
url = URI("https://api.serphouse.com/serp/live")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Post.new(url)
request["accept"] = 'application/json'
request["content-type"] = 'application/json'
request["authorization"] = 'Bearer API_TOKEN'
request.body = '{"data": {
"domain": "google.com",
"lang": "en",
"q": "Coffee",
"loc": "Texas,United States",
"device": "desktop",
"serp_type": "web"
}}'
response = http.request(request)
puts response.read_body
import requests
url = "https://api.serphouse.com/serp/live"
payload = '{"data": {
"domain": "google.com",
"lang": "en",
"q": "Coffee",
"loc": "Texas,United States",
"device": "desktop",
"serp_type": "web"
}}'
headers = {
'accept': "application/json",
'content-type': "application/json",
'authorization': "Bearer API_TOKEN"
}
response = requests.request("POST", url, data=payload, headers=headers)
print(response.text)
var http = require("https");
var options = {
"method": "POST",
"hostname": "https://api.serphouse.com",
"port": null,
"path": "/serp/live",
"headers": {
"accept": "application/json",
"content-type": "application/json",
"authorization": "Bearer API_TOKEN"
}
};
var req = http.request(options, function (res) {
var chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function () {
var body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.write(JSON.stringify({
data: {
domain: 'google.com',
lang: 'en',
q: 'Coffee',
loc: 'Texas,United States',
device: 'desktop',
serp_type: 'web'
}
}));
req.end();
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://api.serphouse.com/serp/live",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => '{"data": {
"domain":"google.com",
"lang": "en",
"q": "Coffee",
"loc": "Texas,United States",
"device": "desktop",
"serp_type": "web"
}}',
CURLOPT_HTTPHEADER => array(
"accept: application/json",
"authorization: Bearer API_TOKEN",
"content-type: application/json"
),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
}
else {
echo $response;
}
OkHttpClient client = new OkHttpClient();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, '{"data": {
"domain": "google.com",
"lang": "en",
"q": "Coffee",
"loc": "Texas,United States",
"device": "desktop",
"serp_type": "web"}}
');
Request request = new Request.Builder()
.url("https://api.serphouse.com/serp/live")
.post(body)
.addHeader("accept", "application/json")
.addHeader("content-type", "application/json")
.addHeader("authorization", "Bearer API_TOKEN")
.build();
Response response = client.newCall(request).execute();
package main
import (
"fmt"
"strings"
"net/http"
"io/ioutil"
)
func main() {
url := "https://api.serphouse.com/serp/live"
payload := strings.NewReader('{"data": {
"domain":"google.com",
"lang": "en",
"q": "Coffee",
"loc": "Texas,United States",
"device": "desktop",
"serp_type": "web"}}
')
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("accept", "application/json")
req.Header.Add("content-type", "application/json")
req.Header.Add("authorization", "Bearer API_TOKEN")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := ioutil.ReadAll(res.Body)
fmt.Println(res)
fmt.Println(string(body))
}
curl -X POST \
https://api.serphouse.com/serp/live \
-H 'accept: application/json' \
-H 'authorization: Bearer API_TOKEN' \
-H 'content-type: application/json' \
-d '{
"data": {
"domain":"google.com",
"lang":"en",
"q": "Coffee",
"loc":"Texas,United States",
"device": "desktop",
"serp_type": "web"
}
}'
require 'uri'
require 'net/http'
url = URI("https://api.serphouse.com/serp/live")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Post.new(url)
request["accept"] = 'application/json'
request["content-type"] = 'application/json'
request["authorization"] = 'Bearer API_TOKEN'
request.body = '{"data": {
"domain": "google.com",
"lang": "en",
"q": "Coffee",
"loc": "Texas,United States",
"device": "desktop",
"serp_type": "web"
}}'
response = http.request(request)
puts response.read_body
import requests, json
url = "https://api.serphouse.com/serp/live"
payload = json.dumps({
"data": {
"domain": "google.com",
"lang": "en",
"q": "Coffee",
"loc": "Texas,United States",
"device": "desktop",
"serp_type": "web"
}
})
headers = {
'accept': "application/json",
'content-type': "application/json",
'authorization': "Bearer API_TOKEN"
}
response = requests.request("POST", url, data=payload, headers=headers)
print(response.text)
var axios = require('axios');
var data = JSON.stringify({
data: {
domain: 'google.com',
lang: 'en',
q: 'Coffee',
loc: 'Texas,United States',
device: 'desktop',
serp_type: 'web'
}
});
var config = {
"method": "POST",
"url": "https://api.serphouse.com/serp/live",
"headers": {
"content-type": "application/json",
"authorization": "Bearer API_TOKEN"
},
data : data
};
axios(config)
.then(function (response) {
console.log(JSON.stringify(response.data));
})
.catch(function (error){
console.log(error);
});
$client = new GuzzleHttp\Client();
$headers= [
'Authorization' => 'Bearer API_TOKEN',
'Content-Type' => 'Application/json',
];
$body = '{
"data" : {
"domain": "google.com",
"lang": "en",
"q": "Coffee",
"loc": "Texas,United States",
"device": "desktop",
"serp_type": "web"
}}';
$request = new GuzzleHttp\Psr7\Request('POST','https://api.serphouse.com/serp/live', $headers, $body);
$res = $client->sendAsync($request)->wait();
OkHttpClient client = new OkHttpClient().newBuilder().build();
MediaType mediaType = MediaType.parse("application/json");
JSONObject jsonObject = new JSONObject();
JSONObject data = new JSONObject();
data.put("domain", "google.com");
data.put("lang", "en");
data.put("q", "Coffee");
data.put("loc", "Texas,United States");
data.put("device", "desktop");
data.put("serp_type", "web");
jsonObject.put("data", data);
String bodyJson = jsonObject.toString();
RequestBody body = RequestBody.create(mediaType, bodyJson);
Request request = new Request.Builder()
.url("https://api.serphouse.com/serp/live")
.method("POST", body)
.addHeader("content-type", "application/json")
.addHeader("authorization", "Bearer API_TOKEN")
.build();
Response response = client.newCall(request).execute();
System.out.println(response.body().string());
package main
import (
"fmt"
"strings"
"net/http"
"io/ioutil"
)
func main() {
url := "https://api.serphouse.com/serp/live"
payload := strings.NewReader(`{"data": {
"domain":"google.com",
"lang": "en",
"q": "Coffee",
"loc": "Texas,United States",
"device": "desktop",
"serp_type": "web"}}
`)
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("accept", "application/json")
req.Header.Add("content-type", "application/json")
req.Header.Add("authorization", "Bearer API_TOKEN")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := ioutil.ReadAll(res.Body)
fmt.Println(res)
fmt.Println(string(body))
}

You may contact us from here for any concern.