---
title: "Live YouTube Organic Advanced"
url: "https://docs.dataforseo.com/v3/serp/youtube/organic/live/advanced/"
date: "2026-06-06"
---

## Live YouTube Organic Advanced

  
Live SERP provides real-time data on the top 20 blocks of YouTube search engine results. These results are specific to the selected location (see [the List of Locations](https://docs.dataforseo.com/v3/serp/youtube/locations.md)) and language (see [the List of Languages](https://docs.dataforseo.com/v3/serp/youtube/languages.md)) settings.

 

 

 ![checked](https://docs.dataforseo.com/v3/wp-content/themes/dataforseo/assets/img/icons/checked-circle.svg) POST  https://api.dataforseo.com/v3/serp/youtube/organic/live/advanced     

      

Pricing

 Your account will be charged for each request.  
The cost can be calculated on the [Pricing](https://dataforseo.com/pricing/serp/youtube-serp-api "Pricing") page.

 

 All POST data should be sent in the [JSON](https://en.wikipedia.org/wiki/JSON) format (UTF-8 encoding). When setting a task, you should send all task parameters in the task array of the generic POST array. You can send up to 2000 API calls per minute, each Live SERP API call can contain only one task.

Below you will find a detailed description of the parameters that are required or recommended for setting a task.

### Main Parameters

 | Field name | Type | Description |
|---|---|---|
| `keyword` | string | *keyword*   **required field**   you can specify **up to 700 characters** in the `keyword` field   all %## will be decoded (plus character ‘+’ will be decoded to a space character)   if you need to use the “%” character for your `keyword`, please specify it as “%25”;   if you need to use the “+” character for your `keyword`, please specify it as “%2B”;  learn more about rules and limitations of `keyword` and `keywords` fields in DataForSEO APIs in this [Help Center article](https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis) |
| `location_code` | integer | *search engine location code*   **required field if you don't specify** `location_name`    **if you use this field, you don't need to specify `location_name`**   you can receive the list of available locations of the search engines with their `location_code` by making a separate request to the `https://api.dataforseo.com/v3/serp/youtube/locations`   example:   `2840` |
| `language_code` | string | *search engine language code*   **required field if you don't specify** `language_name`   **if you use this field, you don't need to specify `language_name`**   you can receive the list of available languages of the search engine with their `language_code` by making a separate request to the `https://api.dataforseo.com/v3/serp/youtube/languages`   example:   `en` |
| `device` | string | *device type*   optional field   return results for a specific device type   available values: `desktop`, `mobile` |
| `block_depth` | integer | *parsing depth*   optional field   number of blocks of results in SERP   default value: `20`   max value: `700`   **Note:** your account will be billed per each SERP containing up to 20 results;   thus, setting a block depth above `20` may result in additional charges if the search engine returns more than 20 results;   if the specified block depth is higher than the number of results in the response, the difference will be refunded automatically to your account balance |

   
Below you will find a drop-down list with the additional parameters you can use for setting a task.  
  ### Additional Parameters

 | Field name | Type | Description |
|---|---|---|
| `location_name` | string | *full name of search engine location*   **required field if you don't specify** `location_code`   **if you use this field, you don't need to specify `location_code`**   you can receive the list of available locations of the search engine with their `location_name` by making a separate request to the `https://api.dataforseo.com/v3/serp/youtube/locations`   example:   `United States` |
| `language_name` | string | *full name of search engine language*   **required field if you don't specify** `language_code`   **if you use this field, you don't need to specify `language_code`**   you can receive the list of available languages of the search engine with their `language_name` by making a separate request to the `https://api.dataforseo.com/v3/serp/youtube/languages`   example:   `English` |
| `os` | string | *device operating system*   optional field   if you specify `desktop` in the `device` field, choose from the following values: `windows`, `macos`   default value: `windows`   if you specify `mobile` in the `device` field, choose from the following values: `android`, `ios`   default value: `android` |
| `tag` | string | *user-defined task identifier*   optional field   *the character limit is 255*   you can use this parameter to identify the task and match it with the result   you will find the specified `tag` value in the `data` object of the response |
| `search_param` | string | *additional parameters of the search query*   optional field   example:   `sp=EgIQAg%253D%253D` |

    
  
As a response of the API server, you will receive [JSON](https://en.wikipedia.org/wiki/JSON)-encoded data containing a `tasks` array with the information specific to the set tasks. **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*   you can find the full list of the response codes [here](https://docs.dataforseo.com/v3/appendix/errors.md)   **Note:** we strongly recommend designing a necessary system for handling related exceptional or error conditions |
| `status_message` | string | *general informational message*   you can find the full list of general informational messages [here](https://docs.dataforseo.com/v3/appendix/errors.md) |
| `time` | string | *execution time, seconds* |
| `cost` | float | *total tasks cost, USD* |
| `tasks_count` | integer | *the number of tasks in the **`tasks`** array* |
| `tasks_error` | integer | *the number of tasks in the **`tasks`** array returned with an error* |
| **`tasks`** | array | *array of tasks* |
| `id` | string | *task identifier*   **unique task identifier in our system in the [UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier) format** |
| `status_code` | integer | *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](https://docs.dataforseo.com/v3/appendix/errors.md) |
| `status_message` | string | *informational message of the task*   you can find the full list of general informational messages [here](https://docs.dataforseo.com/v3/appendix/errors.md) |
| `time` | string | *execution time, seconds* |
| `cost` | float | *cost of the task, USD* |
| `result_count` | integer | *number of elements in the `result` array* |
| `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* **the keyword is returned with decoded %## (plus character ‘+’ will be decoded to a space character)** |
| `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* you can use it to make sure that we provided accurate results |
| `datetime` | string | *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` |
| `spell` | object | *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_chips` | object | *search refinement chips*   equals `null` |
| `item_types` | array | *types of search results in SERP*   contains types of search results (`items`) found in SERP.   possible item types:   `youtube_channel`, `youtube_video`, `youtube_video_paid`, `youtube_playlist` |
| `se_results_count` | integer | *total number of results in SERP* |
| `items_count` | integer | *the number of results returned in the **`items`** array* |
| **`items`** | array | *elements of search results found in SERP* |
| **‘youtube\_channel’ element** |  |  |
| `type` | string | *type of element = **‘youtube\_channel’***   YouTube channel related to the specified search term |
| `rank_group` | integer | *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_absolute` | integer | *absolute rank in SERP for the target domain*   absolute position among all the elements in SERP |
| `block_rank` | integer | *block rank in SERP*   position among all the blocks in SERP |
| `block_name` | string | *name of the block in SERP*   example:   `"People also watched"` |
| `channel_id` | string | *ID of the channel* |
| `name` | string | *name of the channel* |
| `url` | string | *URL of the channel* |
| `logo` | string | *the URL of the page where the logo image is hosted* |
| `video_count` | integer | *the number of videos counted on the channel* |
| `is_verified` | boolean | *indicates whether the channel has a “verified” label* |
| `description` | string | *description of the channel* |
| `highlighted` | array | *highlighted keywords in the description* |
| **‘youtube\_video’ element** |  |  | `type` | string | *type of element = **‘youtube\_video’*** |
| `rank_group` | integer | *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_absolute` | integer | *absolute rank in SERP for the target domain*   absolute position among all the elements in SERP |
| `block_rank` | integer | *block rank in SERP*   position among all the blocks in SERP |
| `block_name` | string | *name of the block in SERP*   example:   `"People also watched"` |
| `title` | string | *title of the video* |
| `url` | string | *URL of the video* |
| `video_id` | string | *ID of the video* |
| `thumbnail_url` | string | *the URL of the page where the thumbnail is hosted* |
| `channel_id` | string | *the ID of the channel where the video is published* |
| `channel_name` | string | *the name of the channel where the video is published* |
| `channel_url` | string | *the URL of the channel where the video is published* |
| `channel_logo` | string | *the URL of the page where the logo image of the channel is hosted* |
| `description` | string | *description of the video* |
| `highlighted` | array | *highlighted keywords in the description* |
| `badges` | array | *video badges*   example:   `New`, `CC`, `4K` |
| `is_live` | boolean | *indicates whether the video is a live broadcast* |
| `is_shorts` | boolean | *indicates whether the video is shorts* |
| `is_movie` | boolean | *indicates whether the video is a movie* |
| `views_count` | integer | *number of views of the video* |
| `publication_date` | string | *the date when the video is published* |
| `timestamp` | string | *date and time when the result is published*   in the UTC format: “yyyy-mm-dd hh-mm-ss +00:00”   example:   `2022-11-15 12:57:46 +00:00` |
| `duration_time` | string | *duration of the video* |
| `duration_time_seconds` | integer | *duration of the video in seconds* |
| **‘youtube\_video\_paid’ element** |  |  | `type` | string | *type of element = **‘youtube\_video\_paid’*** |
| `rank_group` | integer | *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_absolute` | integer | *absolute rank in SERP for the target domain*   absolute position among all the elements in SERP |
| `block_rank` | integer | *block rank in SERP*   position among all the blocks in SERP |
| `block_name` | string | *name of the block in SERP*   example:   `"People also watched"` |
| `title` | string | *title of the video* |
| `url` | string | *URL of the video* |
| `video_id` | string | *ID of the video* |
| `thumbnail_url` | string | *the URL of the page where the thumbnail is hosted* |
| `channel_id` | string | *the ID of the channel where the video is published* |
| `channel_name` | string | *the name of the channel where the video is published* |
| `channel_url` | string | *the URL of the channel where the video is published* |
| `channel_logo` | string | *the URL of the page where the logo image of the channel is hosted* |
| `description` | string | *description of the video* |
| `highlighted` | array | *highlighted keywords in the description* |
| `badges` | array | *video badges*   example:   `New`, `CC`, `4K` |
| `is_live` | boolean | *indicates whether the video is a live broadcast* |
| `is_shorts` | boolean | *indicates whether the video is shorts* |
| `is_movie` | boolean | *indicates whether the video is a movie* |
| `views_count` | integer | *number of views of the video* |
| `publication_date` | string | *the date when the video is published* |
| `timestamp` | string | *date and time when the result is published*   in the UTC format: “yyyy-mm-dd hh-mm-ss +00:00”   example:   `2022-11-15 12:57:46 +00:00` |
| `duration_time` | string | *duration of the video* |
| `duration_time_seconds` | integer | *duration of the video in seconds* |
| **‘youtube\_playlist’ element** |  |  | `type` | string | *type of element = **‘youtube\_playlist’*** |
| `rank_group` | integer | *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_absolute` | integer | *absolute rank in SERP for the target domain*   absolute position among all the elements in SERP |
| `block_rank` | integer | *block rank in SERP*   position among all the blocks in SERP |
| `block_name` | string | *name of the block in SERP*   example:   `"People also watched"` |
| `title` | string | *title of the video* |
| `url` | string | *URL of the video* |
| `playlist_id` | string | *ID of the video* |
| `thumbnail_url` | string | *the URL of the page where the thumbnail is hosted* |
| `channel_id` | string | *the ID of the channel where the video is published* |
| `channel_name` | string | *the name of the channel where the video is published* |
| `channel_url` | string | *the URL of the channel where the video is published* |
| `channel_logo` | string | *the URL of the page where the logo image of the channel is hosted* |
| `videos_count` | integer | *the number of videos in playlist* |
| `preview_videos` | array | *information about preview videos*   array of objects containing information about videos in the preview block of the playlist element |
| `video_id` | string | *ID of the video* |
| `title` | string | *title of the video* |
| `url` | string | *URL of the video* |
| `duration_time` | string | *duration of the video* |
| `duration_time_seconds` | integer | *duration of the video in seconds* |



 

 









> 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)" 
curl --location --request POST "https://api.dataforseo.com/v3/serp/youtube/organic/live/advanced" 
--header "Authorization: Basic ${cred}"  
--header "Content-Type: application/json" 
--data-raw '[
    {
        "language_code": "en",
        "location_code": 2840,
        "keyword": "audi"
    }
]'
```





```php
<?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();
}
$post_array = array();
// You can set only one task at a time
$post_array[] = array(
    "language_code" => "en",
    "location_code" => 2840,
    "keyword" => mb_convert_encoding("audi", "UTF-8")
);
try {
    // POST /v3/serp/youtube/organic/live/advanced
    // in addition to 'youtube' and 'organic' you can also set other search engine and type parameters
    // the full list of possible parameters is available in documentation
    $result = $client->post('/v3/serp/youtube/organic/live/advanced', $post_array);
    print_r($result);
    // do something with post 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;
?>
```





```js
const axios = require('axios');

axios({
    method: 'post',
    url: 'https://api.dataforseo.com/v3/serp/youtube/organic/live/advanced',
    auth: {
        username: 'login',
        password: 'password'
    },
    data: [{
        "keyword": encodeURI("audi"),
        "language_code": "en",
        "location_code": 2840
    }],
    headers: {
        'content-type': 'application/json'
    }
}).then(function (response) {
    var result = response['data']['tasks'];
    // Result data
    console.log(result);
}).catch(function (error) {
    console.log(error);
});
```





```python
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")
post_data = dict()
# You can set only one task at a time
post_data[len(post_data)] = dict(
language_code="en",
location_code=2840,
keyword="audi"
)
# POST /v3/serp/youtube/organic/live/advanced
# in addition to 'youtube' and 'organic' you can also set other search engine and type parameters
# the full list of possible parameters is available in documentation
response = client.post("/v3/serp/youtube/organic/live/advanced", post_data)
# you can find the full list of the response codes here https://docs.dataforseo.com/v3/appendix/errors
if response["status_code"] == 20000:
print(response)
# do something with result
else:
print("error. Code: %d Message: %s" % (response["status_code"], response["status_message"]))
```





```csharp
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Net.Http;
using System.Threading.Tasks;

namespace DataForSeoDemos
{
    public static partial class Demos
    {
        public static async Task serp_live_advanced()
        {
            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"))) }
            };
            var postData = new List<object>();
            // You can set only one task at a time
            postData.Add(new
            {
                language_code = "en",
                location_code = 2840,
                keyword = "audi"
            });
            // POST /v3/serp/youtube/organic/live/advanced
            // in addition to 'youtube' and 'organic' you can also set other search engine and type parameters
            // the full list of possible parameters is available in documentation
            var taskPostResponse = await httpClient.PostAsync("/v3/serp/youtube/organic/live/advanced", new StringContent(JsonConvert.SerializeObject(postData)));
            var result = JsonConvert.DeserializeObject<dynamic>(await taskPostResponse.Content.ReadAsStringAsync());
            // you can find the full list of the response codes here https://docs.dataforseo.com/v3/appendix/errors
            if (result.status_code == 20000)
            {
                // do something with result
                Console.WriteLine(result);
            }
            else
                Console.WriteLine($"error. Code: {result.status_code} Message: {result.status_message}");
        }
    }
}
```





> The above command returns JSON structured like this:

```
{
  "version": "0.1.20221214",
  "status_code": 20000,
  "status_message": "Ok.",
  "time": "11.0835 sec.",
  "cost": 0.002,
  "tasks_count": 1,
  "tasks_error": 0,
  "tasks": [
    {
      "id": "12301655-1535-0139-0000-3376a75a8576",
      "status_code": 20000,
      "status_message": "Ok.",
      "time": "11.0339 sec.",
      "cost": 0.002,
      "result_count": 1,
      "path": [
        "v3",
        "serp",
        "youtube",
        "organic",
        "live",
        "advanced"
      ],
      "data": {
        "api": "serp",
        "function": "live",
        "se": "youtube",
        "se_type": "organic",
        "language_code": "en",
        "location_code": 2840,
        "keyword": "audi",
        "device": "desktop",
        "os": "windows"
      },
      "result": [
        {
          "keyword": "audi",
          "se_domain": "youtube.com",
          "location_code": 2840,
          "language_code": "en",
          "check_url": "https://www.youtube.com/results?search_query=audi",
          "datetime": "2022-12-30 14:55:27 +00:00",
          "spell": null,
          "refinement_chips": null,
          "item_types": [
            "youtube_video",
            "youtube_channel",
            "youtube_playlist"
          ],
          "se_results_count": 32629053,
          "items_count": 65,
          "items": [
            {
              "type": "youtube_video",
              "rank_group": 1,
              "rank_absolute": 1,
              "block_rank": 1,
              "block_name": null,
              "title": "The 2023 Audi Q7 55 TFSI Is An Ultra Quiet & Comfortable Luxury 3-Row SUV",
              "url": "https://www.youtube.com/watch?v=lrPvFuz8Leg",
              "video_id": "lrPvFuz8Leg",
              "thumbnail_url": "https://i.ytimg.com/vi/lrPvFuz8Leg/hq720.jpg?sqp=-oaymwEcCNAFEJQDSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLC4RyEK7ntuK_hkLAMXOdFmcZNz6w",
              "channel_id": "UC2MrtVb1dT4FhcbOlW736kA",
              "channel_name": "Redline Reviews",
              "channel_url": "https://www.youtube.com/@theredline",
              "channel_logo": "https://yt3.ggpht.com/R90alWqdmbF6Z_Hj6qZ3KaI7HDRMfFIfrdOgwLyXCii6GUuiW1YJs-2JDyRiDKoc8R-_X0nGPdQ=s68-c-k-c0x00ffffff-no-rj",
              "description": "When you need an # Audi vehicle with 3-rows of seating, the #AudiQ7 is the only vehicle in the lineup that can fit that bill. For 2023 ...",
              "highlighted": [
                "Audi"
              ],
              "badges": [
                "New",
                "4K"
              ],
              "is_live": false,
              "is_shorts": false,
              "is_movie": null,
              "views_count": 1004,
              "publication_date": "43 minutes ago",
              "timestamp": "2022-12-30 14:12:23 +00:00",
              "duration_time": "23:26",
              "duration_time_seconds": 1406
            },
            {
              "type": "youtube_channel",
              "rank_group": 1,
              "rank_absolute": 9,
              "block_rank": 1,
              "block_name": null,
              "channel_id": "UCO5ujNeWRIwP4DbCZqZWcLw",
              "name": "Audi",
              "url": "https://www.youtube.com/@Audi",
              "logo": "https://yt3.googleusercontent.com/ytc/AMLnZu_iyn_apm6S6bi0P-nBUNil4mgAum9opQJGWeea=s176-c-k-c0x00ffffff-no-rj-mo",
              "video_count": 0,
              "is_verified": true,
              "description": "The official Audi YouTube Channel. From the beginning, advanced technology has been at the very heart of the Audi DNA.",
              "highlighted": [
                "Audi",
                "Audi"
              ]
            },
            {
              "type": "youtube_playlist",
              "rank_group": 2,
              "rank_absolute": 3,
              "block_rank": 3,
              "block_name": null,
              "title": "McQueen Car Assembly Surprise Soccer Ball | Street Vehicle with Learn Colors for Kids",
              "url": "https://www.youtube.com/playlist?list=PLeeA6TGUlbkZBi7TYks-CbPnFMsjjB5Be",
              "playlist_id": "PLeeA6TGUlbkZBi7TYks-CbPnFMsjjB5Be",
              "thumbnail_url": "https://i.ytimg.com/vi/i2mV0LApDTA/hqdefault.jpg?sqp=-oaymwEXCNACELwBSFryq4qpAwkIARUAAIhCGAE=&rs=AOn4CLAbEK6cprhXavg6sjhL92EleU9O9w",
              "channel_id": "UCxaux2CGJvqAkGn5ohSQxdA",
              "channel_name": "Tech Editing info Master",
              "channel_url": "https://www.youtube.com/channel/UCxaux2CGJvqAkGn5ohSQxdA",
              "channel_logo": null,
              "videos_count": 81,
              "preview_videos": [
                {
                  "video_id": "i2mV0LApDTA",
                  "title": "McQueen Car Assembly Surprise Soccer Ball | Street Vehicle with Learn Colors for Kids",
                  "url": "https://www.youtube.com/watch?v=i2mV0LApDTA&list=PLeeA6TGUlbkZBi7TYks-CbPnFMsjjB5Be",
                  "duration_time": "10:08",
                  "duration_time_second": 608
                },
                {
                  "video_id": "-tAQGxcRaaI",
                  "title": "Learn Colors with Dump truck & Soccer Balls | Learning Videos for Children | Cartoons for Kids",
                  "url": "https://www.youtube.com/watch?v=-tAQGxcRaaI&list=PLeeA6TGUlbkZBi7TYks-CbPnFMsjjB5Be",
                  "duration_time": "2:01",
                  "duration_time_second": 121
                }
              ]
            }
          ]
        }
      ]
    }
  ]
}
```









 

  cURL   php   Node.js   Python   cSharp