Video details, not the file

YouTube API

Title, channel, public counts, comments, and a transcript when the video has captions. The file stays on YouTube.

Capabilities

Search, video, channel, transcript

For catalogs and research. You get the public record. The file stays on YouTube.

Search

Search returns videos and channels for a query. Suggestions and trending sit beside it. See examples

One video

Title, description, published time, length, and the public counts. Comments and the transcript are separate calls. See examples

Comments

Comments and the replies under one comment. A comment has the text, the like count, and the channel that wrote it.

Transcript

The transcript, when the video has captions. This is the words, not the video.

The channel

A channel, its videos, shorts, streams, and playlists. The channel call identifies it. The lists are separate.

A URL in

Resolve accepts a video, channel, or playlist URL and returns the id the other calls expect.

How a call is made

The path

The key goes in the Authorization header as a bearer token. A watch URL is enough for a video.

Search

GET /api/v1/youtube/search requires q. Optional filters are type, sort, duration, and uploadDate.

One video

GET /api/v1/youtube/video takes id or url. Comments use the same id. The transcript is a separate call and returns text.

The channel

A channel takes id, handle, or url. Videos, shorts, streams, and playlists are the next calls.

Shortened examples

Sample responses

Shortened examples of a video, a search hit, a comment, a transcript, a channel, and a trending video. Counts in a sample are not live. None of these is the video file.

{
    "id": "MOLZOXqaomM",
    "title": "Learn Laravel from Scratch [FULL BOOTCAMP COURSE]",
    "publishedAt": "2025-09-16T09:00:06-07:00",
    "lengthSeconds": 7395,
    "viewCount": 105869,
    "likeCount": 2237,
    "commentCount": 129,
    "category": "Science & Technology"
}
{
    "id": "Ugzge340dBgB75hWBm54AaABAg",
    "text": "can confirm: he never gave us up",
    "publishedText": "1 year ago",
    "likeCount": 322000,
    "replyCount": 962,
    "author": {
        "name": "@YouTube",
        "handle": "@YouTube"
    }
}
{
    "id": "UCBR8-60-B28hp2BmDPdntcQ",
    "handle": "@YouTube",
    "title": "YouTube",
    "country": "United States",
    "subscriberCount": 46400000,
    "videoCount": 1625
}
{
    "type": "channel",
    "title": "Laravel",
    "handle": "@LaravelPHP",
    "subscriberCount": 79700
}
{
    "id": "dQw4w9WgXcQ",
    "languageCode": "en",
    "autoGenerated": false,
    "cues": [
        {
            "text": "♪ We're no strangers to love ♪",
            "startSeconds": 18.64,
            "durationSeconds": 3.24
        },
        {
            "text": "♪ You know the rules and so do I ♪",
            "startSeconds": 22.64,
            "durationSeconds": 4.32
        }
    ]
}
{
    "type": "video",
    "id": "9UQGXUlMYFU",
    "title": "comehelpglo - onsra (official music video)",
    "viewCount": 236000,
    "viewCountText": "236K views",
    "lengthSeconds": 132,
    "channel": {
        "name": "comehelpglo"
    }
}

Before you integrate

Common questions

What comes back, and what this API will not return.

No. The response is metadata: title, description, length, and the public counts. A stream URL is not included.

Yes. /api/v1/youtube/video/comments takes the video id or URL. Replies take the comment as well.

No. View counts in a sample are the counts from that example.

Pass the watch URL as url to /api/v1/youtube/video. /api/v1/youtube/resolve accepts a video, channel, or playlist URL when you only need the id.

Only when the video has captions. The transcript call returns text, not media.

Documentation

Video, channel, and transcript calls are in the YouTube docs, in four languages.

Code samples

A sample for each endpoint, in Shell, JavaScript, PHP, and Python.

View documentation

Related APIs

Also in the catalog

Other feeds on the same key. Open one if this page isn't quite what you needed.

TikTok

A public profile, a video, the comments under it, and search. Pass a username or a link. TikTok API

Instagram

Public posts, a profile, and the comments under a post. A username is enough to open the account. Instagram API

