Bing SERP API
Bing SERP API allows developers to access search engine results pages (SERPs) from Bing, Microsoft’s search engine. This API provides developers with the ability to programmatically retrieve search results data, including organic search results, paid search results, and related search queries. By integrating Bing SERP API into their applications, developers can enhance the search capabilities of their products or services, create custom SEO and marketing tools, and perform in-depth analysis of search trends and user behavior.
SERPHouse provides the Top-100 SERP results for a search term. The results are specific to the selected search engine
Using Bing 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
Organic results on Bing are displayed below any paid ads or sponsored results, and they are typically presented in a list format, with a title, meta description, and URL for each result. Bing’s algorithms strive to provide the most relevant and useful organic search results to users based on their search queries, and websites can improve their chances of appearing in organic search results by optimizing their website content and adhering to best practices for search engine optimization (SEO).
These results are parsed by the API in detail and returned as organic .


“People Also Ask” (PAA) is a feature on Bing search engine results pages (SERPs) that displays a list of related questions that are often asked by users who have searched for a particular query. PAA is designed to help users find the information they need more easily and quickly by providing additional relevant questions and answers related to their initial search query.
These related questions are returned by the API as a people_also_ask array.
Carousel results are a feature in Bing search engine results pages (SERPs) that display a horizontal strip of images, videos, or other multimedia content related to a user’s search query. This feature is designed to provide users with a more engaging and visually rich search experience, and to help them quickly find the information they’re looking for.
These carousels are returned by the API within an carousel array.


A knowledge panel is a feature in Bing search engine results pages (SERPs) that provides users with a summarized view of information related to a specific entity, such as a person, place, or organization. The knowledge panel is designed to provide users with a quick and convenient way to access information about the entity they’re searching for, without having to click through to other websites or pages.
The information presented in a knowledge panel can vary depending on the entity being searched for, but may include basic information such as the entity’s name, description, images, and location, as well as more detailed information such as contact details, social media profiles, and related entities.
Knowledge cards information can be returned in a knowledge_card object by the API.
Ads results are a type of search engine result that appears on Bing search engine results pages (SERPs) and is displayed in response to a user’s search query. Ads results, also known as sponsored results, are paid advertisements that are designed to promote a product or service related to the user’s search query.
Ads results are displayed at the top and bottom of the search engine results page, and they are labeled as “Ad” to distinguish them from organic search results.
From a marketing perspective, ads results can be a valuable way to reach a targeted audience and drive traffic to a website or product page.
Any sponsored ads for your search query can be found in ads object.


Related search is a feature on Bing search engine results pages (SERPs) that displays a list of related search queries that are related to the user’s original search query. These related searches are designed to help users refine their search and find more specific or relevant information related to their original search.
Related search results appear at the bottom of the search engine results page and may include variations of the original search query, as well as related topics or concepts.
These suggestions are returned by the API as a related_searches array.
Bing News Search is a specialized search engine provided by Bing that allows users to search for news articles and stories related to a specific topic or keyword. Bing News Search provides users with up-to-date news coverage from a wide range of sources, including news websites, blogs, and social media.
When a user enters a search query into Bing News Search, the search engine returns a list of relevant news articles and stories, along with the source of the article, the date it was published, and a brief summary of the content. Users can click on any of the articles to read the full story or click on the source to visit the website where the article was originally published.
News results are returned as a news array only when the serp_type parameter is set to news.


8. IMAGE RESULTS
Bing Image Search is a feature of Bing search engine that allows users to search for images related to a specific keyword or topic. With Bing Image Search, users can easily find images for personal or commercial use, from a wide range of sources including websites, social media, and stock image libraries.
When a user enters a search query into Bing Image Search, the search engine returns a list of relevant images along with a brief description of the image and its source. Users can filter results by size, color, type, and license to find images that meet their specific needs.
Images can be searched specifically, with the serp_type parameter being set to image, images are returned as an results 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.