Instagram Hashtag Scraper: Top Reels, No Login · Apify
Instagram Hashtag Scraper - Reels & Keyword Search avatar

Instagram Hashtag Scraper - Reels & Keyword Search

Pricing

from $0.20 / 1,000 reels

Go to Apify Store
Instagram Hashtag Scraper - Reels & Keyword Search

Instagram Hashtag Scraper - Reels & Keyword Search

Instagram hashtag scraper and keyword search: get the top public reels and video posts for any hashtag or keyword, with caption, plays/views, likes, comments, date, creator account, location and sound. No login, no cookies. Export via API, JSON or CSV. $0.25 per 1,000 reels.

Pricing

from $0.20 / 1,000 reels

Rating

0.0

(0)

Developer

Social Scrapers

Social Scrapers

Maintained by Community

Actor stats

0

Bookmarked

11

Total users

10

Monthly active users

10 hours ago

Last modified

Features

Limited permissions

Share

Instagram Hashtag Scraper gets the top public reels for any Instagram hashtag or keyword, with no Instagram account, login or cookies. Enter hashtags like sourdough or keywords like running shoes and get each reel's caption, hashtags, mentions, plays, likes, comments count, posting date, creator, location, sound, cover image and video URL, as JSON, CSV or Excel. It costs $0.38 per 1,000 reels (until 26 November 2026: $0.25 per 1,000 reels).

💡 Need a feature that isn't here? Just ask. Open an issue on the Issues tab and tell us what you need: a new field, filter, input type or output format. We build requested features fast, usually within 24 hours, at no extra cost.

⭐ Found it useful? A short review on the Reviews tab helps other people find this scraper, and tells us what to build next.

What does Instagram Hashtag Scraper do?

Instagram Hashtag Scraper reads what Instagram shows a visitor who opens a hashtag link without logging in: the top reels for that hashtag or keyword, ranked by Instagram. For each reel it then reads the reel's own page for the full details. You can:

  • 🔎 Scrape Instagram hashtags and keywords: #hiking, sourdough, running shoes, skincare routine, or hashtag links such as https://www.instagram.com/explore/tags/hiking/.
  • 📈 See what performs: play count, likes and comments count of every top reel, with its rank for the hashtag.
  • 👤 Find creators: the account behind each reel, its verified badge, tagged accounts and collaborators.
  • 🗓️ Filter by date: keep only reels posted after a date or within the last days, weeks or months.
  • ⚡ Go fast or go deep: turn reel details off for the fastest run with what the hashtag feed shows.
  • 💸 Pay only for results: hashtags with no reels, and reels left out by your filters, cost nothing.

Everything the Apify platform gives you comes with it: the Apify API, scheduled runs, webhooks, integrations with Make, Zapier, n8n and Google Sheets, and datasets you can download in any format.

What data can you extract from Instagram hashtags?

FieldWhat it is
searchTerm, positionThe hashtag or keyword that found the reel, and the reel's rank for it
shortCode, url, id, type, productTypeThe reel's code, link, media id and type
caption, hashtags, mentionsCaption text, hashtags and @mentions in it
videoPlayCount, likesCount, commentsCountPlays, likes and comments
timestamp, videoDurationWhen it was posted (UTC) and its length in seconds
ownerUsername, ownerFullName, ownerId, ownerIsVerified, ownerProfilePicUrlThe creator
taggedUsers, coauthorProducers, isPaidPartnership, sponsorsTagged accounts, collaborators and brand partnerships
locationName, locationIdThe tagged location
musicInfoThe sound: a licensed track or the creator's original audio
displayUrl, videoUrl, dimensionsWidth, dimensionsHeightCover image, video file and size
hasDetails, scrapedAtWhether the reel's own details were read, and when

The Overview, Creators and Content views of the dataset show the most useful columns as a table.

How to scrape Instagram hashtags

  1. Open Instagram Hashtag Scraper and click Try for free.
  2. In Hashtags or keywords, add one or more hashtags (with or without #) or keywords.
  3. Set Max reels per hashtag or keyword, or 0 for every reel Instagram shows.
  4. Optionally set Only reels posted after to keep recent reels only.
  5. Click Start. Reels appear in the dataset as they are read.
  6. Download the results as JSON, CSV, Excel or HTML, or read them with the Apify API.

How much does it cost to scrape Instagram hashtags?

You pay per reel saved: $0.38 per 1,000 reels, platform usage and proxies included, from 26 November 2026. Until then the price is $0.25 per 1,000 reels ($0.225 on Silver, $0.20 on Gold).

Your Apify planPer 1,000 reels
Free and Starter (Bronze)$0.38
Scale (Silver)$0.342 (−10%)
Business (Gold), Platinum and Diamond$0.304 (−20%)

From 26 November 2026 each run also carries Apify's standard start charge of $0.00005 (one per GB of memory; Apify then covers the run's first 5 seconds of compute).

  • 3 hashtags × 50 reels = 150 reels → about $0.06 (until 26 November 2026: about $0.04)
  • 100 hashtags × all their reels (about 7,000 reels) → about $2.66 (until 26 November 2026: about $1.75)

