YouTube Search API
Search YouTube content by keyword and return matching results.
API Description
YouTube Search API — Search YouTube content by keyword and return matching results.
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 |
|---|---|---|---|
| maxPages | No | integer | Pages to collect. Default: 1; values above 5 are capped at 5. Must be a positive integer. Default: 1 Minimum: 1 Maximum: 5 |
| type | No | string | Search result type. Values: [“video”, “channel”] |
| params | No | string | YouTube search filter encoded as base64 protobuf. Overrides type when provided. |
| cursor | No | string | null | Continuation cursor from the previous response. Pass the value unchanged. |
Only the request parameters listed on this page are used; other fields are ignored. Pass pagination cursors back unchanged, without encoding, decoding or conversion.
One page by default, capped at five per request. Page counts must be positive integers; higher values are capped at five.
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 |
|---|---|---|
| videos | object[] | Videos |
| channels | object[] | Channels |
| count | number | Number of result items. |
| pagination | object | Continuation cursor and whether more results are available. |
data.videos[] Fields
| Field | Type | Description |
|---|---|---|
| url | string | null | Content URL. |
| title | string | null | Title |
| duration | number | null | Duration |
| videoId | string | Video id |
| isShort | boolean | Is short |
| descriptionSnippet | string | null | Description snippet |
| durationText | string | null | Duration text |
| views | number | null | View count. |
| shortViewCountText | string | null | Short view count text |
| publishedTimeText | string | null | Published time text |
| thumbnails | object[] | Thumbnails |
| cover | string | null | Cover |
| badges | string[] | Badges |
| poster | object | Poster |
data.videos[].thumbnails[] Fields
| Field | Type | Description |
|---|---|---|
| url | string | Content URL. |
| width | number | Width |
| height | number | Height |
data.videos[].poster Fields
| Field | Type | Description |
|---|---|---|
| nickname | string | null | Author display name. |
| channelId | string | null | Channel id |
| handle | string | null | Handle |
| avatar | string | null | Avatar URL. |
| profileUrl | string | null | Author profile URL. |
| badges | string[] | Badges |
data.channels[] Fields
| Field | Type | Description |
|---|---|---|
| channelId | string | Channel id |
| title | string | null | Title |
| handle | string | null | Handle |
| url | string | Content URL. |
| thumbnails | object[] | Thumbnails |
| descriptionSnippet | string | null | Description snippet |
| subscriberCountText | string | null | Subscriber count text |
| subscriberCount | number | null | Subscriber count |
| videoCountText | string | null | Video count text |
| videoCount | number | null | Video count |
| badges | string[] | Badges |
data.channels[].thumbnails[] Fields
| Field | Type | Description |
|---|---|---|
| url | string | Content URL. |
| width | number | Width |
| height | number | Height |
data.pagination 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 primary result.
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.

