YouTube Hashtag Scraper avatar

YouTube Hashtag Scraper

Pricing

Pay per event

Go to Apify Store
YouTube Hashtag Scraper

YouTube Hashtag Scraper

Pricing

Pay per event

Rating

0.0

(0)

Developer

SR

SR

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Scrape YouTube videos by hashtag at scale. Give this actor a list of hashtags and it returns every video YouTube surfaces under each one, with full metadata: titles, channels, view counts, durations, thumbnails, publish dates, and more. It talks directly to YouTube's internal InnerTube web API, so there is no official API key to manage, no OAuth flow, and no daily quota to burn through.

Hashtags are how discovery works on YouTube now. Campaigns, challenges, product launches, and trends all cluster under a tag. This actor turns that cluster into structured data you can filter, sort, and pipe into a spreadsheet or database.

What you get

Every row is one video. For each hashtag you request, you get back:

  • Video identity: video_id, url, title, description, and a short description_snippet
  • The tag that matched: hashtag (the exact hashtag this video was found under)
  • Channel data: channel_name, channel_id, channel_url, and channel_subscribers
  • Timing: published_text (like "3 weeks ago"), published_date, and is_live
  • Engagement: view_count, like_count, comment_count
  • Format: duration_seconds, duration_text, category, thumbnail_url
  • Run metadata: fetched_in_seconds per video

Fields like like_count, comment_count, channel_subscribers, published_date, and category are only populated when you enable fetch_details (see Input below).

Why scrape YouTube hashtags

YouTube has a Data API, but it does not expose hashtag feeds. You can search for a keyword, list a channel's uploads, or read a playlist, but there is no official endpoint that says "give me every video tagged #blackfriday." The hashtag landing pages you see in the YouTube app are rendered from an internal API that the public Data API never touches. If you want that data, you have to go get it yourself.

That gap matters because hashtags are where intent lives. When a brand runs a campaign, when a creator starts a challenge, or when a topic starts trending, the videos organize themselves under a shared tag. Tracking that tag over time tells you how a trend is spreading, who is participating, and which videos are pulling the views. A keyword search cannot do this cleanly, because keyword results mix in old and unrelated content. A hashtag feed is the creators' own signal of what a video is about.

This actor reads that feed directly. You pass hashtags with or without the #, and it walks YouTube's InnerTube pagination to pull as many videos as you ask for, up to 1000 per hashtag. Because it uses the same web endpoints the browser uses, there is no key, no quota, and no per-project rate limit to negotiate.

Input

FieldTypeRequiredDescription
hashtagsarray of stringsYesHashtags to scrape. Include the # or leave it off, both work (e.g. ["shorts", "#gaming"]).
max_resultsintegerNoVideos to return per hashtag, 1 to 1000.
fetch_detailsbooleanNoWhen true, fetches each video's page for like_count, comment_count, channel_subscribers, exact published_date, and category. Slower but richer.
countrystringNoCountry code for the YouTube region (e.g. US, GB, DE).
languagestringNoLanguage code for titles and metadata (e.g. en, es, de).

A minimal run needs only hashtags. Turn on fetch_details when you need engagement numbers or exact dates; leave it off when you only need the fast feed-level fields.

Output

Each dataset item is one video. Here is a real row with fetch_details enabled:

{
"video_id": "dQw4w9WgXcQ",
"url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
"title": "Our #blackfriday deals are live",
"description": "Full breakdown of every discount in this year's sale. #blackfriday #deals",
"description_snippet": "Full breakdown of every discount in this year's sale.",
"hashtag": "#blackfriday",
"channel_name": "Example Store",
"channel_id": "UCabc123def456",
"channel_url": "https://www.youtube.com/channel/UCabc123def456",
"channel_subscribers": 128000,
"published_text": "2 days ago",
"published_date": "2026-07-11",
"view_count": 45210,
"like_count": 1830,
"comment_count": 214,
"duration_seconds": 187,
"duration_text": "3:07",
"category": "People & Blogs",
"thumbnail_url": "https://i.ytimg.com/vi/dQw4w9WgXcQ/hqdefault.jpg",
"is_live": false,
"fetched_in_seconds": 0.42
}

