YouTube reference
YouTube API guide
Resolve a channel, find its uploads and retrieve video details or comments. Channel counts, upload rows and individual video statistics serve different purposes.
Quickstart
Start with YouTube
Resolve a channel, find its uploads and retrieve video details or comments. Channel counts, upload rows and individual video statistics serve different purposes.
These requests use your API key and can spend credits. Check the current price on the endpoint page; each new page is a separate request. Later examples use illustrative identifiers: replace them with values from your earlier response.
1. Resolve the channel
You can use a handle, channelId, legacy username or supported channel URL. Keep the resolved channel ID for later calls. Parameters and current cost →
curl "https://www.monocrawl.com/v1/youtube/channel?handle=%40googledevelopers" \ -H "x-api-key: mn_your_key_here"
2. List uploads
Uploads arrive newest first. Use a returned video URL or ID for the next request. Parameters and current cost →
curl "https://www.monocrawl.com/v1/youtube/channel/videos?handle=%40googledevelopers&max_results=25" \ -H "x-api-key: mn_your_key_here"
3. Read video statistics
Replace the example URL with a returned upload. Upload-list metadata is not a substitute for current per-video statistics. Parameters and current cost →
curl "https://www.monocrawl.com/v1/youtube/video?url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3D9bZkp7q19f0" \ -H "x-api-key: mn_your_key_here"
Filters and coverage
Choose filters with the source behavior in mind
| Control | Behavior and limits |
|---|---|
| Search result types | type can contain video, channel or playlist. sortBy accepts relevance, date, rating, title or views; duration accepts short, medium or long and forces video results. uploadDate accepts hour, today, week, month or year and supplies a lookback bound. max_results is at most 50. Search snippets require detail lookups for video statistics. Endpoint reference → |
| Advanced search combinations | published_after and published_before use RFC-3339 timestamps; channel_id scopes the search to a channel. language is a preference, not a guaranteed language-only result. region supplies the source region. location is a lat,long point and requires location_radius; geographic searches use video results. Keep all bounds and filters with the cursor. Endpoint reference → |
| Channel identifiers | Provide one channelId, handle, forUsername or channel URL as supported by this endpoint. forUsername is a legacy username, not an @handle. Reuse the resolved channel ID for subsequent calls. Endpoint reference → |
| Uploads and sort | Accepts channelId, handle or URL; max_results is at most 50. Uploads are newest first. The Data API implementation ignores sort and reports a warning: requesting popular does not create a popularity ranking. Endpoint reference → |
| Upload metadata versus statistics | channel/videos returns playlist metadata. Use each returned video ID or URL with video, or pass IDs to videos, to retrieve views, likes and duration. Private, deleted or restricted videos may be missing. Endpoint reference → |
| Comment controls | order accepts time or relevance; searchTerm filters comments. format accepts html or plainText. max_results is at most 100. Keep those options fixed when passing cursor. Reply previews have separate completeness metadata. Endpoint reference → |
| Localization and totals | hl requests localized metadata where available; it is not an audience-location filter. Public subscriber counts may be rounded or hidden. Source totals and returned page counts have different meanings. Endpoint reference → |
| Bulk lookup | Accepts up to 250 video IDs, fetched in source batches. Check missing, rejected and warnings as well as items: a successful response does not mean every requested video was found. Endpoint reference → |
Source availability, ordering and field coverage can change. Inspect warnings and partial-result metadata alongside the rows. See runnable workflows, metric semantics, computed fields and the pagination matrix.
Choose an endpoint
Match the operation to your task
| Your task | Endpoint | When to use it |
|---|---|---|
| Comments under a video | video/comments | Returns top-level threads; inline replies may be only a preview. |
| Find videos, channels or playlists | search | Choose the result type and ordering; discovery rows have fewer details than video lookups. |
| Date, language or geographic discovery | search/advanced | Use explicit filters together and keep them unchanged across pages. |
| Several known video IDs | videos | Inspect the endpoint’s batch size and required identifier format. |
| Spoken words | post-transcript | Caption availability and language depend on the video. |
| One channel and a recent sample | profile/full | Read the bundle’s component and continuation metadata. |
Explore all documented operations by purpose below. Each endpoint reference contains its accepted parameters and current price.
Accounts and audiences
Posts and media
Transcripts
Search and discovery
Comments and replies
Operations
YouTube
Each row is a registry operation: expand it for parameters, a curl built from the registry's own examples, and a Markdown copy of the whole entry. The badge on the right is the operation's state, read at request time — we publish all three rather than rounding up. Recorded proof is historical, not a guarantee of current availability.
- live · proven
- a real upstream response has been served through this API and recorded
- wired · unproven
- a real-data route is registered, but qualifying proof is absent; permission or capacity restrictions may apply
- sample · free
- no live upstream — /v1 refuses it, /sandbox returns a marked sample
YouTube
28 operationsElsewhere
The same registry, other shapes
- YouTube overview — supported data categories and use cases for this platform.
- Full endpoint reference — every platform on one page.
/openapi.jsonor/openapi.yaml— the machine-readable contract, for Postman, Insomnia or a client generator.GET /v1/utility/endpoints?platform=youtube— the same rows to your code at runtime, for 0 credits.