Contract
{
"type": "object",
"required": [
"video_id",
"need_format",
"video_url"
],
"properties": {
"video_id": {
"type": "string",
"maxLength": 11,
"minLength": 11,
"description": "The 11-character YouTube video ID, the v= value in a watch link."
},
"video_url": {
"type": "string",
"pattern": "^https://www\\.youtube\\.com/watch\\?v=[A-Za-z0-9_-]{11}$",
"description": "The same video's watch link: https://www.youtube.com/watch?v= followed by the video_id."
},
"need_format": {
"enum": [
true
],
"type": "boolean",
"description": "Asks for cleaned, formatted data. Only true is offered."
}
},
"additionalProperties": false
}{
"type": "object",
"properties": {
"title": {
"type": "string",
"description": "The video's title."
},
"author": {
"type": "string",
"description": "The channel's name."
},
"captions": {
"type": "array",
"items": {
"type": "object",
"properties": {
"kind": {
"type": "string",
"description": "asr for an auto-generated track, empty for an uploaded one."
},
"language_code": {
"type": "string",
"description": "The track's language code."
},
"is_translatable": {
"type": "boolean",
"description": "Whether the track can be auto-translated."
}
}
},
"description": "The caption tracks on offer."
},
"category": {
"type": "string",
"description": "The video's category, such as Music."
},
"keywords": {
"type": "array",
"items": {
"type": "string"
},
"description": "The tags the uploader set."
},
"video_id": {
"type": "string",
"description": "The video ID."
},
"embed_url": {
"type": "string",
"description": "The video's embed link."
},
"endscreen": {
"type": "array",
"items": {
"type": "object",
"properties": {
"style": {
"type": "string",
"description": "The item's type, such as VIDEO, PLAYLIST or CHANNEL."
},
"title": {
"type": "string",
"description": "The linked video, playlist or channel title."
},
"video_id": {
"type": "string",
"description": "The linked video's ID, when there is one."
},
"channel_id": {
"type": "string",
"description": "The linked channel's ID, for a channel."
},
"playlist_id": {
"type": "string",
"description": "The linked playlist's ID, for a playlist."
}
}
},
"description": "The items shown on the video's end screen."
},
"video_url": {
"type": "string",
"description": "The video's watch link."
},
"channel_id": {
"type": "string",
"description": "The channel ID (UC...)."
},
"is_private": {
"type": "boolean",
"description": "Whether the video is private."
},
"like_count": {
"type": "string",
"description": "Like count, as a string of digits."
},
"thumbnails": {
"type": "array",
"items": {
"type": "object",
"properties": {
"url": {
"type": "string"
},
"width": {
"type": "number"
},
"height": {
"type": "number"
}
}
},
"description": "The video's thumbnail images."
},
"view_count": {
"type": "string",
"description": "View count, as a string of digits."
},
"description": {
"type": "string",
"description": "The description the uploader wrote; it can contain links."
},
"is_unlisted": {
"type": "boolean",
"description": "Whether the video is unlisted."
},
"is_verified": {
"type": "boolean",
"description": "Whether the channel is verified."
},
"super_title": {
"type": "string",
"description": "The text YouTube shows above the title, such as hashtags."
},
"upload_date": {
"type": "string",
"description": "Upload time, ISO 8601 with offset."
},
"is_crawlable": {
"type": "boolean",
"description": "Whether search engines may index the video."
},
"publish_date": {
"type": "string",
"description": "Publish time, ISO 8601 with offset."
},
"allow_ratings": {
"type": "boolean",
"description": "Whether likes are enabled."
},
"comment_count": {
"type": "string",
"description": "Comment count as abbreviated Chinese display text, where 万 means ten thousand."
},
"channel_handle": {
"type": "string",
"description": "The channel's @handle."
},
"is_family_safe": {
"type": "boolean",
"description": "Whether YouTube marks the video family safe."
},
"length_seconds": {
"type": "string",
"description": "Length in seconds, as a string."
},
"is_live_content": {
"type": "boolean",
"description": "Whether the video is a live stream."
},
"is_shorts_eligible": {
"type": "boolean",
"description": "Whether the video is eligible for Shorts."
},
"playability_status": {
"type": "string",
"description": "Whether the video plays, such as OK."
},
"available_countries": {
"type": "array",
"items": {
"type": "string"
},
"description": "ISO 3166-1 alpha-2 codes of the countries the video is available in."
}
},
"description": "The video's details."
}Pricing
Every real charge, itemised. A model that quietly omits one is a slow financial leak, so nothing here is rolled up, and a charge that only applies to some inputs says so rather than being added in.
Prices in this catalog are the provider's own list price, not your bill: Omnial MCP charges provider cost plus a platform markup on top, so what you are charged is higher than the figure shown. For the exact amount a specific call will cost, run omnial_execute with dry_run: true; that number includes the markup and is what we hold while the call runs. It is a quote, not a cap on the charge.
| Charge | Rate |
|---|---|
Per call Flat, regardless of what comes back | $0.0020475 |
- Cost basis
- Not recorded
This tool's catalog entry does not record how its final bill is determined, so we will not tell you whether its cost is fixed before the call or reported by the provider afterwards. Either way what is held is a quote rather than a cap: you are charged what the call actually costs, bounded at 2x the quote.
- Updated
- Oct 11, 2026
