YouTube API
Fifteen endpoints for YouTube transcripts, search, video and channel data, comments and Shorts — each one a single POST returning structured JSON. No Google Cloud project, no quota units, no scraping stack to keep alive.
50 free credits on signup. No card, no Cloud project, no OAuth.
{ "data": { "channel_id": "UCSJ4gkVC6NrvII8umztf0Ow", "title": "Lofi Girl", "description": "Connecting people through music", "handle": null, "url": "https://www.youtube.com/channel/UCSJ4gkVC6NrvII8umztf0Ow", "subscriber_count": 15800000, "video_count": 438, "view_count": 2652562260, "country": "France", "creation_date": "Mar 18, 2015", "verified": false, "has_business_email": true }, "response_time": 941, "credits_used": 1, "credits_remaining": 4755}A real captured response from this endpoint. Sign up to run your own.
What is the Scavio YouTube API?
The Scavio YouTube API is a REST API that returns public YouTube data as structured JSON. You send a video id, channel id, @handle or search query to one of 15 POST endpoints with your API key, and get back transcripts, video and channel details, comments, Shorts or search results — with no Google Cloud project and no quota units to budget.
- 15
- endpoints, all live in production
- 1
- credit for most calls, 8 for transcripts
- 0
- quota units to budget
Start with these four
They cover most of what people build. The full fifteen are below.
Search
POST /api/v1/youtube/searchVideos, shorts, channels and playlists behind one query, with the filters and cursor paging the site itself uses.
Transcript
POST /api/v1/youtube/transcriptPlain text or timed SRT in one synchronous call — the endpoint most people arrive here for, and the input most RAG pipelines want.
Channel videos
POST /api/v1/youtube/channel/videosA creator's full upload history, paginated, at 1 credit a page. Cheap enough to run across a whole roster.
Comments
POST /api/v1/youtube/commentsComment threads with like and reply counts, plus a cursor into the replies under any one of them.
All 15 YouTube endpoints
Every route is a POST, returns JSON, and takes the same API key. Costs are per successful call.
| Endpoint | Returns | Credits |
|---|---|---|
Search/api/v1/youtube/search | Videos, shorts, channels and playlists with filters and cursor paging | 2 |
Video detail/api/v1/youtube/video | Title, channel, views, length, description, keywords, chapters, captions | 1 |
Transcript/api/v1/youtube/transcript | Plain text, or timed SRT subtitles with start and end times | 8 |
Comments/api/v1/youtube/comments | Comment id, text, like and reply counts, author, reply cursor | 1 |
Comment replies/api/v1/youtube/comments/replies | Replies to one comment — id, text, likes, author, publish time | 1 |
Channel detail/api/v1/youtube/channel | Subscriber / video / view counts, country, created date, avatar, banner, links | 1 |
Channel videos/api/v1/youtube/channel/videos | A channel's uploads — id, title, thumbnail, duration, views, live flag | 1 |
Channel shorts/api/v1/youtube/channel/shorts | A channel's Shorts with thumbnails and view counts, paginated | 1 |
Community posts/api/v1/youtube/channel/community | Post id, text, author, votes, comment count and attached images | 1 |
Channel search/api/v1/youtube/channel/search | Channels by keyword — id, name, handle, subscribers, description | 1 |
Resolve handle/api/v1/youtube/channel/resolve | An @handle or URL to its canonical UC... channel id | 1 |
Shorts search/api/v1/youtube/shorts | Shorts by keyword — id, title, thumbnail, views, publish time, author | 2 |
Related videos/api/v1/youtube/related | What YouTube recommends alongside a video, with authors and views | 1 |
Search suggestions/api/v1/youtube/suggestions | The autocomplete terms YouTube's search box would propose | 1 |
Media streams/api/v1/youtube/streams | Playable stream URLs — itag, resolution, bitrate, codecs, length | 3 |
50 free credits on signup covers 50 video lookups, 25 searches or 6 transcripts. See plans
A channel and its uploads in two calls
Resolve the channel, then page its uploads. The response on the right is a real capture from 13 August 2026, field names and all.
from scavio import ScavioClient
client = ScavioClient(api_key="sk_live_your_key")
ch = client.youtube.channel(channel_id="@LofiGirl")["data"]
print(ch["title"], ch["subscriber_count"])
# Then page the uploads - 1 credit per page
vids = client.youtube.channel_videos(channel_id=ch["channel_id"])
for v in vids["data"]["videos"]:
print(v["video_id"], v["title"]){
"data": {
"channel_id": "UCSJ4gkVC6NrvII8umztf0Ow",
"title": "Lofi Girl",
"description": "Connecting people through music",
"handle": null,
"url": "https://www.youtube.com/channel/UCSJ4gkVC6NrvII8umztf0Ow",
"subscriber_count": 15800000,
"video_count": 438,
"view_count": 2652562260,
"country": "France",
"creation_date": "Mar 18, 2015",
"verified": false,
"has_business_email": true
},
"response_time": 941,
"credits_used": 1,
"credits_remaining": 4755
}Why not the official YouTube Data API?
Often you should — it is free and it is first-party. But two things push teams off it, and neither is about quality.
YouTube Data API v3
- Needs a Google Cloud project, an API key or OAuth client, and a consent screen for user data
- Bills a daily quota in units, not requests — a single search costs 100 of a default 10,000
- Returns no transcripts; captions are a separate, permission-gated surface
- Higher quota is a request to Google, with review and a wait
Scavio YouTube API
- One API key, issued at signup — no Cloud project, no consent screen
- Priced per call in credits, so cost is arithmetic rather than a quota puzzle
- Transcripts are a first-class endpoint, plain text or timed SRT
- Same key and JSON envelope as 30 other Scavio platforms
Scavio returns publicly available data only, and never authenticates as a YouTube user.
What developers build with it
RAG over video libraries
Pull a channel's uploads, fetch each transcript, chunk and embed. Video is the largest body of expert content with no text index, and transcript plus metadata turns it into one you own.
channel/videos + transcriptCreator and sponsorship research
Resolve a handle, read real subscriber and view counts, then page the uploads to see posting cadence and which formats actually land. Numbers you computed, not a media kit's claims.
channel/resolve + channel + channel/videosAudience and comment mining
Pull comment threads and the replies under them, then run an LLM over the text for feature requests, objections and purchase intent. Both calls are 1 credit, so whole back catalogues are affordable.
comments + comments/repliesKeyword and SERP tracking on YouTube
YouTube is the second-largest search engine. Track which videos rank for your terms over time, and use suggestions to find the phrasing viewers actually type.
search + suggestionsShort-form trend detection
Search Shorts by keyword and read view counts to see what is moving this week, then walk the channels behind the winners to find creators before they are expensive.
shorts + channelAgent tools and content pipelines
Point an agent at the MCP server and YouTube becomes a callable tool — summarise a video, answer from a transcript, or brief a writer — with the same key as every other Scavio platform.
MCP + RESTNo code today? Use the free tools
Same endpoints behind them. No signup for the first few runs.
How to get YouTube data as JSON
- 1
Get an API key
Sign up for a Scavio account and copy your key from the dashboard. You get 50 credits free on signup, with no card required and no Google Cloud project to create.
- 2
POST a video or channel id
Send {"video_id": "n61ULEU7CO0"} to https://api.scavio.dev/api/v1/youtube/video with an Authorization: Bearer header. Every YouTube endpoint is a POST and takes a video id, channel id, @handle or search query.
- 3
Read the JSON
The response wraps the payload under data, plus credits_used and credits_remaining. Search, comment and channel endpoints return a cursor you pass back to get the next page.
YouTube API FAQ
What is the Scavio YouTube API?
+
It is a REST API that returns public YouTube data as structured JSON. Fifteen POST endpoints cover search, video detail, transcripts, comments and replies, channels, channel uploads, Shorts, community posts, related videos, search suggestions and media streams. You authenticate with a Scavio API key.
Who are these endpoints for?
+
Developers and backend teams embedding video data in a product; AI engineers building RAG or summarisation pipelines over transcripts; automation engineers running it inside n8n, Zapier or Make; growth and SEO teams tracking YouTube rankings; brand and sponsorship managers vetting creators on real view counts; and creators or agencies benchmarking their own catalogue. Same API for all of them — what changes is which of the 15 endpoints you call.
How is this different from the official YouTube Data API?
+
The official API needs a Google Cloud project and an OAuth or API key setup, and it allocates a daily quota in units rather than requests — a search costs 100 units against a default 10,000, so roughly 100 searches a day before you request more. It also does not return transcripts. Scavio has no quota units, no Cloud project, and transcripts are a first-class endpoint.
Can I get YouTube transcripts through it?
+
Yes. POST a video id to /api/v1/youtube/transcript and get the transcript back as plain text, or as timed SRT subtitles with start and end times, in one synchronous call. It costs 8 credits, the most expensive YouTube endpoint, because the upstream work is heavier than a metadata read.
How much does a YouTube request cost?
+
Most YouTube endpoints cost 1 credit. Search and Shorts search cost 2, media streams cost 3, and transcript costs 8. New accounts get 50 free credits on signup, one time, with no card required. Paid plans start at $30 per month for 7,000 credits.
What does the response look like?
+
The API wraps the payload under a data key and adds credits_used and credits_remaining. A video returns video_id, title, author, channel_id, published_at, length_seconds, view_count, keywords, thumbnail, playability_status, chapters and captions. Field names are the ones shown in the sample on this page.
How does pagination work?
+
Search, comments, channel videos, channel shorts and community endpoints return a cursor alongside the results. Pass it back as the cursor parameter on the next call to get the following page.
Do I need a Google account or OAuth?
+
No. You call the Scavio endpoint with your Scavio API key. There is no Google Cloud project to create, no OAuth consent screen, and no per-user token to refresh.
Which languages and tools are supported?
+
Official Python (pip install scavio) and JavaScript/TypeScript (npm i scavio) SDKs, a remote MCP server at mcp.scavio.dev for AI agents, and an n8n community node. Any language can call the REST endpoints directly with an HTTP client.
Is scraping YouTube data legal?
+
Scavio returns publicly available data and does not access private content or authenticate as a user. You remain responsible for how you use the data, including compliance with YouTube's terms and with copyright and privacy law. Talk to your own counsel for your specific use case.
Explore more of Scavio
TikTok API
Profiles, videos, comments and search as JSON.
Instagram API
Profiles, posts, reels, stories and hashtag search.
Google Search API
SERP, Maps, Shopping, News and AI Mode.
Reddit API
Search Reddit and pull full comment threads.
MCP server
Every platform as a callable tool for your agents.
Pricing
Credit packs and plans, with no per-platform surcharge.
Start pulling YouTube data today
50 free credits on signup, no card. Your first request is a POST with a video id in it.