~ / endpoints / Video API

YouTube Video Scraper API

Our YouTube video data API returns the title, view count, likes, comments, duration, keywords, and channel details for any public video as one clean JSON object, from a single REST call.

Get a free API keyAll endpoints
1,000
free requests
2.6s
median response
14
fields per video
JSON
structured output
the problem

Why YouTube Video data is hard to get

The official YouTube Data API v3 returns video stats, but only after a Google Cloud project, an API key, and a 10,000-unit daily quota, and discovery through search.list burns 100 units a call. Scraping the watch page yourself avoids the quota but hands you the ytInitialPlayerResponse parsing, anti-bot checks, and markup changes to maintain.

quickstart

The YouTube Video Scraper API in one request

cURL
curl "https://api.youtubescraperapi.com/api/v1/youtube/video?video_id=dQw4w9WgXcQ&api_key=$API_KEY"
Python
import requests

resp = requests.get(
    "https://api.youtubescraperapi.com/api/v1/youtube/video",
    params={
        "video_id": "dQw4w9WgXcQ",
        "api_key": "YOUR_API_KEY",
    },
)
video = resp.json()

print(video["title"], "-", video["view_count"], "views")
print("Likes:", video["like_count"], "Comments:", video["comment_count"])
print("Channel:", video["channel_name"])
parameters

Parameters

ParameterRequiredDefaultNotes
video_idrequired-The YouTube video id, the 11-character string after watch?v= (for example dQw4w9WgXcQ).
urloptional-A full watch URL instead of a bare id. The id is parsed out of it, so pass either video_id or url.
response

What the YouTube Video Scraper API returns

200 OK
{
  "video_id": "dQw4w9WgXcQ",
  "title": "Rick Astley - Never Gonna Give You Up (Official Video) (4K Remaster)",
  "description": "The official video for Never Gonna Give You Up by Rick Astley...",
  "view_count": 1787241493,
  "like_count": 19187485,
  "comment_count": null,
  "duration_seconds": 213,
  "keywords": ["rick astley", "Never Gonna Give You Up", "nggyu"],
  "category": "Music",
  "publish_date": "2009-10-24T23:57:33-07:00",
  "channel_id": "UCuAXFkgsw1L7xaCfnd5JJOw",
  "channel_name": "Rick Astley",
  "thumbnail": "https://i.ytimg.com/vi/dQw4w9WgXcQ/hq720.jpg",
  "related": [
    { "position": 1, "id": "ci6ZtPAN0PM", "title": "RickRolled by an Ad..." }
  ],
  "related_count": 12
}
FieldTypeDescription
video_idstringThe 11-character YouTube video id.
titlestringThe video title as shown on the watch page.
descriptionstringThe full video description text.
view_countintegerLifetime view count at request time.
like_countintegerPublic like count at request time.
comment_countintegerNumber of comments on the video.
duration_secondsintegerRuntime of the video in seconds.
keywordsarray of stringsThe video tags set by the uploader.
categorystringYouTube category name, such as Music or Education.
publish_datestringThe date the video was published, as an ISO 8601 timestamp.
channel_idstringThe channel id that owns the video.
channel_namestringThe display name of the channel.
thumbnailstring (url)URL of the highest-resolution thumbnail available.
relatedarrayRelated videos, each as { position, id, title, url, thumbnail, channel, views }, with a related_count alongside.
use cases

What you can build using the API

>

Metadata enrichment

Resolve a list of video ids into titles, channels, durations, and publish dates to enrich an existing catalog or content database, no Google Cloud project required.
>

Trend analysis

Track view_count, like_count, and comment_count over time across a set of videos to measure momentum, spot breakouts, and benchmark engagement by category.
>

Dataset building

Collect title, description, keywords, and stats at scale to assemble a structured YouTube dataset for research, reporting, or competitive monitoring.
>

ML training data

Pair descriptions and keywords with view and engagement counts to build labeled training sets for recommendation, virality, or content-classification models.
>

Channel content audits

Pull every video on a channel into one table of duration, views, and engagement to audit a back catalog or a competitor's output.
>

