YouTube Hashtag Extractor
Pricing
from $2.99 / 1,000 hashtags
YouTube Hashtag Extractor
Extract deduplicated hashtags and supporting metadata from validated YouTube video URLs and IDs.
Pricing
from $2.99 / 1,000 hashtags
Rating
0.0
(0)
Developer
w3crawler
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
15 hours ago
Last modified
Categories
Share
Extract description hashtags and supporting metadata from public YouTube watch-page HTML. The actor uses the public page response only; it does not call private YouTube APIs, impersonate a web client, or collect browser fingerprints.
Input
| Field | Type | Default | Description |
|---|---|---|---|
videoUrls | array of strings | — | Public YouTube watch, Shorts, embed, live, youtu.be URLs, or bare 11-character IDs. |
videoIds | array of strings | — | Additional bare video IDs; values are deduplicated with videoUrls. |
maxItems | integer | 50 | Maximum unique videos, from 1 to 200. |
includeDiagnostics | boolean | true | Emit exact four-field diagnostics for failed or blocked pages. |
enableProxyFallback | boolean | true | Try the configured account-authorized Apify Proxy route after direct access fails. |
maxRetries | integer | 2 | Bounded retries per route, from 0 to 3. |
requestDelayMs | integer | 250 | Delay between video requests, from 0 to 5000 ms. |
requestTimeoutSecs | integer | 60 | Per-request timeout, from 15 to 180 seconds. |
proxyConfiguration | object | — | Standard Apify Proxy configuration. Proxy URLs, when supplied, must not contain credentials. |
At least one URL or ID is required. Invalid or unrelated URLs fail input validation instead of being silently skipped.
Example:
{"videoUrls": ["https://www.youtube.com/watch?v=dQw4w9WgXcQ","https://youtu.be/jNQXAC9IVRw"],"maxItems": 2,"includeDiagnostics": true,"enableProxyFallback": true,"proxyConfiguration": { "useApifyProxy": true, "apifyProxyCountry": "US" }}
Dataset output
Successful records contain the canonical video URL, original input, title, full public description, description length, description hashtags, hashtag count, public video tags, channel identity and URL, thumbnails, view/like counts when exposed, duration, live/Shorts flags, microformat dates/category/safety flags, extraction provenance, and timestamp. Empty optional values are omitted recursively.
Diagnostics contain exactly url, error, errorCode, and scrapedAt. They never include credentials, cookies, request headers, proxy URLs, fingerprints, private playback URLs, or internal client parameters.
The actor writes a run summary to OUTPUT, including request coverage, item/diagnostic/failure/block counts, proxy state, and duration. status is success only when every requested page produced a record; it is partial when some pages succeeded and failed when none did.
Local verification
Run:
npm testnpx apify validate-schema .actor/input_schema.jsonnpx apify run --purge --input-file qa-inputs/youtube-hashtag-extractor/local-validation.jsonnpm run validate-dataset
For a cloud check, use the cloud validation input and inspect both the dataset and the OUTPUT key-value record:
npx apify actors call <ACTOR_ID> --build latest --input-file qa-inputs/youtube-hashtag-extractor/cloud-validation.json --timeout 300 --json
Direct access and the standard account-authorized Apify Proxy route are tested separately. A block is reported as a diagnostic; the actor does not bypass it with stealth, fingerprint spoofing, CAPTCHA solving, or private endpoints.