curl --request POST \
--url https://api.aisa.one/apis/v1/dataforseo/serp/youtube/video_comments/task_post \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
[
{
"language_code": "en",
"video_id": "aircAruvnKk",
"location_code": 2840
}
]
'import requests
url = "https://api.aisa.one/apis/v1/dataforseo/serp/youtube/video_comments/task_post"
payload = [
{
"language_code": "en",
"video_id": "aircAruvnKk",
"location_code": 2840
}
]
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([{language_code: 'en', video_id: 'aircAruvnKk', location_code: 2840}])
};
fetch('https://api.aisa.one/apis/v1/dataforseo/serp/youtube/video_comments/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/youtube/video_comments/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([
[
'language_code' => 'en',
'video_id' => 'aircAruvnKk',
'location_code' => 2840
]
]),
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/youtube/video_comments/task_post"
payload := strings.NewReader("[\n {\n \"language_code\": \"en\",\n \"video_id\": \"aircAruvnKk\",\n \"location_code\": 2840\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/youtube/video_comments/task_post")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("[\n {\n \"language_code\": \"en\",\n \"video_id\": \"aircAruvnKk\",\n \"location_code\": 2840\n }\n]")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.aisa.one/apis/v1/dataforseo/serp/youtube/video_comments/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 \"language_code\": \"en\",\n \"video_id\": \"aircAruvnKk\",\n \"location_code\": 2840\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 YouTube Comments Tasks
Queues the comments on one YouTube video on YouTube, returning a task id in tasks[0].
curl --request POST \
--url https://api.aisa.one/apis/v1/dataforseo/serp/youtube/video_comments/task_post \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
[
{
"language_code": "en",
"video_id": "aircAruvnKk",
"location_code": 2840
}
]
'import requests
url = "https://api.aisa.one/apis/v1/dataforseo/serp/youtube/video_comments/task_post"
payload = [
{
"language_code": "en",
"video_id": "aircAruvnKk",
"location_code": 2840
}
]
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([{language_code: 'en', video_id: 'aircAruvnKk', location_code: 2840}])
};
fetch('https://api.aisa.one/apis/v1/dataforseo/serp/youtube/video_comments/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/youtube/video_comments/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([
[
'language_code' => 'en',
'video_id' => 'aircAruvnKk',
'location_code' => 2840
]
]),
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/youtube/video_comments/task_post"
payload := strings.NewReader("[\n {\n \"language_code\": \"en\",\n \"video_id\": \"aircAruvnKk\",\n \"location_code\": 2840\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/youtube/video_comments/task_post")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("[\n {\n \"language_code\": \"en\",\n \"video_id\": \"aircAruvnKk\",\n \"location_code\": 2840\n }\n]")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.aisa.one/apis/v1/dataforseo/serp/youtube/video_comments/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 \"language_code\": \"en\",\n \"video_id\": \"aircAruvnKk\",\n \"location_code\": 2840\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/youtube/video_comments/task_post" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '[{"video_id": "...", "priority": "...", "postback_url": "..."}]'
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
- Option 1
- Option 2
- Option 3
- Option 4
- Option 5
- Option 6
- Option 7
- Option 8
ID of the video
YouTube interface language code, for example en. Provide this or language_name.
YouTube location code, for example 2840. Provide this or location_name.
Task priority
URL for sending task results
Notification URL of a completed task
Postback datatype; possible value: advanced
YouTube location name, for example United States. Provide this or location_code.
YouTube interface language name, for example English. Provide this or language_code.
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