YouTube Hashtag Search Scraper avatar

YouTube Hashtag Search Scraper

Pricing

from $0.01 / 1,000 results

Go to Apify Store
YouTube Hashtag Search Scraper

YouTube Hashtag Search Scraper

Collect videos and Shorts posted under any YouTube hashtag. Get title, link, views, publish date, duration, description and channel. Choose videos, Shorts or both. No login or API key. Bulk input, auto proxy fallback. Export JSON, CSV or Excel.

Pricing

from $0.01 / 1,000 results

Rating

0.0

(0)

Developer

Data Minds

Data Minds

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

16 hours ago

Last modified

Categories

Security

Limited permissions

Share

What is YouTube Hashtag Search Scraper?

YouTube Hashtag Search Scraper collects the videos and Shorts posted under any YouTube hashtag. Just enter hashtags or hashtag page URLs, choose videos, Shorts or both, and get one row per item with title, link, thumbnail, views, channel, publish date, duration and description. No YouTube account or API key needed, so you can start in minutes. From $0.002 per result on the Gold plan ($2.00 per 1,000), plus platform usage. 🚀 Try it free

  • YouTube hashtag research: see which videos and Shorts rank under a hashtag and how many views they have.
  • YouTube trend research: compare view counts and publish dates across several hashtags to spot what is growing.
  • YouTube creator discovery: list the channels that publish under a hashtag, with channel ID, title and handle, for YouTube influencer research.
  • YouTube competitor analysis: check which brands and creators show up for the hashtags you care about.
  • YouTube content planning: collect titles, descriptions and durations to plan your next video or Short.

Because it runs on Apify, you also get an API, scheduling, webhooks, integrations and export to JSON, CSV, Excel, XML or HTML.

What can YouTube Hashtag Search Scraper do?

  • 🔎 Scrape YouTube hashtag videos and Shorts: one run can cover many hashtags, each collected separately.
  • 🔗 Accept hashtags in several forms: funny, #funny or a full hashtag page link all work.
  • 🎯 Filter by content type: collect regular videos, Shorts only, or both together.
  • 📺 Add channel data: the YouTube channel handle, ID and title for every item when full details are on.
  • 👀 Return exact views and dates: exact view count and exact UTC publish time with full details.
  • 🔓 Scrape YouTube without an API key: no key or login is asked for.
  • 🧾 Collect YouTube video metadata: titles, descriptions, thumbnails, durations, badges and view counts in one row.
  • 🔢 Set a limit per hashtag: cap the items for each hashtag, or collect everything available.
  • ⚡ Save results as they are found: each item is written to the dataset as soon as it is ready.

What data can YouTube Hashtag Search Scraper extract?

Each dataset item is one video or Short. The Output tab shows four table views: overview, channel, views and timing, and descriptions.

FieldWhat it contains
🔖 hashtagThe hashtag the item was found under, lowercase and without #.
🆔 idThe YouTube video or Short ID.
🎬 kindvideo or short.
🔗 urlLink to the video or Short.
📝 titleTitle of the video or Short.
📄 descriptionFull description text.
🌄 thumbnailUrlLargest available thumbnail.
📺 channelObject with id, title, handle and thumbnailUrl of the publishing channel.
👀 viewCountNumber of views as a whole number.
💬 viewCountTextView count as YouTube shows it, for example 1,500,295 views.
📅 publishedAtExact publish time in UTC (ISO 8601).
🕒 publishedTimeTextRelative publish time as YouTube shows it, for example 1 month ago.
🕐 durationSecondsLength in seconds.
⌛ durationTextLength as m:ss or h:mm:ss.
🏅 badgesBadges shown on the video, such as New or 4K. A list, empty when there are none.

Note: Fields YouTube does not provide for an item are null. With includeDetails turned off, description and publishedAt stay empty. Shorts come with fewer fields in the hashtag list, so channel, publishedAt and the length fields are filled only when includeDetails is on.

