100 free credits - no credit card required

YouTube Scraper API

YouTube API: 29 endpoints for public YouTube data through the SocialQuery response format. One x-api-key header, generated docs, and normalized JSON alongside 67 other platforms.

TL;DR

The YouTube API by SocialQuery returns public YouTube data as structured JSON through 29 endpoints with one shared response envelope.

Live demo

Try the YouTube API in your browser

Type a public YouTube handle, URL, or query, run a real request, and inspect the JSON SocialQuery returns.

Try the YouTube Profile API

See real data before writing a single line

GET/v1/youtube/channel
Endpoints

What data does the YouTube API return?

Every YouTube endpoint returns structured JSON with request metadata, credit usage, cache information, and normalized fields.

Channelstandard

Youtube channel. Availability depends on the configured provider route.

Channel Aboutpremium

Youtube channel about. Availability depends on the configured provider route.

Channel Videosstandard

Youtube channel videos. Availability depends on the configured provider route.

Videostandard

Youtube video. Availability depends on the configured provider route.

Videosadvanced

Youtube videos. Availability depends on the configured provider route.

Channelsadvanced

Youtube channels. Availability depends on the configured provider route.

Transcriptsadvanced

Youtube transcripts. Availability depends on the configured provider route.

Video Sponsorspremium

Youtube video sponsors. Availability depends on the configured provider route.

Video Commentsstandard

Youtube video comments. Availability depends on the configured provider route.

Video Comment Repliesstandard

Youtube video comment replies. Availability depends on the configured provider route.

Searchstandard

Youtube search. Availability depends on the configured provider route.

Channel Shortsstandard

Youtube channel shorts. Availability depends on the configured provider route.

Community Poststandard

Youtube community post. Availability depends on the configured provider route.

Playliststandard

Youtube playlist. Availability depends on the configured provider route.

Search Hashtagstandard

Youtube search hashtag. Availability depends on the configured provider route.

Shorts Trendingadvanced

Youtube shorts trending. Availability depends on the configured provider route.

Video Transcriptadvanced

Youtube video transcript. Availability depends on the configured provider route.

Channel Playlistsstandard

Youtube channel playlists. Availability depends on the configured provider route.

Channel Livesstandard

Youtube channel lives. Availability depends on the configured provider route.

Channel Community Postsstandard

Youtube channel community posts. Availability depends on the configured provider route.

Videos Trendingstandard

Youtube videos trending. Availability depends on the configured provider route.

Playlist Itemsstandard

Youtube playlist items. Availability depends on the configured provider route.

Search Advancedstandard

Youtube search advanced. Availability depends on the configured provider route.

Search Suggestionsstandard

Youtube search suggestions. Availability depends on the configured provider route.

Video Audioadvanced

Youtube video audio. Availability depends on the configured provider route.

Video Filesadvanced

Youtube video files. Availability depends on the configured provider route.

Video Subtitlesstandard

Youtube video subtitles. Availability depends on the configured provider route.

Video Thumbnailsstandard

Youtube video thumbnails. Availability depends on the configured provider route.

Profile Fulladvanced

Youtube profile full. Availability depends on the configured provider route.

Developer First

How do you scrape YouTube data in seconds?

Scrape public YouTube data without maintaining source-specific routing, parsing, retries, or response adapters.

One schema, every platform

Query 68 platforms with identical response structures. Write your integration once.

Computed fields, not just scraped

Every response includes engagement, content, cache, and request metadata ready for dashboards.

See your data before you code

Run browser demos, copy request snippets, and inspect JSON before moving into production.

import requests

response = requests.get(
    'https://socialquery.dev/v1/tiktok/profile',
    params={'handle': 'charlidamelio'},
    headers={'x-api-key': 'sq_YOUR_API_KEY'}
)
data = response.json()
const response = await fetch(
  'https://socialquery.dev/v1/tiktok/profile?handle=charlidamelio',
  {
    headers: {
      'x-api-key': 'sq_YOUR_API_KEY'
    }
  }
);

const data = await response.json();
curl 'https://socialquery.dev/v1/tiktok/profile?handle=charlidamelio' \
  -H 'x-api-key: sq_YOUR_API_KEY'
import requests

response = requests.get(
    'https://socialquery.dev/v1/instagram/profile',
    params={'handle': 'mkbhd'},
    headers={'x-api-key': 'sq_YOUR_API_KEY'}
)
data = response.json()
const response = await fetch(
  'https://socialquery.dev/v1/instagram/profile?handle=mkbhd',
  {
    headers: {
      'x-api-key': 'sq_YOUR_API_KEY'
    }
  }
);

const data = await response.json();
curl 'https://socialquery.dev/v1/instagram/profile?handle=mkbhd' \
  -H 'x-api-key: sq_YOUR_API_KEY'
import requests

response = requests.get(
    'https://socialquery.dev/v1/youtube/channel',
    params={'handle': '@mkbhd'},
    headers={'x-api-key': 'sq_YOUR_API_KEY'}
)
data = response.json()
const response = await fetch(
  'https://socialquery.dev/v1/youtube/channel?handle=@mkbhd',
  {
    headers: {
      'x-api-key': 'sq_YOUR_API_KEY'
    }
  }
);

const data = await response.json();
curl 'https://socialquery.dev/v1/youtube/channel?handle=@mkbhd' \
  -H 'x-api-key: sq_YOUR_API_KEY'
import requests

