Irmu
Social

YouTube API

Videos, channels, transcripts and comment threads.

Start freePOST https://app.irmu.com/api/extract15 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 -X POST https://app.irmu.com/api/extract \
  -H "Authorization: Bearer irmu_sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
    "schema": {
      "title": "string",
      "channel": "string",
      "views": "string",
      "likes": "string",
      "published_at": "string",
      "description": "string"
    }
  }'
Response

Validated JSON

response.json
{
  "data": {
    "title": "Building a scraping pipeline",
    "channel": "Dev Diaries",
    "views": 214883
  },
  "credits_used": 15,
  "status": 200
}
SDKs

Copy, paste, ship

import requests

res = requests.post(
    "https://app.irmu.com/api/extract",
    headers={"Authorization": "Bearer irmu_sk_live_..."},
    json={
        "url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
        "schema": {
            "title": "string",
            "channel": "string",
            "views": "string",
            "likes": "string"
        },
    },
)

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

Simple credits

Per video page

15 credits

Failed requests are retried automatically and never billed.

See full pricing →
FAQ

YouTube API questions

Start extracting YouTube data today

1,000 free credits every month. No card, no sales call.