List trending Shorts
Retrieve a batch of YouTube Shorts with titles, descriptions, engagement, publication dates, channels, chapters, genres and durations.
/v1/youtube/shorts/trendingx-api-keyHeaders
Get your API keyYour ScrapeAtlas customer key. Create one on /account/ and set SCRAPEATLAS_API_KEY.
full (default) reads the player and the watch-next data per Short; player reads only the player (one call per Short) and leaves description links, comment counts, publishDateText and chapters empty or null and the channel row without handle or thumbnail (description is then the player's raw text), with the coverage warning watch_next_omitted.
one of: full, player
Operation identifier for correlation.
Upstream HTTP attempts, decoded bytes and duration.
Always included.
≥ 0
Always included.
≥ 0
Always included.
≥ 0
True when usable data was returned; inspect status and coverage.
success, partial (coverage.warnings names the omission), failed or challenged.
one of: success, partial
Up to 48 Shorts in feed order with the video record fields (type short, no watchNextVideos, most_replayed or isPaidPromotion) plus url; keywords, captionTracks and downloadOptions are empty or null on Shorts. Shorts whose details could not be read are omitted.
up to 48 items
Always included.
Always included.
Always included.
Always included.
Always included.
up to 200 items
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
up to 20 items
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
up to 500 items
Always included.
Always included.
Always included.
Always included.
absolute HTTPS URL
Always included.
absolute HTTPS URL
Always included.
Always included.
up to 500 items
Always included.
Always included.
Always included.
Always included.
up to 100 items
Always included.
absolute HTTPS URL
Always included.
Always included.
Always included.
Always included.
Optional.
Optional.
Optional.
Always included.
Always included.
Always included.
Always included.
Always included.
up to 50 items
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Optional.
Always included.
Always included.
Always included.
Always included.
Always included.
Public YouTube URL the operation represents (page or API route).
absolute HTTPS URL
UTC retrieval timestamp.
source is public_page. Warnings: sequence_incomplete (the six sequence reads, or the deadline, ended before 48 Shorts), extras_incomplete (a Short's details could not be read), watch_next_omitted (extrasDetail=player skipped the watch-next reads).
Always included.
one of: public_page, public_api
Always included.
Always included.
up to 8 items
No fields match.
HTTP 200 returns the success variant. Check status: partial means usable data with warnings, and failed or challenged requests carry a failure object described in Errors & responses.
| HTTP | failure.code | Meaning |
|---|---|---|
| 400 | invalid_request | Missing, malformed, duplicate or conflicting parameters, unsupported parameters or an unsafe URL. |
| 400 | invalid_continuation | YouTube rejected the supplied continuation token. |
| 401 | unauthorized | Missing or invalid worker API key. |
| 403 | restricted_page | The channel, video, playlist or post is terminated, private, members-only or otherwise unavailable. |
| 403 | age_restricted | The video is age restricted and cannot be read logged out. |
| 404 | not_found | YouTube reports no channel, video, playlist or post for the identifier. |
| 429 | upstream_rate_limited | YouTube rate limited the request; no automatic retry. |
| 502 | upstream_challenged | YouTube rejected or challenged the request. |
| 502 | unsupported_page | The response lacks the embedded data, the data is malformed, or the resolved identity does not match the request. |
| 502 | response_too_large payload_too_complex | The response exceeded byte, depth or node limits. |
| 502 | unsafe_redirect request_limit upstream_error | The bounded request could not complete. |
| 503 | busy | All worker slots are in use. |
| 504 | timeout | The total retrieval deadline expired. |