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 name | Type | Description |
|---|---|---|
id | string | task identifier |
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 name | Type | Description |
|---|---|---|
version | string | the current version of the API |
status_code | integer | general status code |
status_message | string | general informational message |
time | string | execution time, seconds |
cost | float | total tasks cost, USD |
tasks_count | integer | the number of tasks in the |
tasks_error | integer | the number of tasks in the |
tasks | array | array of tasks |
id | string | task identifier |
status_code | integer | status code of the task |
status_message | string | informational message of the task |
time | string | execution time, seconds |
cost | float | cost of the task, USD |
result_count | integer | number of elements in the |
path | array | URL path |
data | object | contains the same parameters that you specified in the POST request |
result | array | array of results |
keyword | string | keyword received in a POST array |
type | string | search engine type in a POST array |
se_domain | string | search engine domain in a POST array |
location_code | integer | location code in a POST array |
language_code | string | language code in a POST array |
check_url | string | direct URL to search engine results |
datetime | string | date and time when the result was received |
spell | object | autocorrection of the search engine |
refinement_chips | object | search refinement chips |
keyword | string | keyword obtained as a result of search engine autocorrection |
type | string | type of autocorrection |
item_types | array | types of search results in SERP |
se_results_count | integer | total number of results in SERP |
pages_count | integer | total pages retrieved |
items_count | integer | the number of results returned in the |
items | array | items in SERP |
organic | object | 'organic' element in SERP |
type | string | type of element = 'organic' |
rank_group | integer | group rank in SERP |
rank_absolute | integer | absolute rank in SERP |
page | integer | search results page number |
domain | string | domain in SERP |
title | string | title of the results element in SERP |
description | string | description of the results element in SERP |
url | string | relevant URL in SERP |
breadcrumb | string | breadcrumb in SERP |
paid | object | 'paid' element in SERP |
type | string | type of element = 'paid' |
rank_group | integer | group rank in SERP |
rank_absolute | integer | absolute rank in SERP |
page | integer | search results page number |
domain | string | domain of the ad element in SERP |
title | string | title of the ad element in SERP |
description | string | description of the ad element in SERP |
url | string | relevant URL of the ad element in SERP |
breadcrumb | string | breadcrumb of the ad element in SERP |
related_searches | object | 'related_searches' element in SERP |
type | string | type of element = 'related_searches' |
rank_group | integer | group rank in SERP |
rank_absolute | integer | absolute rank in SERP |
page | integer | search results page number |
items | array | items inside the element |
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"
]
}
]
}
]
}
]
}