YouTube Search hashtag API
Search YouTube videos by hashtag with cursor pagination (title, channel, views, length, publish time).
$1.20/1k req, pay per request, no subscription.
{"id": "dN1sTv7QkXo","url": "https://www.youtube.com/watch?v=dN1sTv7QkXo","title": "My dog reacts to the vacuum cleaner #funny","channelTitle": "Pancake the Corgi","views": 4820000,"lengthText": "0:42","publishedTime": "3 days ago","image": "https://i.ytimg.com/vi/dN1sTv7QkXo/hqdefault.jpg",... 5 more fields}
Pricing
YouTube Search hashtag API pricing
Try it
Get YouTube search hashtag in one request
This sample shows 17 of 18 fields. See every field
{
"found": true,
"data": {
"nextCursor": "EqQCCkYaGkNva1JXVzXQ0MDA1UN0aWNraGFzaHRhZw",
"videos": [
{
"id": "dN1sTv7QkXo",
"url": "https://www.youtube.com/watch?v=dN1sTv7QkXo",
"title": "My dog reacts to the vacuum cleaner #funny",
"channelTitle": "Pancake the Corgi",
"views": 4820000,
"lengthText": "0:42",
"publishedTime": "3 days ago",
"image": "https://i.ytimg.com/vi/dN1sTv7QkXo/hqdefault.jpg",
"createdUtc": 1758758400,
"authorId": "UC3fKq1n9pRxYm2oLwVzT8Cg",
"authorHandle": "pancakethecorgi",
"authorAvatarUrl": "https://yt3.ggpht.com/pancake-corgi-avatar.jpg",
"durationSeconds": 42
},
{
"id": "eO2uUw8RlYp",
"url": "https://www.youtube.com/watch?v=eO2uUw8RlYp",
"title": "Trying to explain crypto to my grandma #funny #comedy",
"channelTitle": "Marcus Bellweather",
"views": 1230000,
"lengthText": "3:15",
"publishedTime": "1 week ago",
"image": "https://i.ytimg.com/vi/eO2uUw8RlYp/hqdefault.jpg",
"createdUtc": 1758326400,
"authorId": "UC7pRq2s0mXyLn3aQwYbT4Ef",
"authorHandle": "marcusbellweather",
"authorAvatarUrl": "https://yt3.ggpht.com/marcus-bellweather-avatar.jpg",
"durationSeconds": 195
},
{
"id": "fP3vVx9SmZq",
"url": "https://www.youtube.com/watch?v=fP3vVx9SmZq",
"title": "Office prank fails compilation #funny",
"channelTitle": "Blooper Reel Weekly",
"views": 892000,
"lengthText": "8:04",
"publishedTime": "2 weeks ago",
"image": "https://i.ytimg.com/vi/fP3vVx9SmZq/hqdefault.jpg",
"createdUtc": 1757721600,
"authorId": "UC5oNp8q1rXwKm0bRzUcV2Gh",
"authorHandle": "blooperreelweekly",
"authorAvatarUrl": "https://yt3.ggpht.com/blooper-reel-avatar.jpg",
"durationSeconds": 484
}
]
}
}Full parameter and response reference - every field, type, and example for this endpoint.
Reference
One request, one response shape.
Every field you send and every field you get back, each with a real example.
Last verified 2026-10-31 · uptime and latency measured over 30d
Request body
JSON, posted to this endpoint.
- hashtagstring
funny
Hashtag to search for (without the leading #).
- cursorstring
Continuation token from a previous response for pagination.
- typeenum
Content filter. Only "all" is served: no source we buy returns a Shorts row with the channel and publish time this endpoint requires.
Response
JSON, one example value per field.
- nextCursorstring
EqQCCkYaGkNva1JXVzXQ0MDA1UN0aWNraGFzaHRhZw
Opaque cursor for the next page of videos, or null when this lane has no more. Pass it back as cursor to continue.
Populated whenever the provider has data for the entity.
- authorAvatarUrlstring
https://yt3.ggpht.com/pancake-corgi-avatar.jpg
URL of the publishing channel's avatar image.
- authorHandlestring
pancakethecorgi
The publishing channel's @handle, without the leading @.
- authorIdstring
UC3fKq1n9pRxYm2oLwVzT8Cg
YouTube channel ID of the publishing channel.
- channelTitlestring
Pancake the Corgi
Populated whenever the provider has data for the entity.
- createdUtcnumber
1758758400
UTC epoch timestamp in seconds (Unix time). Multiply by 1000 for a JS Date in milliseconds.
- durationSecondsinteger
42
Length of the video in seconds.
- idstring
dN1sTv7QkXo
Populated whenever the provider has data for the entity.
- imagestring
https://i.ytimg.com/vi/dN1sTv7QkXo/hqdefault.jpg
URL of the video thumbnail image, tracking query parameters stripped.
- lengthTextstring
0:42
- publishedTimestring
3 days ago
Populated whenever the provider has data for the entity.
- titlestring
My dog reacts to the vacuum cleaner #funny
Populated whenever the provider has data for the entity.
- urlstring
https://www.youtube.com/watch?v=dN1sTv7QkXo
Populated whenever the provider has data for the entity.
- viewsinteger
4820000
- foundboolean
true
- reason"not_found"
Present only when `found` is false, and says why there is no result. `not_found`: the source states the target does not exist, or returned nothing for it. A `found: false` answer is a successful call, not an error, and `costUsd` is what it actually cost.
FAQ
About the YouTube Search hashtag API
The AnyAPI YouTube Search hashtag API returns YouTube search hashtag data as normalized JSON from one POST call to /v1/run/youtube.search_hashtag. Search YouTube videos by hashtag with cursor pagination (title, channel, views, length, publish time). AnyAPI returns one normalized schema whichever source serves it. It costs from $1.20 per 1,000 requests, in US dollars with no subscription and no monthly minimum. Over the last 30 days, 100.0% of YouTube search hashtag calls through AnyAPI succeeded, with a median response time of 1.5 seconds across 122 measured calls.