Links

Live (Using HTTP POST method)

Performing a realtime search using HTTP POST is very simple to the SERPHouse live endpoint.
Requires authentication
post
https://api.serphouse.com/serp/live
Parameters
Path
responseType
responseType can be 'html' or 'json'
Header
Authorization*
Bearer <YOUR_API_TOKEN>
Content-Type*
application/json
Body
q*
string
Search phrase that you want to search
domain*
string
Choose google ,bing or yahoo domain.
You can get the list of available search engines by making a separate request to the List of Search Engines
lang*
string
You can set language for e.g. en for english fr for french. Get the list of available languages by making a separate request to the List of Language
device*
string
Device can be desktop To extract desktop result tablet To extract tablet result mobile To extract mobile result
serp_type*
string
Serp type can be web Get structured json result search engines web result
news Get news result from search engines image Search image over searchengines and get json result
shop Get a results of a Google Shopping search from search engines
loc*
string
Optional field if you specify loc_id when choose yahoo domain then field is optional You must choose one of the fields: loc_id or loc You can receive the list of available locations of search engines with their loc_id by making a separate request to the List of Locations
loc_id*
integer
Optional field if you specify loc you must choose one of the fields: loc_id or loc You can receive the list of available locations of search engines with their loc_id by making a separate request to the List of Locations
verbatim
integer
Set Google Verbatim search, Parameter value can be 0 or 1
gfilter
integer
Parameter defines if the filters for 'Similar Results' and 'Omitted Results' are on or off. It can be set to 1 (default) to enable these filters, or 0 to disable these filters.
date_range
String
Sometimes you may want to only find information published during a specific time frame. To limit Google results by date
Parameter values can be comma seprated date range YYYY-MM-DD,YYYY-MM-DD OR
h Past hour
d Past 24 hours
w Past week
m Past month
y Past year
page
integer
Give specific page to get the result of that page number. By default it will get you first page.
num_result
integer
Define number of result you want to get per page. By default you will get top 100 results.
Responses
200: OK
Successful operation for web
200: OK
Successful operation for news
200: OK
Successful operation for image
200: OK
Successful operation for shop
200: OK
Please try again
400: Bad Request
Failed validation
400: Bad Request
Failed validation
401: Unauthorized
Unauthenticated
402: Payment Required
Failed operation

, Example request:

