YouTube Hashtag Extractor avatar

YouTube Hashtag Extractor

Pricing

from $2.99 / 1,000 hashtags

Go to Apify Store
YouTube Hashtag Extractor

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

w3crawler

Maintained by Community

Actor 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

FieldTypeDefaultDescription
videoUrlsarray of strings—Public YouTube watch, Shorts, embed, live, youtu.be URLs, or bare 11-character IDs.
videoIdsarray of strings—Additional bare video IDs; values are deduplicated with videoUrls.
maxItemsinteger50Maximum unique videos, from 1 to 200.
includeDiagnosticsbooleantrueEmit exact four-field diagnostics for failed or blocked pages.
enableProxyFallbackbooleantrueTry the configured account-authorized Apify Proxy route after direct access fails.
maxRetriesinteger2Bounded retries per route, from 0 to 3.
requestDelayMsinteger250Delay between video requests, from 0 to 5000 ms.
requestTimeoutSecsinteger60Per-request timeout, from 15 to 180 seconds.
proxyConfigurationobject—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 test
npx apify validate-schema .actor/input_schema.json
npx apify run --purge --input-file qa-inputs/youtube-hashtag-extractor/local-validation.json
npm 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.