Thumbnail and title testing

Capture thumbnail URLs alongside view and like counts to study which title and thumbnail patterns correlate with stronger performance.
why youtubescraperapi.com

Why teams choose our YouTube Video Scraper API

Our YouTube video data API runs that fetch-render-parse loop on our infrastructure: rotating proxies, anti-bot handling, JS rendering, and retries behind one youtube/video call that returns parsed JSON in about 2.6 seconds. A video id goes in and 14 structured fields come out, with no Google Cloud setup, no OAuth, and a free tier of 1,000 requests.

*

No key or quota of your own

Authenticate with one api_key. There is no Google Cloud project to register and no 10,000-unit daily ceiling to ration.
*

Anti-bot and proxy rotation

Requests route through rotating residential and datacenter proxies with anti-bot handling, so YouTube serves real page data instead of a challenge.
*

JS rendering built in

We render the watch page and read the stats YouTube loads into ytInitialPlayerResponse, then return them as flat fields you do not have to parse.
*

Pay for success

Failed requests retry automatically across datacenter, residential, and premium tiers, and you are billed for successful results.
*

Stable JSON schema

Every response uses the same field names and types, so the same parsing code keeps working when YouTube changes its markup.
comparison

YouTube Video Scraper API vs the official YouTube API

FactorOur YouTube video data APIDIY page scrapingYouTube Data API v3
SetupOne api_keyProxies, headless browser, parserGoogle Cloud project plus API key
Daily quotaPlan request limit onlyNone, but you handle blocks10,000 units, resets midnight PT
Discovery via searchSeparate search endpointParse search pages yourself100 units per search.list call
Anti-bot and proxiesHandled for youYou build and maintain itNot applicable
JS rendering and parsingBuilt in, flat JSONYou own ytInitialPlayerResponse parsingStructured, but quota-bound
OAuth for private videosPublic videos, no OAuthLogin automation neededOAuth consent required
Output shapeStable flat JSONWhatever you parseNested parts you select
pricing

Start free, scale when ready

PlanPriceBest for
Free1,000 requestsTesting and small jobs
Pro$0.60 / 1kProduction workloads
Pay-as-you-go$0.90 / 1kSpiky or one-off volume

Median response 2.6s. You only pay for successful requests.

FAQ

What is the YouTube video data API?

It is a single REST endpoint that takes a YouTube video id and returns the video's title, description, view count, like count, comment count, duration, keywords, category, publish date, channel id, channel name, thumbnail, and related videos as structured JSON. Our API fetches and parses the data for you, so you do not run a Google Cloud project or manage scraping infrastructure.

Do I need a YouTube Data API key or Google Cloud project?

No. You call our endpoint with a single api_key. There is no Google Cloud project to create, no YouTube Data API key to generate, and no 10,000-unit daily quota to ration. The free tier includes 1,000 requests so you can test before committing.

Can I look up a video by its watch URL instead of the id?

Yes. Pass the full watch URL in the url parameter and we parse the 11-character video id out of it. You can send either video_id or url, so a link copied straight from the browser works.

Does the API return the dislike count?

No. YouTube removed the public dislike count on November 10, 2021 and made the dislikeCount field private on December 13, 2021, so it is only available to the authenticated owner of a video. No public API or scraper can return real dislike numbers for a video you do not own. Our response includes view_count, like_count, and comment_count.

What video fields does the response include?

Each response returns video_id, title, description, view_count, like_count, comment_count, duration_seconds, keywords, category, publish_date, channel_id, channel_name, thumbnail, and a related array of nearby videos. Every field uses the same name and type on each call.

How fast is the YouTube video data API?

Responses return in a median of 2.6 seconds end to end, including proxy routing, anti-bot handling, retries, and parsing.

How does pricing work?

The free tier covers 1,000 requests, Pro pricing runs about $0.60 per 1,000 requests, and pay-as-you-go top-ups are $0.90 per 1,000 successful requests. You are billed for successful results.

Get video api as JSON
Free plan, 1,000 requests. No credit card required.
Get a free API key All endpoints