BASH
RUBY
PYTHON
NODE.JS
PHP
JAVA
JAVASCRIPT
GO
C#/.NET
curl --location --request POST 'https://api.serphouse.com/serp/live' \
--header 'Authorization: Bearer <YOUR_API_TOKEN>' \
--header 'Content-Type: application/json' \
--data-raw '{
"data": {
"q" : "apple",
"domain" : "google.com",
"lang" : "en",
"device" : "desktop",
"serp_type" : "web",
"loc" : "Alba,Texas,United States",
"loc_id" : "1026201",
"verbatim" : "0",
"gfilter" : "0",
"page" : "1",
"num_result" : "10"
}
}'
require "uri"
require "json"
require "net/http"
url = URI("https://api.serphouse.com/serp/live")
https = Net::HTTP.new(url.host, url.port)
https.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = "application/json"
request["Authorization"] = "Bearer <YOUR_API_TOKEN>"
request.body = JSON.dump({
"data": {
"q": "appleapple",
"domain": "google.com",
"lang": "en",
"device": "desktop",
"serp_type": "web",
"loc": "Alba,Texas,United States",
"loc_id": "1026201",
"verbatim": "0",
"gfilter": "0",
"page": "1",
"num_result": "10"
}
})
response = https.request(request)
puts response.read_body
import requests
import json
url = "https://api.serphouse.com/serp/live"
payload = json.dumps({
"data": {
"q": "apple",
"domain": "google.com",
"lang": "en",
"device": "desktop",
"serp_type": "web",
"loc": "Alba,Texas,United States",
"loc_id": "1026201",
"verbatim": "0",
"gfilter": "0",
"page": "1",
"num_result": "10"
}
})
headers = {
'Authorization': 'Bearer <YOUR_API_TOKEN>',
'Content-Type': 'application/json'
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)
var axios = require('axios');
var data = JSON.stringify({
"data": {
"q": "apple",
"domain": "google.com",
"lang": "en",
"device": "desktop",
"serp_type": "web",
"loc": "Alba,Texas,United States",
"loc_id": "1026201",
"verbatim": "0",
"gfilter": "0",
"page": "1",
"num_result": "10"
}
});
var config = {
method: 'post',
url: 'https://api.serphouse.com/serp/live',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer <YOUR_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 <YOUR_API_TOKEN>',
'Content-Type' => 'application/json'
];
$body = '{
"data": {
"q": "apple",
"domain": "google.com",
"lang": "en",
"device": "desktop",
"serp_type": "web",
"loc": "Alba,Texas,United States",
"loc_id": "1026201",
"verbatim": "0",
"gfilter": "0",
"page": "1",
"num_result": "10"
}
}';
$request = new GuzzleHttp\Psr7\Request('POST', 'https://api.serphouse.com/serp/live', $headers, $body);
$res = $client->sendAsync($request)->wait();
echo $res->getBody();
OkHttpClient client = new OkHttpClient().newBuilder().build();
MediaType mediaType = MediaType.parse("application/json");
JSONObject jsonObject = new JSONObject();
JSONObject dataObject = new JSONObject();
dataObject.put("q", "apple");
dataObject.put("domain", "google.com");
dataObject.put("lang", "en");
dataObject.put("device", "desktop");
dataObject.put("serp_type", "shop");
dataObject.put("loc", "Alba,Texas,United States");
dataObject.put("loc_id", "1026201");
dataObject.put("verbatim", "0");
dataObject.put("gfilter", "0");
dataObject.put("page", "1");
dataObject.put("num_result", "10");
jsonObject.put("data", dataObject);
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 <YOUR_API_TOKEN>")
.build();
Response response = client.newCall(request).execute();
System.out.println(response.body().string());
var myHeaders = new Headers();
myHeaders.append("Authorization", "Bearer <YOUR_API_TOKEN>");
myHeaders.append("Content-Type", "application/json");
var raw = JSON.stringify({
"data": {
"q": "apple",
"domain": "google.com",
"lang": "en",
"device": "desktop",
"serp_type": "web",
"loc": "Alba,Texas,United States",
"loc_id": "1026201",
"verbatim": "0",
"gfilter": "0",
"page": "1",
"num_result": "10"
}
});
var requestOptions = {
method: 'POST',
headers: myHeaders,
body: raw,
redirect: 'follow'
};
fetch("https://api.serphouse.com/serp/live", requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));
package main
import (
"fmt"
"strings"
"net/http"
"io/ioutil"
)
func main() {
url := "https://api.serphouse.com/serp/live"
method := "POST"
payload := strings.NewReader(`{
"data": {
"q": "apple",
"domain": "google.com",
"lang": "en",
"device": "desktop",
"serp_type": "web",
"loc": "Alba,Texas,United States",
"loc_id": "1026201",
"verbatim": "0",
"gfilter": "0",
"page": "1",
"num_result": "10"
}
}`)
client := &http.Client {
}
req, err := http.NewRequest(method, url, payload)
if err != nil {
fmt.Println(err)
return
}
req.Header.Add("Content-Type", "application/json")
req.Header.Add("Authorization", "Bearer <YOUR_API_TOKEN>")
res, err := client.Do(req)
if err != nil {
fmt.Println(err)
return
}
defer res.Body.Close()
body, err := ioutil.ReadAll(res.Body)
if err != nil {
fmt.Println(err)
return
}
fmt.Println(string(body))
}
var client = new RestClient("https://api.serphouse.com/serp/live");
client.Timeout = -1;
var request = new RestRequest(Method.POST);
request.AddHeader("Content-Type", "application/json");
request.AddHeader("Authorization", "Bearer <YOUR_API_TOKEN>");
var body = @"{
""data"": {
""q"": ""apple"",
""domain"": ""google.com"",
""lang"": ""en"",
""device"": ""desktop"",
""serp_type"": ""web"",
""loc"": ""Alba,Texas,United States"",
""loc_id"": ""1026201"",
""verbatim"": ""0"",
""gfilter"": ""0"",
""page"": ""1"",
""num_result"": ""10""
}
}";
request.AddParameter("application/json", body, ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);