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.

Bing Search API

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.

view more
2. ADS

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.

view more

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.

view more

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.

view more
NEWS Search

News results are returned as a news array only when the type parameter is set to news.

view more

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.

view more
                            curl -X POST \
                                    -H 'accept: application/json' \
                                    -H 'authorization: Bearer API_TOKEN' \
                                    -H 'content-type: application/json' \
                                -d '{
                                    "data": {
                                        "q": "Coffee",
                                        "loc":"Texas,United States",
                                        "device": "desktop",
                                        "serp_type": "web"
                            require 'uri'
                            require 'net/http'

                            url = URI("")

                            http =, url.port)
                            http.use_ssl = true
                            http.verify_mode = OpenSSL::SSL::VERIFY_NONE

                            request =
                            request["accept"] = 'application/json'
                            request["content-type"] = 'application/json'
                            request["authorization"] = 'Bearer API_TOKEN'
                            request.body = '{"data": {
                                "domain": "",
                                "lang": "en",
                                "q": "Coffee",
                                "loc": "Texas,United States",
                                "device": "desktop",
                                "serp_type": "web"

                            response = http.request(request)
                            puts response.read_body
                            import requests
                            url = ""
                            payload = '{"data": {
                                "domain": "",
                                "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)
                            var http = require("https");

                            var options = {
                                "method": "POST",
                                "hostname": "",
                                "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) {

                                res.on("end", function () {
                                    var body = Buffer.concat(chunks);

                                data: {
                                    domain: '',
                                    lang: 'en',
                                    q: 'Coffee',
                                    loc: 'Texas,United States',
                                    device: 'desktop',
                                    serp_type: 'web'
                            $curl = curl_init();

                            curl_setopt_array($curl, array(
                                CURLOPT_URL => "",
                                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": {
                                    "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);


                            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": "",
                                "lang": "en",
                                "q": "Coffee",
                                "loc": "Texas,United States",
                                "device": "desktop",
                                "serp_type": "web"}}
                            Request request = new Request.Builder()
                                .addHeader("accept", "application/json")
                                .addHeader("content-type", "application/json")
                                .addHeader("authorization", "Bearer API_TOKEN")

                            Response response = client.newCall(request).execute();
                            package main

                            import (

                            func main() {
                                url := ""
                                payload := strings.NewReader('{"data": {
                                    "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)


Start free trial today

No credit card required • Cancel at any time • 100% satisfaction guaranteed.