Bing SERP api you can get below result snippets in JSON response
Image & News search are our new API features. To perform search over News or Images change the request param serp_type
to image
or news
as needed.
Organic search results are the main search results provided by Bing and are determined by a series of factors, such as web traffic, back-links, social media presence, and much more. These results are parsed by the API in detail and returned as organic
.
If Bing 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. Ads can be shown either at the top or at the bottom of the search result.
A Knowledge Graph is returned by Bing whenever there is enough imformation about the search query from Bing directly or from informational sources, such as Wikipedia. Knowledge Graphs will be returned in a knowledge_card
object by the API.
For many search queries Bing provides an additional set of frequently asked questions related to the search term. These related questions are returned by the API as a people_also_ask
array.
News results are returned as a news
array only when the type parameter is set to news.
If images are searched specifically, with the type parameter being set to image
, images are returned as an results array. If images are searched specifically, the API returns 100 images by default.
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":"bing.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": "bing.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": "bing.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: 'bing.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":"bing.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": "bing.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":"bing.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))
}
No credit card required • Cancel at any time • 100% satisfaction guaranteed.