Get Bing Organic SERP Results by id

checked GET
Pricing

Your account will be charged only for posting a task. You can get the results of the task within the next 30 days for free.
The cost can be calculated on the Pricing page.

Description of the fields for sending a request:

Field nameTypeDescription
idstring

task identifier
unique task identifier in our system in the UUID format
you will be able to use it within 30 days to request the results of the task at any time


‌‌‌‌
‌‌As a response of the API server, you will receive JSON-encoded data containing a tasks array with the information specific to the set tasks.

You can also get all available items by making a request to the following Sandbox URL:
https://sandbox.dataforseo.com/v3/serp/bing/organic/task_get/regular/00000000-0000-0000-0000-000000000000
The response will include all available items in the Bing Organic SERP Regular endpoint with the fields containing dummy data.
You won’t be charged for using Sandbox endpoints.

Description of the fields in the results array:

Field nameTypeDescription
versionstring

the current version of the API

status_codeinteger

general status code
you can find the full list of the response codes here
Note: we strongly recommend designing a necessary system for handling related exceptional or error conditions

status_messagestring

general informational message
you can find the full list of general informational messages here

timestring

execution time, seconds

costfloat

total tasks cost, USD

tasks_countinteger

the number of tasks in the tasks array

tasks_errorinteger

the number of tasks in the tasks array that were returned an error

tasksarray

array of tasks

    idstring

task identifier
unique task identifier in our system in the UUID format

    status_codeinteger

status code of the task
generated by DataForSEO; can be within the following range: 10000-60000
you can find the full list of the response codes here

    status_messagestring

informational message of the task
you can find the full list of general informational messages here

    timestring

execution time, seconds

    costfloat

cost of the task, USD

    result_countinteger

number of elements in the result array

    patharray

URL path

    dataobject

contains the same parameters that you specified in the POST request

    resultarray

array of results

        keywordstring

keyword received in a POST array
keyword is returned with decoded %## (plus symbol '+' will be decoded to a space character)

        typestring

search engine type in a POST array

        se_domainstring

search engine domain in a POST array

        location_codeinteger

location code in a POST array

        language_codestring

language code in a POST array

        check_urlstring

direct URL to search engine results
you can use it to make sure that we provided accurate results

        datetimestring

date and time when the result was received
in the UTC format: “yyyy-mm-dd hh-mm-ss +00:00”
example:
2019-11-15 12:57:46 +00:00

        spellobject

autocorrection of the search engine
if the search engine provided results for a keyword that was corrected, we will specify the keyword corrected by the search engine and the type of autocorrection

        refinement_chipsobject

search refinement chips
equals null

            keywordstring

keyword obtained as a result of search engine autocorrection
the results will be provided for the corrected keyword

            typestring

type of autocorrection
possible values:
including_results_for

        item_typesarray

types of search results in SERP
contains types of search results (items) found in SERP.
possible item types: organic, paid

        se_results_countinteger

total number of results in SERP

        pages_countinteger

total pages retrieved
total number of retrieved SERPs in the result

        items_countinteger

the number of results returned in the items array

        itemsarray

items in SERP

            organicobject

'organic' element in SERP

                typestring

type of element = 'organic'

                rank_groupinteger

group rank in SERP
position within a group of elements with identical type values
positions of elements with different type values are omitted from rank_group

                rank_absoluteinteger

absolute rank in SERP
absolute position among all the elements in SERP

                pageinteger

search results page number
indicates the number of the SERP page on which the element is located

                domainstring

domain in SERP

                titlestring

title of the results element in SERP

                descriptionstring

description of the results element in SERP

                urlstring

relevant URL in SERP

                breadcrumbstring

breadcrumb in SERP

            paidobject

'paid' element in SERP

                typestring

type of element = 'paid'

                rank_groupinteger

group rank in SERP
position within a group of elements with identical type values
positions of elements with different type values are omitted from rank_group

                rank_absoluteinteger

absolute rank in SERP
absolute position among all the elements on the results page

                pageinteger

search results page number
indicates the number of the SERP page on which the element is located

                domainstring

domain of the ad element in SERP

                titlestring

title of the ad element in SERP

                descriptionstring