response = requests.get(
    'https://socialquery.dev/v1/reddit/subreddit',
    params={'name': 'saas'},
    headers={'x-api-key': 'sq_YOUR_API_KEY'}
)
data = response.json()
const response = await fetch(
  'https://socialquery.dev/v1/reddit/subreddit?name=saas',
  {
    headers: {
      'x-api-key': 'sq_YOUR_API_KEY'
    }
  }
);

const data = await response.json();
curl 'https://socialquery.dev/v1/reddit/subreddit?name=saas' \
  -H 'x-api-key: sq_YOUR_API_KEY'
[ .JSON ]
{
  "success": true,
  "platform": "tiktok",
  "data": {
    "author": {
      "username": "charlidamelio",
      "followers": 152400000
    },
    "engagement": {
      "likes": 12400000000,
      "engagement_rate": 0.087
    },
    "metadata": {
      "language": "en",
      "content_category": "lifestyle"
    }
  }
}
{
  "success": true,
  "platform": "instagram",
  "data": {
    "author": {
      "username": "mkbhd",
      "followers": 5240000
    },
    "engagement": {
      "likes": 178000,
      "engagement_rate": 0.034
    },
    "metadata": {
      "language": "en",
      "content_category": "tech"
    }
  }
}
{
  "success": true,
  "platform": "youtube",
  "data": {
    "channel": {
      "handle": "@mkbhd",
      "subscribers": 19400000
    },
    "engagement": {
      "avg_views": 4200000,
      "engagement_rate": 0.062
    },
    "metadata": {
      "language": "en",
      "content_category": "tech"
    }
  }
}
{
  "success": true,
  "platform": "reddit",
  "data": {
    "subreddit": {
      "name": "saas",
      "subscribers": 412000
    },
    "engagement": {
      "posts_24h": 47,
      "top_post_upvotes": 1240
    },
    "metadata": {
      "language": "en",
      "content_category": "business"
    }
  }
}
+ 68 platforms
One API, 68 platforms

How does SocialQuery handle 68 different platforms?

YouTube has its own URLs, naming, pagination, freshness, and response quirks. SocialQuery turns those details into one API contract.

One schema, every platform

Write once, query them all.

68 platforms return different JSON shapes. SocialQuery normalizes each response into one consistent structure.

success: true
platform: unified
credits_used: 1
Metrics ready before you parse

Fields ready for products.

Every response carries request ids, cache state, credit usage, computed metadata, and source-specific fields in one envelope.

success: true
platform: unified
credits_used: 1
One key, every platform

One auth, every source.

Keep a single server-side key and route public-data workflows across social, reviews, search, commerce, and developer platforms.

success: true
platform: unified
credits_used: 1
Pagination handled

Batch, enrich, and scale.

Endpoint docs expose cost, cache, params, and pagination behavior before a request runs.

success: true
platform: unified
credits_used: 1
YouTube API29 endpoints supported
View docs
GET/v1/youtube/channel?channelId=UC_x5XG1OV2P6uZZ5FSM9Ttw
curl -X GET 'https://socialquery.dev/v1/youtube/channel?channelId=UC_x5XG1OV2P6uZZ5FSM9Ttw' \
  -H "x-api-key: $SOCIALQUERY_API_KEY"
- · idle
// Edit the params above and hit "Try it" to run a live request against the API
Compare

How does SocialQuery compare to official YouTube API for YouTube data?

SocialQuery is built for teams that need YouTube data through one key, one schema, generated docs, and cross-platform workflows.

FeatureSocialQueryOfficial API
AuthenticationOne x-api-key headerOAuth, app scopes, review, and rate tiers
Setup requiredSign up and call an endpointDeveloper app registration and product approval
Data accessPublic YouTube workflows, normalized fieldsPlatform-specific permitted endpoints
Response schemaUnified across platformsNative source-specific JSON
PricingPay per successful API callOften quota, review, or contract dependent
MaintenanceSchema docs update with API changesYour team owns adapters and normalization

How much does YouTube scraping cost?

Most standard endpoints start at 1 credit per successful call. Endpoint pages list the exact credit cost, cache window, and parameters before you run a request.

Is YouTube scraping legal?

Use public data, respect source rules, and design retention and downstream processing around your jurisdiction and customer-approved use case.

FAQ

Have a question? We got answers

Find answers to commonly asked questions about this SocialQuery API, pricing, and production use.

How do I scrape YouTube data with an API?
Create a key, choose one of the YouTube endpoint pages, pass the required parameters, and read the normalized SocialQuery response envelope.
What does the SocialQuery YouTube API cover?
This page exposes 29 generated endpoint pages for public YouTube workflows.
How much does the YouTube API cost?
Each endpoint card and API reference operation lists the live-call credit cost and cache window before you run a request.
Is scraping YouTube data legal?
Legality depends on source rules, jurisdiction, and use case. Build around public data, responsible retention, and documented customer authorization.
Can I use the YouTube API in production?
Provider coverage is rolling out during preview. Test your required endpoint before integrating it into a production workflow.
What is the best YouTube scraper API?
For teams that need normalized public data across many platforms, SocialQuery gives one API contract instead of separate source-specific scrapers.
Live data & statistics

Live data & statistics

Public YouTube API stats and cost details are generated from the current SocialQuery catalog.

29

YouTube endpoints

1

starting credits

30 minutes

sample cache

Ready to start scraping YouTube data?

Get your API key and start with 100 free credits. Try live endpoints in under 60 seconds.

Dashboard