Irmu
Social

YouTube API

Videos, channels, transcripts and comment threads.

Start freeGET https://app.irmu.com/api/crawl15 credits
Why

Why teams scrape YouTube

YouTube holds some of the most commercially useful public data on the web, and almost none of it is available through a stable official feed at the volume real products need. Rate limits, partner-only access and shifting page structures mean teams either give up on the source or maintain a fragile scraper that breaks every few weeks.

The official Data API has a quota model that makes any serious analysis or transcript-based pipeline impractical, and transcripts are not exposed at all.

Irmu removes the infrastructure question entirely. One authenticated request handles proxy selection, browser rendering, anti-bot challenges and retries, and AI Extract turns the resulting page into validated JSON against a schema you define. You get title, channel, views, likes, published_at, description, transcript, comments without writing or maintaining a single selector, and the same endpoint, quota and observability model you already use for every other source.

Use cases

What it powers

  • Transcript mining

    Turn hours of video into searchable text for RAG.

  • Competitor content analysis

    Track topics, cadence and performance.

  • Sentiment analysis

    Extract themes from comment threads.

  • Training corpora

    Build domain-specific spoken-language datasets.

Data

Fields available

Everything below comes back typed and validated against your schema.

title

Video title

channel

Channel name

views

View count

likes

Like count

published_at

Publish date

description

Video description

transcript

Full caption text

comments

Top comments with authors

Request

One call, no selectors

request.sh
curl -G https://app.irmu.com/api/crawl \
  -H "Authorization: Bearer $IRMU_API_KEY" \
  --data-urlencode "url=https://www.youtube.com/watch?v=dQw4w9WgXcQ" \
  --data-urlencode "premium=true" \
  --data-urlencode "ai_query=Extract title, channel, views, likes, published_at, description as JSON"
Response

Validated JSON

response.json
{
  "url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
  "domain": "www.youtube.com",
  "premium": true,
  "js": true,
  "ai_query": "Extract title, channel, views, likes, published_at, description as JSON",
  "credits_charged": 15,
  "status": "completed",
  "data": {
    "title": "Building a scraping pipeline",
    "channel": "Dev Diaries",
    "views": 214883
  },
  "error": null
}
SDKs

Copy, paste, ship

import os, requests

res = requests.get(
    "https://app.irmu.com/api/crawl",
    params={
        "url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
        "premium": "true",
        "ai_query": "Extract title, channel, views, likes as JSON",
    },
    headers={"Authorization": f"Bearer {os.environ['IRMU_API_KEY']}"},
)

print(res.json()["data"])
Pricing

Simple credits

Per video page

15 credits

Requests we fail to serve for internal reasons, or to domains we do not cover, are not billed.

See full pricing →
FAQ

YouTube API questions

Start extracting YouTube data today

200 free credits every month. No card, no sales call.