· 12 min read
YouTube Hashtag Scraper: 14 Data Fields per Record (2026)
Each record carries 14 output fields, including video IDs, titles, channel URLs, view counts, and thumbnail URLs. The free-plan price is $5.00 per 1,000 results, and Apify's free plan includes $5.00 of monthly usage with no credit card, covering up to 1,000 results of this Actor. This tool suits anyone gathering public video metadata by tag, but look elsewhere if you require direct video downloads or creator contact emails.
Try it: open YouTube Hashtag Scraper on Apify, sign in on the free plan and run the prefilled example.
Can you try YouTube Hashtag Scraper before paying?
Yes. Apify's free plan includes $5.00 of prepaid usage every month and asks for no credit card. At $0.005 per result, that covers up to 1,000 results of YouTube Hashtag Scraper a month, before run-start charges and platform usage.
The example request further down caps maxResultsPerHashtag at 50 for each of its 2 hashtags, so a first run returns at most 100 results and costs at most $0.50 in result charges. That is enough to see the real shape of the data before deciding anything.
YouTube Hashtag Scraper was last updated on 2026-10-06. It is one of 1,729 Actors CrawlerBros publishes on Apify, which together have 746,619 lifetime public runs and an average rating of 4.63 out of 5 across 416 reviews.
What does it cost to run YouTube Hashtag Scraper?
Each result costs $0.005 on Apify's free plan, which is $5.00 per 1,000 results. Starting a run is charged separately at $0.005 per GB of Actor memory. Apify also bills the platform usage each run consumes, at the rates of your Apify plan, on top of these charges.
| Apify plan | Per result | Per 1,000 results |
|---|---|---|
| FREE | $0.005 | $5.00 |
| BRONZE | $0.00433 | $4.33 |
| SILVER | $0.00367 | $3.67 |
| GOLD | $0.003 | $3.00 |
| PLATINUM | $0.003 | $3.00 |
| DIAMOND | $0.003 | $3.00 |
Your bill scales with the number of items written to the dataset, making the combination of hashtags count and maxResultsPerHashtag the critical factor in result charges. Running the default example with 2 hashtags and maxResultsPerHashtag set to 50 yields at most 100 results, costing at most $0.50 in result charges. Adjusting contentType or market parameters changes the items returned without altering the price per result.
How do you run YouTube Hashtag Scraper from the API?
The schema marks 1 of its 4 controls as required: hashtags. The payload below uses the schema's own prefilled values, so it runs as written once you substitute your API token.
Call the synchronous endpoint to start a run and receive dataset items in one request:
curl -X POST "https://api.apify.com/v2/acts/crawlerbros~youtube-hashtag-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"hashtags":["#programming","cooking"],"maxResultsPerHashtag":50,"contentType":"all","market":"US"}'
The same run from Python, using the official client:
from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run_input = {
"hashtags": [
"#programming",
"cooking"
],
"maxResultsPerHashtag": 50,
"contentType": "all",
"market": "US"
}
run = client.actor("crawlerbros~youtube-hashtag-scraper").call(run_input=run_input)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)
And from Node.js:
import { ApifyClient } from 'apify-client'
const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' })
const input = {
"hashtags": [
"#programming",
"cooking"
],
"maxResultsPerHashtag": 50,
"contentType": "all",
"market": "US"
}
const run = await client.actor('crawlerbros~youtube-hashtag-scraper').call(input)
const { items } = await client.dataset(run.defaultDatasetId).listItems()
console.log(items)
The synchronous endpoint holds the connection open until the run finishes, which is convenient for small batches and wrong for large ones. For anything long running, start the run asynchronously and poll, or attach a webhook, so a dropped connection does not cost you the results.
Which YouTube Hashtag Scraper inputs matter, and which can you skip?
The hashtags array is the only required parameter out of 4 controls in the schema, accepting values with or without the prefix. Setting maxResultsPerHashtag bounds the extraction between 1 and 500 items per tag, while contentType lets you isolate regular videos, Shorts, or both. The market setting defaults to US and can be left as is unless you specifically require localized regional ranking.
hashtags(array): List of hashtags to scrape. You can include or omit the # prefix - both formats are accepted (e.g. '#programming' or 'programming').maxResultsPerHashtag(integer): Maximum number of videos to return per hashtag. Includes both regular videos and Shorts when content type is 'All'. Default:50.contentType(string): Which type of content to collect from the hashtag page. Default:"all".market(string): Country/region for localized results. Sets the gl and hl URL parameters to return regionally relevant content. Default:"US".
Fixed-choice controls: contentType accepts all (All content), videos (Regular videos only), shorts (Shorts only); market accepts 31 values (default US), including US (United States), GB (United Kingdom), CA (Canada), AU (Australia).
What does YouTube Hashtag Scraper return?
Output records contain public video metadata such as channelId, viewCountText, durationText, and badges. Fields that cannot be populated, such as duration or publish times on Shorts, are omitted from the output rather than returned as null. The dataset contains public feed metadata only and excludes private channel analytics, full video files, and channel email addresses.
hashtag: string - Normalized hashtag (no#prefix).position: integer - 1-indexed position within the hashtag results.videoId: string - YouTube video ID (use withyoutube.com/watch?v=<videoId>).title: string - Video title.channelName: string - Name of the channel that posted the video.channelId: string - YouTube channel ID (e.g.UCxxxxxx).channelUrl: string - Full URL to the channel page.viewCountText: string - Human-readable view count (e.g.1.2M views).publishedTimeText: string - Relative publish time (e.g.3 days ago). Regular videos only.durationText: string - Video duration (e.g.12:34). Regular videos only.thumbnailUrl: string - URL of the highest-resolution thumbnail.isShort: boolean -trueif the item is a YouTube Short;falsefor regular videos.badges: string[] - Optional content badges (e.g.["CC", "4K"]). Omitted when empty.scrapedAt: string - ISO 8601 UTC timestamp of when the data was collected.
These are the documented fields. Optional ones can be empty on a given record, so measure how often each field your deliverable depends on is populated across a real sample before automating the handoff.
How do you build the workflow end to end?
Open YouTube Hashtag Scraper and work through these in order. Each step ends with something to check, so a bad configuration surfaces on a small run rather than a scheduled one.
- Populate the hashtags array with your search terms, entering them with or without the leading symbol.
- Set contentType to all, videos, or shorts depending on whether you want regular uploads, Shorts, or both.
- Choose a regional market code from the dropdown list to set localized ranking and language parameters.
- Run an initial test with maxResultsPerHashtag set to 50 to confirm the output structure.
- Examine the dataset to confirm that videoId, title, and position fields are populated for every returned item.
- Verify that the scrapedAt timestamp is recorded in ISO 8601 format.
- Scale maxResultsPerHashtag up to the maximum limit of 500 when ready to run full extractions.
How do you apply it? Three worked playbooks
These are YouTube Hashtag Scraper's own documented use cases, each worked through as an operating pattern rather than a description.
Use case 1: Trend discovery
Outcome: Track which topics are gaining traction around a hashtag
Configure: hashtags: ["programming", "coding"], maxResultsPerHashtag: 200, contentType: "all", market: "US"
Working method: Execute the run on a regular interval, extract the title and viewCountText fields, and sort items by position to see which topics appear repeatedly at the top of the feed.
Deliverable: A structured dataset of ranked titles, channel names, and view counts for the target hashtags.
Stop condition: The execution log warns that an established hashtag returned zero results.
Use case 2: Influencer sourcing
Outcome: Find creators consistently posting under a niche tag
Configure: hashtags: ["cooking"], maxResultsPerHashtag: 500, contentType: "videos", market: "US"
Working method: Extract up to 500 items for a niche tag, group the records by channelId, and aggregate the frequency of each channelName across the collected positions.
Deliverable: A deduplicated list of channel IDs and channel URLs ranked by the volume of tagged videos returned.
Stop condition: The returned dataset contains only items with isShort set to true despite requesting regular videos.
Use case 3: Content strategy
Outcome: Compare engagement across hashtags
Configure: hashtags: ["technology", "innovation"], maxResultsPerHashtag: 100, contentType: "all", market: "US"
Working method: Run the extraction across multiple tag values simultaneously and compare the proportion of regular videos versus Shorts returned for each tag.
Deliverable: A comparative dataset containing video positions, view count strings, and content formats across multiple tags.
Stop condition: The run completes without returning any items for one of the queried tags.
What breaks, and how do you design around it?
Pagination caps output at 500 results per hashtag. To gather broader data across large topics, query multiple related tags in the hashtags array rather than relying on a single broad term. Because Shorts omit publish dates and durations, query with contentType set to videos if your analysis depends strictly on timestamped long-form content.
When should you not use YouTube Hashtag Scraper?
Do not use this Actor if you need the actual media files on disk; instead, use YouTube Video Downloader to download video and audio assets. If you need complete channel uploads and historical catalogs rather than hashtag feeds, YouTube Channel Scraper or YouTube Channel Scraper Fast provides direct channel auditing. For queries requiring keyword filters, sort criteria, and upload date windows, switch to YouTube Search Scraper. If your goal is to analyze audience responses, YouTube Comment Scraper extracts full discussion threads, and YouTube Transcript Scraper captures spoken text. If you only need Shorts performance metrics across specific creators, use YouTube Shorts Scraper.
What should you check before trusting the output?
- Verify that the hashtag field matches the queried tag with the prefix removed.
- Check that durationText and publishedTimeText are populated on records where isShort is false.
- Confirm that position starts at 1 and increments sequentially for each queried hashtag.
- Inspect execution logs for warnings when a submitted hashtag returns zero results.
None of this proves a record is correct. It gives a scheduled YouTube Hashtag Scraper run defined points where it should stop instead of quietly passing bad data downstream.
Frequently asked questions
How are results billed across different Apify tiers?
Results are charged at $0.005 per result on the free tier, which is $5.00 per 1,000 results. Apify also bills the platform usage each run consumes on top of these event charges, along with a run-start fee for every run. Paid Apify plans pay less per result.
Can I scrape more than 500 items for a single hashtag?
No. The maxResultsPerHashtag control enforces a maximum limit of 500 items per hashtag. If you need more records across a topic, supply multiple related hashtags in the hashtags array input.
Why are publishedTimeText and durationText missing on some records?
Empty fields are omitted rather than returned as null. YouTube does not expose duration or relative publish time metadata for Shorts on hashtag pages, so those fields only appear on regular video records.
Do I need to supply cookies or a YouTube account?
No account, cookies, or browser session are required. The scraper queries public YouTube hashtag feeds directly using HTTP requests without authentication.
What happens if a hashtag has no tagged videos?
If a queried hashtag contains no public videos, the scraper logs a warning and proceeds to the next tag in the hashtags array without failing the run.
Where to go next
When you are ready to run it, open YouTube Hashtag Scraper on Apify; the free plan covers up to 1,000 results a month.
Start with the YouTube Hashtag Scraper Actor page for the current input schema, pricing tier, and run history.
It is part of the YouTube Scraping Suite, which puts every related Actor on one page with its price and run history.
If you are comparing approaches rather than committing to one Actor, these category pages list every option we publish:
- Video and transcript scrapers covers 49 Actors in this family.
Other Actors we maintain for related data:
- YouTube Shorts Scraper: Scrape YouTube Shorts from any channel.
- YouTube Video Downloader: Download YouTube videos, playlists, and entire channels in your preferred quality from 360p all the way up to the best available resolution.
- YouTube Search Scraper: Scrape YouTube search results without cookies.
- YouTube Channel Scraper: Scrape YouTube channel info and video listings.
- YouTube Transcript Scraper: Extract transcripts and captions from YouTube videos with language selection support.
- YouTube Comment Scraper: Scrape YouTube video comments with full metadata.
- YouTube Playlist Scraper: Scrape all videos from YouTube playlists.
- YouTube Trending Scraper: Scrape trending and popular YouTube videos by category.
Related guides:
- YouTube Shorts Scraper: Up to 1,000 Free Results a Month (2026)
- YouTube Video Downloader: 24 Data Fields, Up to 500 Free Results/Month
- YouTube Search Scraper: Up to 1,000 Free Results a Month (2026)
- Automating YouTube Research: Complete Four-Actor Pipeline Guide
Resources
Actor documentation, input schema, and pricing: verified against the published Actor on 2026-10-06.
Actor last updated by its maintainers on 2026-10-06.
Run outcome figures cover the 30 day public window ending 2026-10-06.
Featured actors
YouTube Hashtag Scraper
Scrape YouTube videos and Shorts by hashtag. Extract all videos tagged with specific hashtags including views, channel info, and metadata.
Run on Apify ↗