What data can't YouTube Hashtag Search Scraper extract?

  • Likes, comment counts and comments are not part of the output.
  • Subtitles and transcripts are not included.
  • Channel subscriber counts are not included.

For Shorts with likes, comments and subtitles, try YouTube Shorts Scraper.

How to scrape YouTube hashtag videos and Shorts

This Actor is built for an easy start, even if you have never extracted data from the web before.

  1. Create a free Apify account with your email.
  2. Open YouTube Hashtag Search Scraper in the Apify Store.
  3. Add one or more hashtags or hashtag page URLs to urls.
  4. Choose contentType (all, videos or Shorts) and set maxItemsPerKeyword.
  5. Leave includeDetails on for channel, description, exact date and exact views.
  6. Click Start and watch items appear in the Output tab while the run is going.
  7. Download your data in JSON, CSV, Excel, XML or HTML.

How much does it cost to scrape YouTube?

This Actor uses pay-per-event pricing: you pay for each video or Short saved to the dataset, plus a small start fee for each run. Platform usage is billed in addition. The price per result drops as your Apify plan goes up.

Apify planPrice per resultPrice per 1,000 results
Free$0.003$3.00
Bronze$0.0027$2.70
Silver$0.0024$2.40
Gold$0.002$2.00

The default memory is 1024 MB, so each run is charged one start event of $0.00005. The account's pricing page also lists a default dataset item event of $0.00001, but the Actor's own code charges only the result event above. Check the pricing page for the current list of events.

Worked example: collecting 1,000 videos and Shorts on the Gold plan costs 1,000 x $0.002 = $2.00 for results, plus the $0.00005 start event, plus platform usage.

Free plan math: the $5 monthly credit on the Free plan covers about 1,666 results at $0.003 each, before platform usage.

Is scraping YouTube hashtags free?

You can start without paying: the Free plan includes a $5 monthly credit, and the Free plan price above is charged against it. Beyond the credit, you pay per result. A small test run with maxItemsPerKeyword set to 10 shows the cost before you scale up.

Input

The only required input is urls: one or more YouTube hashtags or hashtag page URLs. Everything else has a default. Here is an example that collects videos and Shorts for two hashtags:

{
"urls": ["funny", "https://www.youtube.com/hashtag/makeup"],
"contentType": "all",
"maxItemsPerKeyword": 10,
"includeDetails": true,
"proxyConfiguration": { "useApifyProxy": true }
}

See the input schema for the full description of every field.

FieldTypeRequiredDefaultDescription
urlsarray of stringsYesnoneHashtags with or without #, or full hashtag page URLs. Each one is collected separately.
contentTypestringNoallall for videos and Shorts, videos for regular videos only, shorts for Shorts only.
maxItemsPerKeywordintegerNo10Stop after this many items for each hashtag. 0 collects everything available. Range 0 to 100000.
includeDetailsbooleanNotrueAdds description, channel, exact publish date and exact view count to every item. Turn off for a faster run with basic fields.
proxyConfigurationobjectNo{ "useApifyProxy": true } in the formOptional proxy settings for the run.

urls

Write one hashtag per line. The # is optional, and a hashtag page link is accepted. Letters are lowercased, spaces are removed and repeated hashtags are collected once.

  • ✅ Good: funny
  • ✅ Good: #makeup
  • ✅ Good: https://www.youtube.com/hashtag/makeup
  • ❌ Bad: funny videos (the space is removed, so it searches the single hashtag funnyvideos)
  • ❌ Bad: a YouTube search results link or a channel link (these are not hashtags)

Warning: With contentType set to all or videos, a hashtag that does not exist is reported as "hashtag not found" in the run summary. With shorts, it is reported as "no results for this hashtag and filter". Either way no items are saved.

maxItemsPerKeyword

This limit applies to each hashtag, not to the whole run, so two hashtags with a limit of 10 can save up to 20 items. The form default is 10. If you start the Actor through the API and leave the field out, the Actor collects up to 50 items per hashtag.

  • ✅ Good: 10 for a first test run
  • ✅ Good: 0 to collect everything available for each hashtag
  • ❌ Bad: -5 (negative numbers are rejected)

