YouTube Hashtag Extractor avatar

YouTube Hashtag Extractor

Pricing

from $4.99 / 1,000 results

Go to Apify Store
YouTube Hashtag Extractor

YouTube Hashtag Extractor

Extract hashtags from YouTube videos automatically. Get organized hashtag data in both array and text formats for social media management and content analysis.

Pricing

from $4.99 / 1,000 results

Rating

0.0

(0)

Developer

Coding Frontned

Coding Frontned

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

14 hours ago

Last modified

Share

Extract unique hashtags and useful supporting metadata from current YouTube videos. The actor accepts canonical YouTube links, short links, Shorts, embeds, live links, or bare video IDs; it validates every value before opening a browser.

Video metadata is read from YouTube's first-party web youtubei player and next endpoints after a YouTube watch-page session has been established. It does not rely on third-party metadata services.

Input

FieldTypeDefaultDescription
videoUrlsarray of stringsOne or more YouTube URLs or bare 11-character IDs. Supported URLs: youtube.com/watch?v=, youtu.be/, youtube.com/shorts/, embed/, and live/.
videoIdsarray of stringsOptional additional bare 11-character IDs. It is combined with videoUrls.
maxItemsinteger50Number of unique videos to process, from 1 to 200. Duplicate IDs are removed before the limit is applied.
proxyConfigurationobjectOptional standard Apify proxy configuration.

At least one non-empty value in videoUrls or videoIds is required. Invalid, non-YouTube URLs and malformed IDs fail input validation rather than being silently skipped.

Example:

{
"videoUrls": [
"https://www.youtube.com/watch?v=dQw4w9WgXcQ",
"https://youtu.be/dQw4w9WgXcQ",
"jNQXAC9IVRw"
],
"maxItems": 20,
"proxyConfiguration": { "useApifyProxy": true }
}

The example contains a duplicate intentionally: it produces one request for dQw4w9WgXcQ and one for jNQXAC9IVRw.

Output

Each successful video produces one dataset item. Fields with null, blank strings, empty arrays, or empty objects are recursively omitted. Every row includes its canonical source URL plus source, provenance, transport, and extraction-method fields. hashtagCount is always present, including when YouTube exposes no hashtags.

{
"recordType": "youtube_video_hashtags",
"videoId": "dQw4w9WgXcQ",
"url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
"originalUrl": "https://youtu.be/dQw4w9WgXcQ",
"title": "Example video",
"hashtags": ["#Music", "#Pop"],
"hashtagsText": "#Music #Pop",
"hashtagCount": 2,
"videoTags": ["music", "pop"],
"channel": {
"id": "UC...",
"name": "Example channel",
"url": "https://www.youtube.com/channel/UC..."
},
"statistics": {
"viewCount": 123456,
"durationSeconds": 212
},
"metadata": {
"category": "Music",
"publishedDate": "2009-10-25",
"isFamilySafe": true
},
"source": "youtube.com",
"provenance": "public_youtube_web_endpoints",
"sourceUrl": "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
"sourceTransport": "browser-first-party-api",
"extractionMethod": "youtubei-player-next",
"scrapedAt": "2026-07-29T00:00:00.000Z"
}

Hashtags are collected from YouTube's linked title hashtags and the description, then normalized and deduplicated case-insensitively. hashtagCount always reflects the final hashtags list when that list is present.

Reliability and limits

The crawler uses five rotating, realistic desktop fingerprints/user-agent profiles, five bounded Apify-compatible browser sessions, persisted session cookies, and at most two retries per request. A configured proxy is used by those sessions. YouTube can rate-limit, require consent, or alter its private web response formats; some videos may therefore fail after retries.

If no video can be extracted, the run fails rather than completing with an empty successful dataset. If some requested videos succeed and others exhaust retries, the run succeeds with partial status. The default key-value store's OUTPUT record reports the requested, stored, and failed counts and failed video IDs without adding diagnostics to the dataset.