Google Related Search Result API
Google searches that may be related to other search terms are presented with related search boxes or a related searches section, typically at the bottom of the search page.
JSON structure overview
{
"related_search": [
{
"title": "macbook air",
"link": "https://www.google.com/search?num=25&hl=en&gl=US&q=MacBook+Air&sa=X&ved=2ahUKEwj0waz464r_AhW1AbkGHTUyBLEQ1QJ6BAg1EAE"
},
{
"title": "costco macbook",
"link": "https://www.google.com/search?num=25&hl=en&gl=US&q=Costco+MacBook&sa=X&ved=2ahUKEwj0waz464r_AhW1AbkGHTUyBLEQ1QJ6BAgxEAE"
},
{
"title": "macbook laptop",
"link": "https://www.google.com/search?num=25&hl=en&gl=US&q=MacBook+laptop&sa=X&ved=2ahUKEwj0waz464r_AhW1AbkGHTUyBLEQ1QJ6BAgwEAE"
},
{
"title": "macbook m2",
"link": "https://www.google.com/search?num=25&hl=en&gl=US&q=MacBook+M2&sa=X&ved=2ahUKEwj0waz464r_AhW1AbkGHTUyBLEQ1QJ6BAgvEAE"
}
]
}
Results for: macbook pro
https://api.serphouse.com/serp/live?q=macbook+pro&domain=google.com&lang=en&device=desktop&serp_type=web&loc=Austin,Texas,United States&loc_id=1026201&verbatim=0&gfilter=0&page=1&num_result=100

Curl
Ruby
Python
Node.js
PHP
Java
GO
Curl
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": "macbook pro",
"loc":"Texas,United States",
"device": "desktop",
"serp_type": "web"
}
}'
Ruby
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": "macbook pro",
"loc": "Texas,United States",
"device": "desktop",
"serp_type": "web"
}}'
response = http.request(request)
puts response.read_body
Python
import requests, json
url = "https://api.serphouse.com/serp/live"
payload = json.dumps({
"data": {
"domain": "google.com",
"lang": "en",
"q": "macbook pro",
"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)
Node.js
var axios = require('axios');
var data = JSON.stringify({
data: {
domain: 'google.com',
lang: 'en',
q: 'macbook pro',
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);
});
PHP
$client = new GuzzleHttp\Client();
$headers= [
'Authorization' => 'Bearer API_TOKEN',
'Content-Type' => 'Application/json',
];
$body = '{
"data" : {
"domain": "google.com",
"lang": "en",
"q": "macbook pro",
"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();
Java
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", "macbook pro");
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());
GO
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": "macbook pro",
"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))
}
{
...
"related_search": [
{
"title": "macbook air",
"link": "https://www.google.com/search?num=25&hl=en&gl=US&q=MacBook+Air&sa=X&ved=2ahUKEwj0waz464r_AhW1AbkGHTUyBLEQ1QJ6BAg1EAE"
},
{
"title": "costco macbook",
"link": "https://www.google.com/search?num=25&hl=en&gl=US&q=Costco+MacBook&sa=X&ved=2ahUKEwj0waz464r_AhW1AbkGHTUyBLEQ1QJ6BAgxEAE"
},
{
"title": "macbook laptop",
"link": "https://www.google.com/search?num=25&hl=en&gl=US&q=MacBook+laptop&sa=X&ved=2ahUKEwj0waz464r_AhW1AbkGHTUyBLEQ1QJ6BAgwEAE"
},
{
"title": "macbook m2",
"link": "https://www.google.com/search?num=25&hl=en&gl=US&q=MacBook+M2&sa=X&ved=2ahUKEwj0waz464r_AhW1AbkGHTUyBLEQ1QJ6BAgvEAE"
}
]
...
}
Results for: samsung mobile
https://api.serphouse.com/serp/live?q=samsung+mobile&domain=google.com&lang=en&device=desktop&serp_type=web&loc=Austin,Texas,United States&loc_id=1026201&verbatim=0&gfilter=0&page=1&num_result=100

Curl
Ruby
Python
Node.js
PHP
Java
GO
Curl
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": "samsung mobile",
"loc":"Texas,United States",
"device": "desktop",
"serp_type": "web"
}
}'
Ruby
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": "samsung mobile",
"loc": "Texas,United States",
"device": "desktop",
"serp_type": "web"
}}'
response = http.request(request)
puts response.read_body
Python
import requests, json
url = "https://api.serphouse.com/serp/live"
payload = json.dumps({
"data": {
"domain": "google.com",
"lang": "en",
"q": "samsung mobile",
"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)
Node.js
var axios = require('axios');
var data = JSON.stringify({
data: {
domain: 'google.com',
lang: 'en',
q: 'samsung mobile',
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);
});
PHP
$client = new GuzzleHttp\Client();
$headers= [
'Authorization' => 'Bearer API_TOKEN',
'Content-Type' => 'Application/json',
];
$body = '{
"data" : {
"domain": "google.com",
"lang": "en",
"q": "samsung mobile",
"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();
Java
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", "samsung mobile");
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());
GO
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": "samsung mobile",
"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))
}
{
...
"related_search": [
{
"title": "samsung phones list",
"link": "https://www.google.com/search?num=25&hl=en&gl=US&q=Samsung+phones+list&sa=X&ved=2ahUKEwiD3o3t9Ir_AhVmkmoFHfIwBTMQ1QJ6BAgnEAE"
},
{
"title": "samsung galaxy phones",
"link": "https://www.google.com/search?num=25&hl=en&gl=US&q=Samsung+Galaxy+phones&sa=X&ved=2ahUKEwiD3o3t9Ir_AhVmkmoFHfIwBTMQ1QJ6BAglEAE"
},
{
"title": "samsung store",
"link": "https://www.google.com/search?num=25&hl=en&gl=US&q=Samsung+Store&sa=X&ved=2ahUKEwiD3o3t9Ir_AhVmkmoFHfIwBTMQ1QJ6BAgjEAE"
},
{
"title": "samsung galaxy s22",
"link": "https://www.google.com/search?num=25&hl=en&gl=US&q=Samsung+Galaxy+S22&sa=X&ved=2ahUKEwiD3o3t9Ir_AhVmkmoFHfIwBTMQ1QJ6BAghEAE"
},
{
"title": "samsung galaxy s22 ultra",
"link": "https://www.google.com/search?num=25&hl=en&gl=US&q=Samsung+Galaxy+S22+Ultra&sa=X&ved=2ahUKEwiD3o3t9Ir_AhVmkmoFHfIwBTMQ1QJ6BAggEAE"
},
{
"title": "samsung s23",
"link": "https://www.google.com/search?num=25&hl=en&gl=US&q=Samsung+S23&sa=X&ved=2ahUKEwiD3o3t9Ir_AhVmkmoFHfIwBTMQ1QJ6BAgeEAE"
}
]
...
}

Get in touch with us!
You may contact us from here for any concern.