Scrape YouTube
Transcripts
Get plain text or timed captions in JSON, SRT, WebVTT, JSON3, or TTML from public YouTube videos.
- 100 free API credits included
- No payment card required
- Failed requests cost 0 credits
YouTube transcripts,
ready for your workflow.
Pass a public video ID or url and get plain text or timed captions.
Public videos
Fetch captions from any public video with a caption track. You do not need to own the channel.
Your format
Choose plain text, SRT, WebVTT, JSON3, or TTML for each request.
The right track
Select a language and prefer manual or auto-generated captions.
Stable JSON
Build against a documented response shape while Tapline handles changes to YouTube pages.
Test it live.
See the result.
Choose a sample video, set the format, and run the endpoint without an account.
Current public data
Use Run to fetch a live, normalized response from the Tapline API.
Simple, Transparent Pricing
Start free. No card required. No charge for failed requests.
Pay As You Go
Starter
Enterprise
Questions before you ship.
Yes. Pass the ID of any public video that has a caption track. The video can belong to another channel. The endpoint returns manual or auto-generated captions when available.
Yes. Tapline is a REST API, so you can call it from any HTTP client. The docs include cURL, Python, and TypeScript examples.
Sign up to get 100 free API credits with no card required, then create an API key in the dashboard. Send it in the X-API-Key header and you can make your first request in under a minute.
One HTTP call to one endpoint. Search, comments, video details, and channel requests cost 3 credits and every other request costs 2, regardless of how many rows it returns. A comments page carrying 20 threads is still one request.
Yes. Your plan has one credit pool shared across every live Tapline API.
Search, comments, comment replies, and channel videos return one full page per call plus a pagination.next_cursor; send that back to get the next page. There is no limit parameter, so page size is fixed. A comments page usually carries 20 threads and a channel videos page 30 items. Playlists are the one endpoint that takes a limit, from 1 to 100 entries with a default of 50. Metadata, transcript, subtitle tracks, formats, heatmap, and channel info are single-record endpoints.
Yes. Each comments response carries pagination.next_cursor. Send it back as the cursor parameter to get the next page and repeat until next_cursor is null. Sort by new to walk the whole comment section; sorting by top follows YouTube ranked order and stops short of the full set on heavily commented videos, which the response marks as completion: depth_limit. Replies have their own endpoint: take replies_cursor from a thread and page it the same way until it runs out. Every comments page is one request at 3 credits, and every replies page costs 2.
Credits are charged when Tapline reaches the target and receives a valid response about the requested resource. This includes responses showing that the resource is private, restricted, unavailable, or does not exist. Requests that fail because Tapline is blocked by the target, times out, or encounters an internal error cost 0 credits.
Calls return the current state at request time. Identical requests within a short window may be served from a brief cache.
No. Tapline is independent. Tapline returns publicly available data.
No. Unlike the YouTube Data API, Tapline does not reset a daily quota. Requests draw from your plan's monthly credit pool. Rate limits still apply, and failed requests use no credits.