Hashtags with no reels, reels skipped by the date filter and reels already saved for an earlier hashtag in the same run cost nothing. To cap the cost of a run, set Maximum cost per run in the run options: the scraper saves reels until the next one would go over it, then stops cleanly. Apify's free plan includes monthly platform credit, enough to try the scraper on thousands of reels.

Input example

{
"hashtags": ["sourdough", "running shoes", "https://www.instagram.com/explore/tags/hiking/"],
"resultsLimit": 20,
"includeDetails": true,
"onlyPostsNewerThan": "3 months"
}
FieldTypeDescription
hashtagsarray of stringsHashtags with or without #, keywords of several words, or Instagram hashtag links. Each is searched separately; several hashtags on one line (#sourdough #bread, or separated by commas) are searched one by one. A search written with OR (sourdough OR "rye bread") becomes one search per part, and a hashtag link from TikTok, X, Facebook, YouTube, LinkedIn or Threads searches the same hashtag.
resultsLimitintegerReels to save for each hashtag or keyword, best ranked first. 0 saves every reel Instagram shows. Default: 20.
includeDetailsbooleanRead each reel's own page for likes, comments count, exact date, location, sound and tagged accounts. Default: true.
onlyPostsNewerThanstringOnly reels posted after a date (2026-01-31, 31/01/2026, Jan 31 2026) or within an age (7 days, 2w, 3 months, yesterday).
proxyConfigurationobjectThe scraper picks Apify Proxy's tier itself: datacenter first, residential only when Instagram refuses a request. Your own proxy URLs are used as given.

Output example

One item per reel (shortened):

{
"searchTerm": "nba",
"position": 4,
"id": "4024904159194488233",
"type": "Video",
"productType": "clips",
"shortCode": "DfbVQIHx52p",
"url": "https://www.instagram.com/p/DfbVQIHx52p/",
"caption": "@lukadoncic MAGIC to end the 1H! 🪄 POR-LAL | West Group C @emirates NBA CUP • LIVE NOW on PRIME <link in bio>",
"hashtags": [],
"mentions": ["lukadoncic", "emirates"],
"likesCount": 296026,
"commentsCount": 2791,
"videoPlayCount": 5565829,
"videoDuration": 17.5,
"timestamp": "2026-11-07T04:33:54.000Z",
"displayUrl": "https://scontent-dfw6-1.cdninstagram.com/v/t51.82787-15/...",
"videoUrl": "https://scontent-dfw6-1.cdninstagram.com/o1/v/t2/f2/m86/...",
"dimensionsHeight": 1280,
"dimensionsWidth": 720,
"ownerId": "20824486",
"ownerUsername": "nba",
"ownerFullName": "NBA",
"ownerIsVerified": true,
"taggedUsers": [{ "id": "16917874", "username": "lakers", "fullName": "Los Angeles Lakers", "isVerified": true }],
"coauthorProducers": [{ "id": "66155909760", "username": "nbaonprime", "fullName": "NBA on Prime", "isVerified": true }],
"isPaidPartnership": false,
"locationName": null,
"musicInfo": { "artistName": "nba", "songName": "Original audio", "usesOriginalAudio": true, "audioId": "29445688668396972" },
"hasDetails": true,
"scrapedAt": "2026-11-08T10:58:49.532Z"
}

Every item has the same fields in the same order (null when Instagram does not show a value), so CSV and Excel exports line up.

Use cases

  • Trend and content research: see which reels lead a hashtag, how many plays they get, and which sounds, formats and captions they use.
  • Influencer discovery: find the creators behind the top reels for your niche, with their verified badges and collaborations.
  • Brand and campaign monitoring: track the top reels for your brand, product or campaign keywords over time with a scheduled run.
  • Competitor analysis: compare what performs for competing products and categories.
  • Market and academic research: build datasets of public reels by topic.

Use it via API, Python, JavaScript and integrations

Run Instagram Hashtag Scraper from your own code with the Apify API or the Apify clients:

from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("socialscrapers/instagram-hashtag-scraper").call(
run_input={"hashtags": ["sourdough", "running shoes"], "resultsLimit": 50}
)
for reel in client.dataset(run["defaultDatasetId"]).iterate_items():
print(reel["searchTerm"], reel["url"], reel["videoPlayCount"])
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' });
const run = await client.actor('socialscrapers/instagram-hashtag-scraper').call({ hashtags: ['sourdough'], resultsLimit: 50 });
const { items } = await client.dataset(run.defaultDatasetId).listItems();

You can also schedule runs (for example every morning), get a webhook when a run finishes, send results to Google Sheets, Slack or a database with Apify integrations, connect it to Make, Zapier or n8n, or let AI agents run it through the Apify MCP server.

Limits

  • Top reels only. Without a login, Instagram shows the top reels for a hashtag or keyword, usually 50 to 100 of them, ranked by Instagram rather than by date. Photo posts, the "recent" tab and stories are shown to logged-in users only.
  • Some broad hashtags have no public page. Instagram has no logged-out page for some very broad single words (for example fitness or food). Those return nothing and cost nothing; a more specific keyword such as fitness workout or food recipes usually works. A hashtag joined with underscores or written in CamelCase (#cats_of_instagram, #CatsOfInstagram) is also tried as separate words.
  • Without details, likes, comments count, location and sound are empty, and the posting time is the upload time read from the reel's id.
  • Hashtags and searches only. Hashtag links (/explore/tags/…) and search links (/popular/…) are read as their hashtag or keyword; a post, reel or share link (instagram.com/share/…) opens a single post, which Instagram Post Scraper reads.
  • A run with 0 results still succeeds, and no results are charged. When Instagram shows nothing for a hashtag or keyword (no public page, or every reel left out by your filters), the run ends as Succeeded with a status message naming each one and why. When no entry holds a hashtag or keyword at all (a profile or post link, a link to another site), the run ends as Succeeded at once, with a status message that starts "Nothing to scrape:", says how to fix the input and ends "No results were charged." A run fails only when Instagram refuses the scraper itself (every one of 3 or more searches, and a profile that is always public too), or on an internal error.

FAQ

Is it legal to scrape Instagram hashtags? Instagram Hashtag Scraper collects only public data that anyone can see without logging in. You are responsible for how you use it: personal data is protected by laws such as the GDPR, so have a legitimate reason to collect it and follow Instagram's terms and the laws that apply to you.

Do I need an Instagram account or cookies? No. Instagram Hashtag Scraper never logs in and never asks for cookies, so no account of yours is ever at risk.

How many reels can I get per hashtag? Every reel Instagram shows a logged-out visitor for it, usually 50 to 100. Set resultsLimit to 0 to get them all, and add related keywords to collect more.

Why did I get fewer reels than I asked for? Instagram showed fewer reels for that hashtag, the date filter left some out, a reel had already been saved for an earlier hashtag in the same run, or the run reached its maximum cost. The run log says which, for each hashtag.

Can I get only new reels? Yes. Set Only reels posted after to a date or an age such as 7 days, and schedule the run to repeat.

Can I search by keyword instead of a hashtag? Yes. Write the keyword as words (running shoes); it is searched the same way as a hashtag.

Other scrapers by Social Scrapers

ScraperWhat it gets
TikTok ScraperVideos, Profiles, Hashtags and Comments
Instagram Comments ScraperComments, Likes and Reply Counts
Instagram Post ScraperPosts, Reels and Comments
Instagram Profile ScraperFollowers, Bio, Posts and Reels
Instagram Reels ScraperReels, Plays, Likes and Comments
YouTube Channel ScraperVideos, Shorts, Subscribers and About
YouTube Comments ScraperComments, Replies and Likes
YouTube ScraperVideos, Shorts, Channels and Comments
YouTube Shorts ScraperShorts, Views, Likes and Search
YouTube Transcript ScraperSubtitles, Captions and SRT
Facebook Ads Library ScraperMeta Ad Library and Spend
Facebook Groups ScraperPublic Group Posts and Reactions
Facebook Posts ScraperPages, Profiles and Timelines
Facebook Pages ScraperProfiles, Contact Info and Reviews
X (Twitter) Profile ScraperFollowers, Bio and Tweets
X (Twitter) Tweet ScraperLatest Posts by Profile
Threads ScraperPosts, Profiles, Replies and Search
Reddit ScraperPosts, Comments, Subreddits, Users and Search
Quora ScraperAnswers, Questions, Profiles and Topic Search
LinkedIn Ad Library ScraperAds, Advertisers and Impressions
LinkedIn Jobs ScraperJob Listings, Salaries and Companies
Google News ScraperHeadlines, Articles and Search
Google Ads Transparency ScraperAd Creatives and Advertisers
Telegram Channel ScraperPosts, Views and Media