The hashtag field tells you which of your input tags matched this video, so when you scrape several hashtags in one run you can still group and compare results per tag.

Use cases

Trend researchers want to know how a topic moves. Scrape a hashtag on a schedule, store the view_count and published_date for each video, and you can chart how fast a trend is growing, when it peaked, and which videos drove the spike. Because you get channel_subscribers, you can also tell whether a trend is being carried by big channels or by a long tail of small creators.

Campaign and UGC monitors live and die by hashtag participation. If your brand launched #mychallenge, this actor gives you every public video using it: who posted, how many views they pulled, how engaged their audience was via like_count and comment_count, and when they published. That is your user-generated-content leaderboard, refreshed on demand, without asking creators to tag you manually.

Social listening and competitive intelligence teams track the hashtags their competitors own. Pull a rival's branded tag weekly and you see their content cadence, their best-performing videos, and which creators are amplifying them. Cross-reference category and duration_text to understand what format is landing.

Content discovery and curation is the simplest use. Editors and community managers scrape a niche hashtag, sort by view_count, and surface the strongest recent videos to feature, react to, or license. The description_snippet and thumbnail_url fields make it easy to preview candidates without opening YouTube at all.

How it compares

This actorstreamers/youtube-video-scraper-by-hashtag
Price per video$0.0016$0.002
Price per 1000 videos$1.60$2.00
Volume discountSame low rate at every volumeNone, flat rate
Max videos per hashtag1000Comparable
Optional engagement detailsYes, via fetch_detailsYes
API key requiredNoNo

We charge 20 percent less per video and we beat the competitor at every volume, because their rate is flat and never drops. Whether you pull 100 videos or 100,000, you pay $1.60 per thousand.

Pricing

Pay-per-event, so you only pay for what you actually scrape.

  • $0.0016 per video returned ($1.60 per 1000 videos)
  • $0.002 per run actor-start fee

There is no monthly subscription and no minimum. A run that returns 500 videos across your hashtags costs $0.002 + (500 x $0.0016) = $0.802.

Limits and gotchas

  • Hashtag feeds are bounded by YouTube. A hashtag page only exposes a finite number of videos. If a tag is small, you will get fewer than your max_results cap, and that is YouTube's limit, not the actor's.
  • fetch_details adds one request per video. It pulls each video's page for likes, comments, subscribers, exact date, and category. Expect runs to take noticeably longer with it on. Leave it off when feed-level fields are enough.
  • Engagement fields are empty without fetch_details. like_count, comment_count, channel_subscribers, published_date, and category only populate in detail mode. The feed itself does not carry them.
  • Free-tier runs are capped at 10 results per run. Upgrade to a paid Apify plan to remove the cap and pull the full 1000 per hashtag.
  • view_count and like_count are point-in-time. They reflect the moment of scraping. For trend tracking, run on a schedule and store snapshots.
  • published_text is relative, published_date is exact. The feed gives you fuzzy strings like "3 weeks ago"; the exact published_date only arrives with fetch_details.
  • Region and language shift results. country and language change which videos YouTube surfaces and in what language the metadata comes back. Set them deliberately.

FAQ

How do I find YouTube videos by hashtag? Enter one or more hashtags in the hashtags input, with or without the #, and run the actor. It reads YouTube's internal hashtag feed and returns every video it surfaces, up to 1000 per tag, with full metadata for each.

Can I track a campaign hashtag on YouTube over time? Yes. Schedule the actor to run daily or weekly on your campaign hashtag and store each run's output. Because every row carries view_count, published_date, and channel_subscribers, you can chart participation and reach as the campaign unfolds.

Do I need a YouTube API key or Google account? No. The actor uses YouTube's InnerTube web API, the same endpoints the website uses. There is no API key, no OAuth, and no daily quota to manage.

How many videos can I get per hashtag? Up to 1000, set via max_results. The real ceiling is whatever YouTube exposes for that specific hashtag, so smaller tags will return fewer.

Why are like counts and subscriber numbers missing from my results? Those fields only populate when you enable fetch_details. The plain hashtag feed does not include engagement or subscriber data, so the actor fetches each video's page to get them when detail mode is on.