curl --request POST \
--url https://api.aisa.one/apis/v1/dataforseo/serp/google/dataset_info/task_post \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
[
{
"dataset_id": "<string>",
"language_name": "<string>",
"language_code": "<string>",
"device": "<string>",
"priority": 123,
"postback_url": "<string>",
"pingback_url": "<string>",
"postback_data": "<string>"
}
]
'import requests
url = "https://api.aisa.one/apis/v1/dataforseo/serp/google/dataset_info/task_post"
payload = [
{
"dataset_id": "<string>",
"language_name": "<string>",
"language_code": "<string>",
"device": "<string>",
"priority": 123,
"postback_url": "<string>",
"pingback_url": "<string>",
"postback_data": "<string>"
}
]
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify([
{
dataset_id: '<string>',
language_name: '<string>',
language_code: '<string>',
device: '<string>',
priority: 123,
postback_url: '<string>',
pingback_url: '<string>',
postback_data: '<string>'
}
])
};
fetch('https://api.aisa.one/apis/v1/dataforseo/serp/google/dataset_info/task_post', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.aisa.one/apis/v1/dataforseo/serp/google/dataset_info/task_post",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
[
'dataset_id' => '<string>',
'language_name' => '<string>',
'language_code' => '<string>',
'device' => '<string>',
'priority' => 123,
'postback_url' => '<string>',
'pingback_url' => '<string>',
'postback_data' => '<string>'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <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;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.aisa.one/apis/v1/dataforseo/serp/google/dataset_info/task_post"
payload := strings.NewReader("[\n {\n \"dataset_id\": \"<string>\",\n \"language_name\": \"<string>\",\n \"language_code\": \"<string>\",\n \"device\": \"<string>\",\n \"priority\": 123,\n \"postback_url\": \"<string>\",\n \"pingback_url\": \"<string>\",\n \"postback_data\": \"<string>\"\n }\n]")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.aisa.one/apis/v1/dataforseo/serp/google/dataset_info/task_post")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("[\n {\n \"dataset_id\": \"<string>\",\n \"language_name\": \"<string>\",\n \"language_code\": \"<string>\",\n \"device\": \"<string>\",\n \"priority\": 123,\n \"postback_url\": \"<string>\",\n \"pingback_url\": \"<string>\",\n \"postback_data\": \"<string>\"\n }\n]")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.aisa.one/apis/v1/dataforseo/serp/google/dataset_info/task_post")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "[\n {\n \"dataset_id\": \"<string>\",\n \"language_name\": \"<string>\",\n \"language_code\": \"<string>\",\n \"device\": \"<string>\",\n \"priority\": 123,\n \"postback_url\": \"<string>\",\n \"pingback_url\": \"<string>\",\n \"postback_data\": \"<string>\"\n }\n]"
response = http.request(request)
puts response.read_body{
"version": "<string>",
"status_code": 123,
"status_message": "<string>",
"time": "<string>",
"cost": 123,
"tasks_count": 123,
"tasks_error": 123,
"tasks": [
"<string>"
],
"tasks[].id": "<string>",
"tasks[].status_code": 123,
"tasks[].status_message": "<string>",
"tasks[].cost": 123,
"tasks[].result_count": 123
}Setting Google Dataset Info Tasks
Queues one dataset’s record in Google Dataset Search on Google, returning a task id in tasks[0].
curl --request POST \
--url https://api.aisa.one/apis/v1/dataforseo/serp/google/dataset_info/task_post \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
[
{
"dataset_id": "<string>",
"language_name": "<string>",
"language_code": "<string>",
"device": "<string>",
"priority": 123,
"postback_url": "<string>",
"pingback_url": "<string>",
"postback_data": "<string>"
}
]
'import requests
url = "https://api.aisa.one/apis/v1/dataforseo/serp/google/dataset_info/task_post"
payload = [
{
"dataset_id": "<string>",
"language_name": "<string>",
"language_code": "<string>",
"device": "<string>",
"priority": 123,
"postback_url": "<string>",
"pingback_url": "<string>",
"postback_data": "<string>"
}
]
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify([
{
dataset_id: '<string>',
language_name: '<string>',
language_code: '<string>',
device: '<string>',
priority: 123,
postback_url: '<string>',
pingback_url: '<string>',
postback_data: '<string>'
}
])
};
fetch('https://api.aisa.one/apis/v1/dataforseo/serp/google/dataset_info/task_post', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.aisa.one/apis/v1/dataforseo/serp/google/dataset_info/task_post",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
[
'dataset_id' => '<string>',
'language_name' => '<string>',
'language_code' => '<string>',
'device' => '<string>',
'priority' => 123,
'postback_url' => '<string>',
'pingback_url' => '<string>',
'postback_data' => '<string>'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <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;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.aisa.one/apis/v1/dataforseo/serp/google/dataset_info/task_post"
payload := strings.NewReader("[\n {\n \"dataset_id\": \"<string>\",\n \"language_name\": \"<string>\",\n \"language_code\": \"<string>\",\n \"device\": \"<string>\",\n \"priority\": 123,\n \"postback_url\": \"<string>\",\n \"pingback_url\": \"<string>\",\n \"postback_data\": \"<string>\"\n }\n]")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.aisa.one/apis/v1/dataforseo/serp/google/dataset_info/task_post")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("[\n {\n \"dataset_id\": \"<string>\",\n \"language_name\": \"<string>\",\n \"language_code\": \"<string>\",\n \"device\": \"<string>\",\n \"priority\": 123,\n \"postback_url\": \"<string>\",\n \"pingback_url\": \"<string>\",\n \"postback_data\": \"<string>\"\n }\n]")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.aisa.one/apis/v1/dataforseo/serp/google/dataset_info/task_post")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "[\n {\n \"dataset_id\": \"<string>\",\n \"language_name\": \"<string>\",\n \"language_code\": \"<string>\",\n \"device\": \"<string>\",\n \"priority\": 123,\n \"postback_url\": \"<string>\",\n \"pingback_url\": \"<string>\",\n \"postback_data\": \"<string>\"\n }\n]"
response = http.request(request)
puts response.read_body{
"version": "<string>",
"status_code": 123,
"status_message": "<string>",
"time": "<string>",
"cost": 123,
"tasks_count": 123,
"tasks_error": 123,
"tasks": [
"<string>"
],
"tasks[].id": "<string>",
"tasks[].status_code": 123,
"tasks[].status_message": "<string>",
"tasks[].cost": 123,
"tasks[].result_count": 123
}id in tasks[0].id. The charge lands here; fetching is free, including re-fetching. 💰 Measured at 0.002upstreamagainstthe0.012 billed - this family is the cheapest source of search data here, six times under the flat rate. Wrapped in DataForSEO’s envelope: data in tasks[0].result, outcome in tasks[0].status_code - a rejected request still returns HTTP 200. The live twin answers immediately and is simpler for a single query; queue when the batch would outlast a tool call.
Example
curl -X POST "https://api.aisa.one/apis/v1/dataforseo/serp/google/dataset_info/task_post" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '[{"dataset_id": "...", "language_name": "...", "language_code": "..."}]'
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
ID of the dataset; you can find it in the dataset URL or in a Google Dataset Search result
Full name of search engine language
Search engine language code
Device type; possible value: desktop
Task priority
URL for sending task results
Notification URL of a completed task
Postback datatype; possible value: advanced
Response
Successful response
The current version of the API
General status code
General informational message
Execution time, seconds
Total tasks cost, USD
The number of tasks in the tasks array
The number of tasks in the tasks array returned with an error
Array of task objects
Task identifier in UUID format
Task status code
Task status message
Cost of the task, USD
Number of elements in the result array