YouTube video API: views, likes and details for videos and Shorts

Send a YouTube video or Shorts URL and get its public details back as JSON: title, description, thumbnail, view count, like count and more. A second, experimental endpoint checks the same video for a paid-promotion disclosure and infers the likely sponsors or promoted brands from public data. You do not need a Google Cloud project, an OAuth consent screen or a daily quota before your first request.

Buy credits

Use cases

Endpoints and cost

EndpointWhat it returnsCredits/callUSD/call (Freelance plan)
/v1/youtube/videoVideo/Short Details1$0.0017
/v1/youtube/video_sponsorsVideo Sponsors1$0.0017

Endpoint details

/v1/youtube/video

Video/Short Details 1,000 calls = 1,000 credits = $1.67 on the Freelance plan.

ParameterTypeRequiredDescription
urlstringyesYouTube video or short URL
languagestringnoPreferred response language (mapped to Accept-Language header; not guaranteed due to YouTube localization behavior). 2 letter language code, ie 'en', 'es', 'fr'
cache_max_agestringnoIf we have a response in the cache that is this many days old or newer, return the cached response (0 credits, with "cached": true and a "cached_at" timestamp).

Sample response (trimmed):

{
 "id": "Y2Ah_DFr8cw",
 "thumbnail": "https://img.youtube.com/vi/Y2Ah_DFr8cw/maxresdefault.jpg",
 "url": "https://www.youtube.com/watch?v=Y2Ah_DFr8cw",
 "publish_date": "2019-02-22T03:19:54-08:00",
 "type": "video",
 "title": "Inside the NBA: Chuck Trolls Jussie Smollett \"Do not commit crimes with checks, use cash!\"",
 "description": null,
 "description_links": [],
 "comment_count_text": "358",
 "comment_count_int": 358,
 "like_count_text": "4043",
 "like_count_int": 4043,
 "view_count_text": "372,864",
 "view_count_int": 372864,
 "publish_date_text": "Feb 22, 2019",
 "collaborators": [],
 "channel": {
  "id": "UCWH3hing1Qb4LnkRfQdxsxQ",
  "url": "https://www.youtube.com/@afroballer8906",
  "handle": "afroballer8906",
  "title": "Afroballer"
 },
 "chapters": [],
 "watch_next_videos": [
  {
   "id": "lzDTK5kEdkM",
   "title": "Charles Barkley and Shaq FUNNIEST MOMENTS",
   "thumbnail": "https://i.ytimg.com/vi/lzDTK5kEdkM/hqdefault.jpg?sqp=-oaymwEmCKgBEF5IWvKriqkDGQgBFQAAiEIYAdgBAeIBCggYEAIYBjgBQAE=&rs=AOn4CLAq_osvQnsGV3A7uz4L1CPTaLqppg",
   "channel": {
    "title": "SkyHooked",
    "url": "https://www.youtube.com/@SkyHooked",
    "handle": "SkyHooked",
    "id": "UCrX8GD5f_O-Cu5Y2vQuSSvw"
   },
   "published_time_text": "11 months ago",
   "published_time": "2025-02-16T19:25:39.493Z",
   "publish_date_text": "11 months ago",
   "publish_date": "2025-02-16T19:25:39.493Z",
   

/v1/youtube/video_sponsors

Video Sponsors 1,000 calls = 1,000 credits = $1.67 on the Freelance plan.

ParameterTypeRequiredDescription
urlstringyesYouTube video or short URL
languagestringno2 letter language code used for transcript lookup, ie 'en', 'es', 'fr' etc.

Example: curl

curl -H "X-Scapi-Key: $SCAPI_KEY" "https://api.scrapall.bipsport.com/scapi/v1/youtube/video"

Example: Python

import os, requests
r = requests.get("https://api.scrapall.bipsport.com/scapi/v1/youtube/video",
    headers={"X-Scapi-Key": os.environ["SCAPI_KEY"]})
print(r.json())

FAQ

How do I get the view count of a YouTube video?

Call the video endpoint with the video URL. The JSON response includes views and likes together with the title, description, thumbnail and other documented fields. Shorts URLs work the same way as regular video URLs.

Do I need a Google API key or quota?

No. You send the public video URL and your API key header. There is no Google Cloud project, no OAuth consent screen and no daily quota units to budget; each successful call is billed on its own.

How does the sponsor endpoint work?

It is experimental. It checks the video for the paid-promotion disclosure and infers likely sponsors or promoted brands from the public data of the video. Treat the result as a signal to review, not as a confirmed list of paying sponsors.

What are the language and cache_max_age parameters?

language is optional and lets you request localized details where they exist. cache_max_age is optional on the video endpoint and controls how old a cached result may be when you need fresher numbers.

Can I fetch many videos in a batch?

Call the video endpoint once per URL. Each successful call is billed separately, so you can start with a small sample and scale only when the data fits your use case.

How do I pay and get my API key?

Open the Buy page, pick the Freelance plan and pay in USDT on TRC20 or ERC20. The key is shown once, right after the payment is confirmed on-chain.

How many credits does one call use?

The cost table on this page lists credits per call for each endpoint. The Freelance plan is $45 for 27,000 credits per 30 days.

Get an API key and credits

Full reference: all youtube endpoints.