Warning: With 0, large hashtags can produce many results and a larger bill. Set a maximum cost per run in Apify to stay in control.

contentType

Use all to mix videos and Shorts, videos for regular videos only and shorts for Shorts only. Other values are rejected with an error message before the run starts.

Output

Results are stored in the run's dataset, in the Output or Storage tab. View them as a table or JSON, pick the fields you need and download them as JSON, CSV, Excel, XML or HTML. That makes it a simple YouTube CSV export or YouTube JSON export for spreadsheets and dashboards. The tables are split into overview, channel, views and timing, and descriptions.

JSON example

Results for the input example above. A video:

{
"hashtag": "funny",
"id": "aB3dE5fG7hI",
"kind": "video",
"url": "https://www.youtube.com/watch?v=aB3dE5fG7hI",
"title": "Funny moments compilation",
"description": "A short description with #funny #memes",
"thumbnailUrl": "https://example.com/thumbnail-video.jpg",
"channel": {
"id": "UCexample0000000000000000",
"title": "Example Channel",
"handle": "ExampleChannel",
"thumbnailUrl": "https://example.com/channel-picture.jpg"
},
"viewCount": 1500295,
"viewCountText": "1,500,295 views",
"publishedAt": "2026-09-11T11:53:15.000Z",
"publishedTimeText": "1 month ago",
"durationSeconds": 757,
"durationText": "12:37",
"badges": ["New"]
}

A Short, with full details turned on:

{
"hashtag": "funny",
"id": "zY9xW8vU7tS",
"kind": "short",
"url": "https://www.youtube.com/shorts/zY9xW8vU7tS",
"title": "Funny cat fail",
"description": "Short description #funny #shorts",
"thumbnailUrl": "https://example.com/thumbnail-short.jpg",
"channel": {
"id": "UCexample1111111111111111",
"title": "Example Shorts Channel",
"handle": "ExampleShorts",
"thumbnailUrl": null
},
"viewCount": 2763524,
"viewCountText": "2.7M views",
"publishedAt": "2026-10-04T12:34:35.000Z",
"publishedTimeText": null,
"durationSeconds": 14,
"durationText": "0:14",
"badges": []
}

The run summary is saved in the key-value store under the key RUN_SUMMARY:

{
"totalSaved": 20,
"hashtags": [
{ "input": "funny", "status": "ok", "returned": 10, "note": "" },
{ "input": "makeup", "status": "ok", "returned": 10, "note": "" }
],
"notStarted": [],
"requests": 41,
"durationSeconds": 38.5
}

Notes and limitations

  • Each hashtag gets a status in the run summary: ok, empty (nothing found), blocked or error, with a short note.
  • Items are de-duplicated within a hashtag, so the same video is not saved twice for one hashtag.
  • If the same video appears under two hashtags, it is saved once for each hashtag.
  • If full details cannot be loaded for an item, the item is kept with its basic fields.
  • Only items that are saved count toward your charges. The run stops cleanly when the maximum cost per run is reached.

Tips and advanced usage

  • Start with maxItemsPerKeyword set to 10 and check the output before a large run.
  • Turn includeDetails off for a faster run when you only need titles, links, views as shown, thumbnails and channel names from the list.
  • Run shorts and videos as separate runs if you want to compare the two formats for the same hashtags.
  • Set up scheduled YouTube scraping on Apify to track a hashtag every day or week, and compare viewCount over time. It works as a YouTube hashtag tracker and for YouTube social media monitoring.
  • Export YouTube hashtag videos to Excel or CSV to share the list with your team.
  • Use it as a YouTube data extractor for dashboards, reports and AI workflows.

Integrations and API

Can I use YouTube Hashtag Search Scraper as an API?

Yes. The Apify API lets you start runs, schedule them and fetch results programmatically. Use the apify-client package for Node.js or for Python. Open the API tab for ready-to-use code.

