Data APIs / YouTube

YouTube Scraper API

Transcripts, channel profiles, upload lists, video stats, and search — from a single API, no Google Cloud project or quota required. Every response comes as structured JSON and clean markdown for your agent.

From 1 credit per call · cache hits free · failed calls refunded · no card for the free tier

One request, structured data and markdown

Every endpoint accepts format=json, markdown, or both. Use the JSON to filter and store; drop the markdown straight into a prompt.

  • Full transcripts — manual or auto-generated captions, any language, machine-translated on request
  • Timed snippets plus the joined text, so you can quote with timestamps or feed the whole thing to a model
  • Video details: exact view and like counts, publish date, duration, tags, category, thumbnail
  • Channel profiles: subscribers, lifetime views, video count, country, join date, external links
  • Channel uploads sorted latest / popular / oldest, and search with type, date, and duration filters
request
curl 'https://scrapewhale.dev/api/v1/social/youtube/transcript?url=https://youtu.be/dQw4w9WgXcQ&format=json' \
  -H 'Authorization: Bearer <api-key>'
response · json
{
  "extractor": "youtube-transcript",
  "creditsCharged": 1,
  "data": {
    "video_id": "dQw4w9WgXcQ",
    "language": "English",
    "is_generated": false,
    "snippet_count": 61,
    "text": "We're no strangers to love. You know the rules and so do I…",
    "snippets": [
      { "text": "We're no strangers to love", "start": 18.64, "duration": 3.24 }
    ],
    "video": {
      "title": "Rick Astley - Never Gonna Give You Up (Official Video)",
      "view_count": 1808549346,
      "like_count": 19352943,
      "publish_date": "2009-10-24T23:57:33-07:00",
      "channel": { "name": "Rick Astley", "handle": "@RickAstleyYT" }
    }
  }
}

Abridged. Add format=both (the default) to receive the markdown rendering alongside the JSON.

Endpoints

5 endpoints in this family. Full parameter reference and a try-it console are in the API docs.

get/api/v1/social/youtube/transcript1 credit

YouTube video transcript

Full transcript of a video as clean prose paragraphs and timestamped blocks (markdown), with timed snippets and the joined text in data, plus the video metadata (title, channel, views, likes, publish date). Works for manual and auto-generated captions; falls back to English, then the first available track, and machine-translates into lang when no native track exists.

video_id
11-character YouTube video id. Provide this or url.
url
A youtube.com/watch?v=…, youtu.be/…, or youtube.com/shorts/… URL.
lang
Preferred caption language code (en, ja, pt-BR, …). Default: English, then the first available track.
get/api/v1/social/youtube/video1 credit

YouTube video details

Title, description, tags, category, duration, publish date, exact view and like counts, thumbnail, and the channel (name, handle, subscriber count). Pass a video id or any watch / youtu.be / Shorts URL.

video_id
11-character YouTube video id. Provide this or url.
url
A youtube.com/watch?v=…, youtu.be/…, or youtube.com/shorts/… URL.
get/api/v1/social/youtube/channel1 credit

YouTube channel profile

Channel title, description, country, join date, subscriber count, lifetime view count, video count, external links (socials, website), avatar, and banner.

handle
Channel handle, with or without the leading @. Provide this, channel_id, or url.
channel_id
Channel id (UC…, 24 characters).
url
A youtube.com/@handle, /channel/UC…, /c/…, or /user/… URL.
get/api/v1/social/youtube/channel/videos1 credit

YouTube channel videos

A channel's uploads, 30 per page — title, view count, published-ago, and length — sorted latest, most popular, or oldest (YouTube's own tab sorts). See what a competitor posts and what performs; pair with /social/youtube/video for exact figures on any id.

handle
Channel handle, with or without the leading @. Provide this, channel_id, or url.
channel_id
Channel id (UC…, 24 characters).
url
A youtube.com/@handle (or /channel/UC…) URL.
sort
latest (default), popular, or oldest.
max_pages
Pages of 30 videos to fetch (1–5). Default 1.

What teams use it for

Summarise competitor videos

Pull the transcript of every video a competitor posted this month and let your agent extract the claims, offers, and talking points.

Creator and influencer research

Score channels by subscribers, upload cadence, and average views before you reach out.

Content and keyword research

Search YouTube for a topic, filter to the last month, and see what formats and titles are winning.

Frequently asked questions