description of the ad element in SERP

                urlstring

relevant URL of the ad element in SERP

                breadcrumbstring

breadcrumb of the ad element in SERP

            related_searchesobject

'related_searches' element in SERP

                typestring

type of element = 'related_searches'

                rank_groupinteger

group rank in SERP
position within a group of elements with identical type values
positions of elements with different type values are omitted from rank_group

                rank_absoluteinteger

absolute rank in SERP
absolute position among all the elements in SERP

                pageinteger

search results page number
indicates the number of the SERP page on which the element is located

                itemsarray

items inside the element
array of 8 search queries related to the keyword


‌‌

Instead of ‘login’ and ‘password’ use your credentials from https://app.dataforseo.com/api-access

# Instead of 'login' and 'password' use your credentials from https://app.dataforseo.com/api-access 
login="login" 
password="password" 
cred="$(printf ${login}:${password} | base64)" 
id="09171517-0696-0242-0000-a96bc1ad0bce" 
curl --location --request GET "https://api.dataforseo.com/v3/serp/bing/organic/task_get/regular/${id}" 
--header "Authorization: Basic ${cred}"  
--header "Content-Type: application/json" 
--data-raw ""
<?php
// You can download this file from here https://cdn.dataforseo.com/v3/examples/php/php_RestClient.zip
require('RestClient.php');
$api_url = 'https://api.dataforseo.com/';
try {
	// Instead of 'login' and 'password' use your credentials from https://app.dataforseo.com/api-access
	$client = new RestClient($api_url, null, 'login', 'password');
} catch (RestClientException $e) {
	echo "n";
	print "HTTP code: {$e->getHttpCode()}n";
	print "Error code: {$e->getCode()}n";
	print "Message: {$e->getMessage()}n";
	print  $e->getTraceAsString();
	echo "n";
	exit();
}
try {
	$result = array();
	// #1 - using this method you can get a list of completed tasks
	// GET /v3/serp/bing/organic/tasks_ready
	// in addition to 'bing' and 'organic' you can also set other search engine and type parameters
	// the full list of possible parameters is available in documentation
	$tasks_ready = $client->get('/v3/serp/bing/organic/tasks_ready');
	// you can find the full list of the response codes here https://docs.dataforseo.com/v3/appendix/errors
	if (isset($tasks_ready['status_code']) AND $tasks_ready['status_code'] === 20000) {
		foreach ($tasks_ready['tasks'] as $task) {
			if (isset($task['result'])) {
				foreach ($task['result'] as $task_ready) {
					// #2 - using this method you can get results of each completed task
					// GET /v3/serp/bing/organic/task_get/regular/$id
					if (isset($task_ready['endpoint_regular'])) {
						$result[] = $client->get($task_ready['endpoint_regular']);
					}
					// #3 - another way to get the task results by id
					// GET /v3/serp/bing/organic/task_get/regular/$id
					/*
					if (isset($task_ready['id'])) {
						$result[] = $client->get('/v3/serp/bing/organic/task_get/regular/' . $task_ready['id']);
					}
					*/
				}
			}
		}
	}
	print_r($result);
	// do something with result
} catch (RestClientException $e) {
	echo "n";
	print "HTTP code: {$e->getHttpCode()}n";
	print "Error code: {$e->getCode()}n";
	print "Message: {$e->getMessage()}n";
	print  $e->getTraceAsString();
	echo "n";
}
$client = null;
?>
const task_id = '02231256-2604-0066-2000-57133b8fc54e';

const axios = require('axios');