X

Posts, a profile, followers, and what's trending. You can read the conversation. The API won't post for you. Twitter / X API

Pricing

Same plans, whole catalog

Plans cover the whole SteadyAPI catalog, not only this API. The monthly allowance is on the table. For a larger volume, email [email protected].

Starter
$14.95
$19.95
per month
Developer Popular
$39.95
$59.95
per month
Business
$89.95
$99.95
per month
Enterprise
$299.95
$499.95
per month
Start 7-Day TrialStart 7-Day TrialStart 7-Day TrialStart 7-Day Trial
Requests per month10,000250,0002,500,000
Stock Market API
Options Data API
Crypto Data API
AliExpress API
Reddit API
Booking.com API
Real Estate API
Baseball (MLB) API
Hockey API
Football API
Amazon API
eBay API
Walmart API
Instagram API
Twitter / X API
TikTok API
YouTube API
AutoHub API
ScrapeFlow
Commercial Use
Optional overage rate*$1.50 per 1,000 requests$0.50 per 1,000 requests$0.09 per 1,000 requests
Overage capup to 50,000 extraup to 1,250,000 extraup to 12,500,000 extra
Starter
$11.96
$14.35
per month$143.52 billed yearly
Developer Popular
$31.96
$40.00
per month$383.52 billed yearly
Business
$71.96
$90.00
per month$863.52 billed yearly
Enterprise
$320.83
$400.00
per month$3,849.95 billed yearly
Start 7-Day TrialStart 7-Day TrialStart 7-Day TrialStart 7-Day Trial
Requests per month10,000250,0002,500,000
Stock Market API
Options Data API
Crypto Data API
AliExpress API
Reddit API
Booking.com API
Real Estate API
Baseball (MLB) API
Hockey API
Football API
Amazon API
eBay API
Walmart API
Instagram API
Twitter / X API
TikTok API
YouTube API
AutoHub API
ScrapeFlow
Commercial Use
Optional overage rate*$1.50 per 1,000 requests$0.50 per 1,000 requests$0.09 per 1,000 requests
Overage capup to 50,000 extraup to 1,250,000 extraup to 12,500,000 extra

* Overage stays off until you turn it on in Billing, and only for Stripe card subscriptions. Usage is counted in monthly periods that start on your billing day, yearly plans included. Requests past the included limit are billed after the period ends, up to the cap. If you switch plans during a period, the limit and overage rate of the plan you are on when that period ends apply to the whole period.

Why SteadyAPI

The record, not the file

Title, counts, comments, and a transcript are the product. The video file stays on YouTube.

Metadata, not media

Title, counts, comments, and a transcript are what you get back. The file stays on YouTube.

Paste the URL

A watch URL is enough for the video call. Resolve is there when you have a short or indirect link.

Channel, then videos

The channel call identifies the channel. The video list is the next call.

Your monthly plan

A batch of videos is a heavier call than one video. Both count against the plan on the account.

Also on the blog

From the blog

These posts come from across SteadyAPI, so the one at the top may be about a different API. The reference for this page is the documentation above.

How to Read TikTok Video Comments Using SteadyAPIOct 05, 2026

How to Read TikTok Video Comments Using SteadyAPI

Read TikTok comments 20 at a time. Video 7106594312292453675 has 1269 comments. The next cursor is the string 20.

READ MORE
How to Look Up a Crypto Profile Using SteadyAPIOct 09, 2026

How to Look Up a Crypto Profile Using SteadyAPI

Look up one coin by slug. Store the symbol, status, and website list. Quotes are a later call and use data, not body.

READ MORE
How to Read Stock Financials Using SteadyAPIOct 09, 2026

How to Read Stock Financials Using SteadyAPI

Annual income, balance sheet, and cash flow for one ticker. Amounts come back as formatted strings in three tables.

READ MORE
How to Check Vehicle Recalls Using SteadyAPIOct 08, 2026

How to Check Vehicle Recalls Using SteadyAPI

Learn how to check vehicle recalls with SteadyAPI. Read component, summary, and remedy for a vehicle id.

READ MORE