Appearance
Channel Shorts
GET /v1/youtube/channel/shorts
Retrieves a paginated list of short-form videos (Shorts) from a YouTube channel, including each short's title, URL, view count (views), likes, comments, and description. Supports sorting by newest or popular, and use the continuationToken to page through all results. Returns data in the shorts array.
Authentication
All requests require the x-api-key header. Get your key at scrapecreators.com.
Query Parameters
| Name | Type | Required | Description | Example |
|---|---|---|---|---|
handle | string | no | Can pass channelId or handle | starterstory |
channelId | string | no | Can pass channelId or handle | UC-9-kyTW8ZkZNDHQJ6FgpwQ |
sort | enum(newest, popular) | no | Sort by newest or popular | newest |
continuationToken | string | no | Continuation token to get more videos. Get 'continuationToken' from previous response. | 4qmFsgKrCBIYVUNkRkpXVWE0M3NtUm00SXBIQnB |
Example Request
curl
bash
curl 'https://api.scrapecreators.com/v1/youtube/channel/shorts' \
-H 'x-api-key: $SCRAPECREATORS_API_KEY'Node / TypeScript
js
const params = new URLSearchParams({ });
const res = await fetch(`https://api.scrapecreators.com/v1/youtube/channel/shorts?${params}`, {
headers: { 'x-api-key': process.env.SCRAPECREATORS_API_KEY }
});
const data = await res.json();
console.log(data);Python
python
import os, requests
r = requests.get(
'https://api.scrapecreators.com/v1/youtube/channel/shorts',
headers={'x-api-key': os.environ['SCRAPECREATORS_API_KEY']},
params={},
)
r.raise_for_status()
print(r.json())CLI
bash
scrapecreators youtube channel-shorts --helpExample Response
json
{
"success": true,
"credits_remaining": 49998970118,
"videos": [],
"channels": [],
"playlists": [],
"shorts": [
{
"type": "short",
"id": "VREVC0wXPfs",
"url": "https://www.youtube.com/watch?v=VREVC0wXPfs",
"title": "This idea validation formula has made him $500K from iOS apps",
"thumbnail": "https://img.youtube.com/vi/VREVC0wXPfs/maxresdefault.jpg",
"viewCountText": "17,066",
"viewCountInt": 17066,
"description": "Most founders think their app isn’t selling because of market conditions.\n\nIt’s not.\n\nThis founder sold multiple apps and noticed the same pattern every time: Great products but broken deals.\n\nNot because the app was bad but because founders overcomplicate operations and chase the highest price instead of the fastest close.",
"commentCountText": "2",
"commentCountInt": 2,
"likeCountInt": 495,
"likeCountText": "495",
"publishDate": "2026-04-22T10:44:35-07:00",
"genre": "People & Blogs",
"durationMs": 37000,
"durationFormatted": "00:00:37"
}
],
"shelves": [],
"lives": [],
"continuationToken": "4qmFsgK7DBIY....."
}Credits
Most ScrapeCreators endpoints consume 1 credit per successful response. Some heavier endpoints (transcripts, AI-driven enrichment, ad detail lookups) may cost more. Check GET /v1/credit-balance for your remaining balance.
Errors
| Status | Meaning | Action |
|---|---|---|
| 200 | Success. | Use the JSON payload. |
| 400 | Invalid or missing parameter. | Verify required parameters and value format. |
| 401 | Missing or invalid x-api-key. | Pass a valid API key in the header. |
| 402 | Out of credits. | Top up at scrapecreators.com or wait for plan reset. |
| 404 | Resource not found or private. | Confirm the handle, URL, or id and that the resource is public. |
| 429 | Rate limited. | Backoff and retry with exponential delay. |
| 500 | Server error or upstream platform failure. | Retry with backoff; report persistent errors to support. |