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.
| Endpoint | What it returns | Credits/call | USD/call (Freelance plan) |
|---|---|---|---|
/v1/youtube/video | Video/Short Details | 1 | $0.0017 |
/v1/youtube/video_sponsors | Video Sponsors | 1 | $0.0017 |
/v1/youtube/videoVideo/Short Details 1,000 calls = 1,000 credits = $1.67 on the Freelance plan.
| Parameter | Type | Required | Description |
|---|---|---|---|
url | string | yes | YouTube video or short URL |
language | string | no | Preferred response language (mapped to Accept-Language header; not guaranteed due to YouTube localization behavior). 2 letter language code, ie 'en', 'es', 'fr' |
cache_max_age | string | no | If 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_sponsorsVideo Sponsors 1,000 calls = 1,000 credits = $1.67 on the Freelance plan.
| Parameter | Type | Required | Description |
|---|---|---|---|
url | string | yes | YouTube video or short URL |
language | string | no | 2 letter language code used for transcript lookup, ie 'en', 'es', 'fr' etc. |
curl -H "X-Scapi-Key: $SCAPI_KEY" "https://api.scrapall.bipsport.com/scapi/v1/youtube/video"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())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.
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.
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.
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.
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.
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.
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.
Full reference: all youtube endpoints.