YouTube Post API
Collect YouTube post details and available author, media and comment data.
API Description
YouTube Post API — Collect YouTube post details and available author, media and comment data.
Authenticate with your Pangolinfo API Key to receive structured JSON data.
Request URL
Request Headers
| Parameters | Parameter value | Type | Description |
|---|---|---|---|
| Content-Type | application/json | string | Data format |
| Authorization | Bearer xxx | string | Authorization Token |
Collection takes up to approximately 75 seconds. Set your client timeout to 90 seconds.
Request Parameters
| Parameter | Required | Type | Description |
|---|---|---|---|
| target | Yes | string | Target URL, supported ID or search keyword for this operation. |
| options | No | object | Optional collection settings, described below. |
options Parameters
| Parameter | Required | Type | Description |
|---|---|---|---|
| includeFormats | No | boolean | Include video quality, codec and audio formats in post.formats. Default: false. Requires one extra collection request; media URLs expire and are bound to the collection IP. |
Only the request parameters listed on this page are used; other fields are ignored. Pass pagination cursors back unchanged, without encoding, decoding or conversion.
Includes one page of comments without automatically expanding replies.
Response Fields
| Field | Type | Description |
|---|---|---|
| code | integer | Status code; 0 indicates success. |
| message | string | Response message; ok on success. |
| pointCost | number | Points charged for this request. |
| data | object | Collected data, with fields described below. |
| meta | object | Request identifier and duration in milliseconds. |
| billing | object | Charged units, unit price and billing rule version. |
data Fields
| Field | Type | Description |
|---|---|---|
| type | string | Result type. |
| poster | object | Poster |
| post | object | Post, video or business details. |
| comments | object[] | Root comments in comment mode. |
| pagination | object | Continuation cursor and whether more results are available. |
data.poster Fields
| Field | Type | Description |
|---|---|---|
| nickname | string | null | Author display name. |
| avatar | string | null | Avatar URL. |
| profileUrl | string | null | Author profile URL. |
| channelId | string | null | Channel id |
| handle | string | null | Handle |
| channelUrl | string | null | Channel url |
data.post Fields
| Field | Type | Description |
|---|---|---|
| title | string | null | Title |
| captionText | string | null | Caption text |
| publishedAt | object | null | Publication time. |
| views | number | View count. |
| likes | number | Like count. |
| commentsCount | number | Platform-reported comment total; not the number billed. |
| videoId | string | Video id |
| url | string | Content URL. |
| isShort | boolean | Is short |
| durationSec | number | null | Duration sec |
| uploadDate | string | null | Upload date |
| category | string | null | Category |
| keywords | string[] | Keywords |
| thumbnails | object[] | Thumbnails |
| isLiveContent | boolean | Is live content |
| isLiveNow | boolean | Is live now |
| liveStartTimestamp | string | null | Live start timestamp |
| liveEndTimestamp | string | null | Live end timestamp |
| isPrivate | boolean | Is private |
| isUnlisted | boolean | Is unlisted |
| isFamilySafe | boolean | Is family safe |
| allowRatings | boolean | Allow ratings |
| playabilityStatus | string | null | Playability status |
| availableCountriesCount | number | null | Available countries count |
| chapters | object[] | Chapters |
| related | object[] | Related |
| formats | object[] | Formats |
data.post.publishedAt Fields
| Field | Type | Description |
|---|---|---|
| text | string | null | Text value. |
| value | number | null | Parsed value. |
data.post.thumbnails[] Fields
| Field | Type | Description |
|---|---|---|
| url | string | Content URL. |
| width | number | Width |
| height | number | Height |
data.post.chapters[] Fields
| Field | Type | Description |
|---|---|---|
| title | string | null | Title |
| startMs | number | Segment start time in milliseconds. |
| thumbnail | string | null | Thumbnail |
data.post.related[] Fields
| Field | Type | Description |
|---|---|---|
| workId | string | null | Work id |
| videoId | string | null | Video id |
| workType | string | Work type Values: [“video”, “short”, “playlist”, “lockup”] |
| kind | string | Kind Values: [“video”, “short”, “playlist”, “lockup”] |
| url | string | null | Content URL. |
| title | string | null | Title |
| thumbnail | string | null | Thumbnail |
| cover | string | null | Cover |
| views | number | null | View count. |
| publishTime | string | null | Publish time |
| durationText | string | null | Duration text |
| durationSec | number | null | Duration sec |
| playlistId | string | null | Playlist id |
| contentId | string | null | Content id |
| contentType | string | null | Content type |
| channelId | string | null | Channel id |
| channelHandle | string | null | Channel handle |
| channelName | string | null | Channel name |
| accessibilityText | string | null | Accessibility text |
data.post.formats[] Fields
| Field | Type | Description |
|---|---|---|
| itag | number | Itag |
| mimeType | string | null | Mime type |
| codecs | string | null | Codecs |
| hasVideo | boolean | Has video |
| hasAudio | boolean | Has audio |
| qualityLabel | string | null | Quality label |
| width | number | null | Width |
| height | number | null | Height |
| fps | number | null | Fps |
| bitrate | number | null | Bitrate |
| contentLength | number | null | Content length |
| audioQuality | string | null | Audio quality |
| audioSampleRate | number | null | Audio sample rate |
| audioChannels | number | null | Audio channels |
| audioTrack | object | null | Audio track |
| url | string | null | Content URL. |
data.comments[] Fields
| Field | Type | Description |
|---|---|---|
| timeText | object | Time text |
| content | string | null | Content text; may be null for records without text. |
| likeCount | number | null | Like count |
| replyCount | number | null | Platform-reported reply count. |
| avatar | string | null | Avatar URL. |
| nickname | string | null | Author display name. |
| profileUrl | string | null | Author profile URL. |
| commentId | string | Parent comment identifier. Set this to collect replies instead of root comments. |
| parentId | string | null | Parent post or comment identifier. |
| authorChannelId | string | null | Author channel id |
| authorIsVerified | boolean | Author is verified |
| authorIsCreator | boolean | Author is creator |
| authorIsArtist | boolean | Author is artist |
| replyLevel | number | null | Reply level |
| timestamps | object[] | Timestamps |
| replyCursor | string | null | Cursor used to request replies to this comment. |
| replys | object[] | Nested replies. |
data.comments[].timeText Fields
| Field | Type | Description |
|---|---|---|
| text | string | null | Text value. |
| timestamp | number | null | Timestamp |
data.comments[].timestamps[] Fields
| Field | Type | Description |
|---|---|---|
| text | string | Text value. |
| seconds | number | Seconds |
data.comments[].replys[] Fields
| Field | Type | Description |
|---|---|---|
| timeText | object | Time text |
| content | string | null | Content text; may be null for records without text. |
| likeCount | number | null | Like count |
| replyCount | number | null | Platform-reported reply count. |
| avatar | string | null | Avatar URL. |
| nickname | string | null | Author display name. |
| profileUrl | string | null | Author profile URL. |
| commentId | string | Parent comment identifier. Set this to collect replies instead of root comments. |
| parentId | string | null | Parent post or comment identifier. |
| authorChannelId | string | null | Author channel id |
| authorIsVerified | boolean | Author is verified |
| authorIsCreator | boolean | Author is creator |
| authorIsArtist | boolean | Author is artist |
| replyLevel | number | null | Reply level |
| timestamps | object[] | Timestamps |
| replyCursor | string | null | Cursor used to request replies to this comment. |
| replys | any[] | Nested replies. |
data.pagination Fields
| Field | Type | Description |
|---|---|---|
| comments | object | Root comments in comment mode. |
data.pagination.comments Fields
| Field | Type | Description |
|---|---|---|
| cursor | string | null | Continuation cursor from the previous response. Pass the value unchanged. |
| hasMore | boolean | Whether more results are available. |
Request Example
Response Example
This excerpt shows the first item of each list. Long text and URLs are shortened; pointCost is the charge for the complete response. The playground contains the full schema.
Points Usage
0.8 points per post, video or business. Included comments, replies and author details are free.
Empty results and failed requests are not charged. Duplicate IDs are counted once within a response. Separate calls and pages are billed separately. See Social Media Reviews API billing.