axios({
    method: 'get',
    url: 'https://api.dataforseo.com/v3/serp/bing/organic/task_get/regular/' + task_id,
    auth: {
        username: 'login',
        password: 'password'
    },
    headers: {
        'content-type': 'application/json'
    }
}).then(function (response) {
    var result = response['data']['tasks'];
    // Result data
    console.log(result);
}).catch(function (error) {
    console.log(error);
});
from client import RestClient
# You can download this file from here https://cdn.dataforseo.com/v3/examples/python/python_Client.zip
client = RestClient("login", "password")
# 1 - using this method you can get a list of completed tasks
# GET /v3/serp/bing/organic/tasks_ready
# in addition to 'bing' and 'organic' you can also set other search engine and type parameters
# the full list of possible parameters is available in documentation
response = client.get("/v3/serp/bing/organic/tasks_ready")
# you can find the full list of the response codes here https://docs.dataforseo.com/v3/appendix/errors
if response["status_code"] == 20000:
    results = []
    for task in response['tasks']:
        if (task['result'] and (len(task['result']) > 0)):
            for resultTaskInfo in task['result']:
                # 2 - using this method you can get results of each completed task
                # GET /v3/serp/bing/organic/task_get/regular/$id
                if(resultTaskInfo['endpoint_regular']):
                    results.append(client.get(resultTaskInfo['endpoint_regular']))
                '''
                # 3 - another way to get the task results by id
                # GET /v3/serp/bing/organic/task_get/regular/$id                
                if(resultTaskInfo['id']):
                    results.append(client.get("/v3/serp/bing/organic/task_get/regular/" + resultTaskInfo['id']))
                '''
    print(results)
    # do something with result
else:
    print("error. Code: %d Message: %s" % (response["status_code"], response["status_message"]))
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;
using System.Threading.Tasks;

namespace DataForSeoDemos
{
    public static partial class Demos
    {
        public static async Task serp_task_get()
        {
            var httpClient = new HttpClient
            {
                BaseAddress = new Uri("https://api.dataforseo.com/"),
                // Instead of 'login' and 'password' use your credentials from https://app.dataforseo.com/api-access
                DefaultRequestHeaders = { Authorization = new AuthenticationHeaderValue("Basic", Convert.ToBase64String(Encoding.ASCII.GetBytes("login:password"))) }
            };
            // #1 - using this method you can get a list of completed tasks
            // GET /v3/serp/bing/organic/tasks_ready
            // in addition to 'bing' and 'organic' you can also set other search engine and type parameters
            // the full list of possible parameters is available in documentation
            var response = await httpClient.GetAsync("/v3/serp/bing/organic/tasks_ready");
            var tasksInfo = JsonConvert.DeserializeObject<dynamic>(await response.Content.ReadAsStringAsync());
            var tasksResponses = new List<object>();
            // you can find the full list of the response codes here https://docs.dataforseo.com/v3/appendix/errors
            if (tasksInfo.status_code == 20000)
            {
                foreach (var tasks in tasksInfo.tasks)
                {
                    if (tasks.First.result != null)
                    {
                        foreach (var task in tasks.First.result)
                        {
                            if (task.endpoint_regular != null)
                            {
                                // #2 - using this method you can get results of each completed task
                                // GET /v3/serp/bing/organic/task_get/regular/$id
                                var tasksGetResponse = await httpClient.GetAsync((string)task.endpoint_regular);
                                var tasksResultObj = JsonConvert.DeserializeObject<dynamic>(await tasksGetResponse.Content.ReadAsStringAsync());
                                if (tasksResultObj.tasks != null)
                                {
                                    foreach (var taskResult in tasksResultObj.tasks)
                                    {
                                        var fst = taskResult.First;
                                        // you can find the full list of the response codes here https://docs.dataforseo.com/v3/appendix/errors
                                        if (fst.status_code >= 40000 || fst.result == null)
                                            Console.WriteLine($"error. Code: {fst.status_code} Message: {fst.status_message}");
                                        else
                                            tasksResponses.Add(fst.result);
                                    }
                                }

                                // #3 - another way to get the task results by id
                                // GET /v3/serp/bing/organic/task_get/regular/$id
                                /*
                                var tasksGetResponse = await httpClient.GetAsync("/v3/serp/bing/organic/task_get/regular/" + (string)task.id);
                                var tasksResultObj = JsonConvert.DeserializeObject<dynamic>(await tasksGetResponse.Content.ReadAsStringAsync());
                                if (tasksResultObj.tasks != null)
                                {
                                    foreach (var taskResult in tasksResultObj.tasks)
                                    {
                                        var fst = taskResult.First;
                                        // you can find the full list of the response codes here https://docs.dataforseo.com/v3/appendix/errors
                                        if (fst.status_code >= 40000 || fst.result == null)
                                            Console.WriteLine($"error. Code: {fst.status_code} Message: {fst.status_message}");
                                        else
                                            tasksResponses.Add(fst.result);
                                    }
                                }
                                */
                            }
                        }
                    }
                }
                if (tasksResponses.Count > 0)
                    // do something with result
                    Console.WriteLine(String.Join(Environment.NewLine, tasksResponses));
                else
                    Console.WriteLine("No completed tasks");
            }
            else
                Console.WriteLine($"error. Code: {tasksInfo.status_code} Message: {tasksInfo.status_message}");
        }
    }
}