How to scrape YouTube hashtags with Python

from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("data_minds/youtube-hashtag-search-scraper").call(run_input={
"urls": ["funny", "https://www.youtube.com/hashtag/makeup"],
"contentType": "all",
"maxItemsPerKeyword": 10,
"includeDetails": True,
"proxyConfiguration": {"useApifyProxy": True},
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item["hashtag"], item["kind"], item["title"], item["viewCount"])

Can I integrate YouTube Hashtag Search Scraper with other apps?

Yes. Connect it with Make, Zapier, Google Sheets, Slack and other tools through Apify integrations. Use webhooks to trigger an action when a run finishes, and schedule runs to keep your hashtag data fresh.

Can I use YouTube Hashtag Search Scraper with AI agents (MCP)?

Yes. Connect the Actor to Claude and other AI assistants through the Apify MCP server. Open the MCP tab for the setup steps.

Other YouTube search scrapers

ActorWhat it does
🔍 YouTube Search APISearch YouTube for videos, channels and playlists with enriched engagement, channel, and transcript data.
📈 YouTube Trending Shorts ScraperCollect trending YouTube Shorts for any search, hashtag or topic, with views, likes, comments, channel, publish date and keywords.
🎬 YouTube Shorts ScraperCollects Shorts from any channel you list: views, likes, comments, hashtags, subtitles and full channel details.

FAQ

Scraping publicly available data is generally considered legal, but you must respect personal data rules such as GDPR, copyright and YouTube's terms. Collect personal data only with a legitimate reason. This is not legal advice, so read Apify's guide to web scraping legality and consult a lawyer if unsure.

How does YouTube Hashtag Search Scraper work?

You give it hashtags, and it returns one row per video or Short found under each hashtag. With full details on, each row also carries the description, channel, exact publish date and exact view count. It saves every item as it goes and stops at your limit, at the end of the results, or at your spend limit.

Why scrape YouTube hashtag data?

Hashtag data shows what people publish and watch around a topic. Marketers use it for trend research and content planning, agencies for competitor analysis, and creators for hashtag research and finding other channels in their niche. A scheduled run turns this into a repeatable report in a spreadsheet or dashboard instead of manual checking.

Why am I getting fewer results than expected?

Usually the hashtag has fewer public items than your limit, the contentType filter excludes some of them, or the hashtag was not found. Check the status and note for each hashtag in RUN_SUMMARY. Then raise maxItemsPerKeyword or set it to 0, and run again with the right spelling.

How many videos can I get per hashtag?

Set maxItemsPerKeyword to the number you want for each hashtag, from 1 up to 100000, or to 0 to collect everything available. The real total depends on how many public videos and Shorts the hashtag has. Start with 10 as a test, then raise the limit once the output looks right.

Can I scrape only YouTube Shorts for a hashtag?

Yes. Set contentType to shorts and add your hashtags to urls. The run then returns only Shorts, one row per Short. Keep includeDetails on if you also want the channel, description, exact publish date and exact view count, because the basic list holds fewer fields for Shorts.

Does scraping YouTube hashtags need a login or API key?

No. You only need an Apify account. The Actor asks for no YouTube login, cookies or API key, and it collects only public information that anyone can see for a hashtag. Enter your hashtags, press Start, and the results arrive in the dataset, ready to export or send through the API.

YouTube Hashtag Search Scraper not working?

First open the run log and the RUN_SUMMARY record to see the status and note for each hashtag. Check the hashtag spelling and try a smaller maxItemsPerKeyword. If the problem remains, report it on the Issues tab with your run link so we can look at it.

Support and feedback

Found a bug or have a feature request? Please create an issue on the Issues tab.

Need a custom solution or more data? Contact us at hello.dataminds@gmail.com.

Built and maintained by the data_minds team on Apify.

This Actor is an independent tool and is not affiliated with or endorsed by YouTube or Google. It collects publicly available data, and you are responsible for using it in line with applicable laws and the platform's terms.