The above command returns JSON structured like this:

{
    "version": "0.1.20220104",
    "status_code": 20000,
    "status_message": "Ok.",
    "time": "0.0432 sec.",
    "cost": 0,
    "tasks_count": 1,
    "tasks_error": 0,
    "tasks": [
        {
            "id": "01041710-1535-0066-0000-db5d2fd73f55",
            "status_code": 20000,
            "status_message": "Ok.",
            "time": "0.0196 sec.",
            "cost": 0,
            "result_count": 1,
            "path": [
                "v3",
                "serp",
                "bing",
                "organic",
                "task_get",
                "regular",
                "01041710-1535-0066-0000-db5d2fd73f55"
            ],
            "data": {
                "api": "serp",
                "function": "task_get",
                "se": "bing",
                "se_type": "organic",
                "language_code": "en",
                "location_code": 2840,
                "keyword": "albert einstein",
                "depth": 10,
                "tag": "some_string_123",
                "device": "desktop",
                "os": "windows"
            },
            "result": [
                {
                    "keyword": "albert einstein",
                    "type": "organic",
                    "se_domain": "bing.com",
                    "location_code": 2840,
                    "language_code": "en",
                    "check_url": "https://www.bing.com/search?q=albert%20einstein&count=10&first=1&setlang=en&cc=US&safesearch=Moderate&form=QBLH",
                    "datetime": "2022-01-04 15:11:18 +00:00",
                    "spell": null,
                    "refinement_chips": null,
                    "item_types": [
                        "organic",
                        "related_searches"
                    ],
                    "se_results_count": 0,
                    "pages_count": 1,
                    "items_count": 9,
                    "items": [
                        {
                            "type": "organic",
                            "rank_group": 1,
                            "rank_absolute": 1,
                            "page": 1,
                            "domain": "www.nobelprize.org",
                            "title": "Albert Einstein - Biographical - NobelPrize.org",
                            "description": "Albert Einstein Biographical Questions and Answers on Albert Einstein. A lbert Einstein was born at Ulm, in Württemberg, Germany, on March 14, 1879. Six weeks later the family moved to Munich, where he later on began his schooling at the Luitpold Gymnasium.",
                            "url": "https://www.nobelprize.org/prizes/physics/1921/einstein/biographical/",
                            "breadcrumb": "https://www.nobelprize.org/prizes/physics/1921/einstein/biographical"
                        },
                        {
                            "type": "organic",
                            "rank_group": 2,
                            "rank_absolute": 2,
                            "page": 1,
                            "domain": "www.imdb.com",
                            "title": "Albert Einstein - Biography - IMDb",
                            "description": "Albert Einstein was born in Ulm, Kingdom of Württemberg, to a German Jewish family. He was the son of Pauline (Koch) and Hermann Einstein, a featherbed salesman. Albert began reading and studying science at a young age, and he graduated from a Swiss high school when he was 17. He then attended a Swiss Polytechnic, where he met his first wife.",
                            "url": "https://www.imdb.com/name/nm0251868/bio",
                            "breadcrumb": "https://www.imdb.com/name/nm0251868/bio"
                        },
                        {
                            "type": "organic",
                            "rank_group": 3,
                            "rank_absolute": 3,
                            "page": 1,
                            "domain": "starchild.gsfc.nasa.gov",
                            "title": "Albert Einstein - NASA",
                            "description": "Albert Einstein was born in 1879 in Ulm, Germany. He was the first child born to Hermann and Pauline Einstein. Though he attended school as a young boy, he also received instruction at home on Judaism and violin. By the age of twelve he had taught himself geometry.",
                            "url": "https://starchild.gsfc.nasa.gov/docs/StarChild/whos_who_level2/einstein.html",
                            "breadcrumb": "https://starchild.gsfc.nasa.gov/docs/StarChild/whos_who_level2/einstein.html"
                        },
                        {
                            "type": "organic",
                            "rank_group": 4,
                            "rank_absolute": 4,
                            "page": 1,
                            "domain": "www.britannica.com",
                            "title": "Albert Einstein | Biography, Education, Discoveries ...",
                            "description": "Dec 15, 2021 · Albert Einstein, German-born physicist who developed the special and general theories of relativity, pioneering many key developments. He won the Nobel Prize for Physics in 1921 for his explanation of the photoelectric effect. Einstein is generally considered the most influential physicist of the 20th century.",
                            "url": "https://www.britannica.com/biography/Albert-Einstein",
                            "breadcrumb": "https://www.britannica.com/biography/Albert-Einstein"
                        },
                        {
                            "type": "organic",
                            "rank_group": 5,
                            "rank_absolute": 5,
                            "page": 1,
                            "domain": "www.history.com",
                            "title": "Albert Einstein - HISTORY",
                            "description": "Born on March 14, 1879, in the southern German city of Ulm, Albert Einstein grew up in a middle-class Jewish family in Munich. As a child, Einstein became fascinated by music (he played the violin), mathematics and science. He dropped out of school in 1894 and moved to Switzerland, where he resumed his schooling …",
                            "url": "https://www.history.com/topics/inventions/albert-einstein",
                            "breadcrumb": "https://www.history.com/topics/inventions/albert-einstein"
                        },
                        {
                            "type": "organic",
                            "rank_group": 6,
                            "rank_absolute": 6,
                            "page": 1,
                            "domain": "www.biography.com",
                            "title": "Albert Einstein - Quotes, IQ & Death - Biography",
                            "description": null,
                            "url": "https://www.biography.com/scientist/albert-einstein",
                            "breadcrumb": "https://www.biography.com/scientist/albert-einstein"
                        },
                        {
                            "type": "organic",
                            "rank_group": 7,
                            "rank_absolute": 7,
                            "page": 1,
                            "domain": "thefactfile.org",
                            "title": "64 Interesting Facts About Albert Einstein - The Fact File",
                            "description": "Born: Albert Einstein was born in Ulm, Germany to parents Hermann Einstein and Pauline …nFathead at birth: Albert had a fat head at the time he was born. This startled his mother and …nSpeech difficulty during childhood: Einstein did not speak until the age of three. He revealed …nEarly years: he spent his teenage years in Munich. His family operated an electrical …nHis friend: Einstein was affected by the company of a medical student whom he invited for a …nSchool: Einstein was not comfortable in school as he did not like the style of teaching. He did …nWhy he was different? His success is attributed by many to his unconventional approach to …nA symptom of psychiatric disorder: Einstein, throughout his life, had a mild form of echolalia, …nThe parietal lobe in Einstein’s brain was 15% larger than that of an average brain.nFascination for Science: the beginning of Einstein’s fascination about science came from a …nSee full list on thefactfile.org",
                            "url": "https://thefactfile.org/albert-einstein-facts/",
                            "breadcrumb": "https://thefactfile.org/albert-einstein-facts"
                        },
                        {
                            "type": "organic",
                            "rank_group": 8,
                            "rank_absolute": 8,
                            "page": 1,
                            "domain": "twitter.com",
                            "title": "Alberteinstein | Twitter",
                            "description": "We would like to show you a description here but the site won’t allow us.",
                            "url": "https://twitter.com/AlbertEinstein",
                            "breadcrumb": "https://twitter.com/AlbertEinstein"
                        },
                        {
                            "type": "related_searches",
                            "rank_group": 1,
                            "rank_absolute": 9,
                            "page": 1,
                            "items": [
                                "albert einstein famous for",
                                "einstein question quote",
                                "albert einstein childhood story",
                                "albert einstein inventions",
                                "early life of albert einstein",
                                "albert einstein short bio",
                                "albert einstein history",
                                "albert einstein's childhood life"
                            ]
                        }
                    ]
                }
            ]
        }
    ]
}