Instagram Hashtag Scraper - Reels & Keyword Search
Pricing
from $0.20 / 1,000 reels
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
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
3
Monthly active users
14 hours ago
Last modified
Categories
Features
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.25 per 1,000 reels.
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 ashttps://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?
| Field | What it is |
|---|---|
searchTerm, position | The hashtag or keyword that found the reel, and the reel's rank for it |
shortCode, url, id, type, productType | The reel's code, link, media id and type |
caption, hashtags, mentions | Caption text, hashtags and @mentions in it |
videoPlayCount, likesCount, commentsCount | Plays, likes and comments |
timestamp, videoDuration | When it was posted (UTC) and its length in seconds |
ownerUsername, ownerFullName, ownerId, ownerIsVerified, ownerProfilePicUrl | The creator |
taggedUsers, coauthorProducers, isPaidPartnership, sponsors | Tagged accounts, collaborators and brand partnerships |
locationName, locationId | The tagged location |
musicInfo | The sound: a licensed track or the creator's original audio |
displayUrl, videoUrl, dimensionsWidth, dimensionsHeight | Cover image, video file and size |
hasDetails, scrapedAt | Whether 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
- Open Instagram Hashtag Scraper and click Try for free.
- In Hashtags or keywords, add one or more hashtags (with or without
#) or keywords. - Set Max reels per hashtag or keyword, or
0for every reel Instagram shows. - Optionally set Only reels posted after to keep recent reels only.
- Click Start. Reels appear in the dataset as they are read.
- 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.25 per 1,000 reels. Platform usage and proxies are included. On Apify's Silver plan the price drops to $0.225 per 1,000 reels, and on Gold to $0.20.
- 3 hashtags × 50 reels = 150 reels → about $0.04
- 100 hashtags × all their reels (about 7,000 reels) → 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"}
| Field | Type | Description |
|---|---|---|
hashtags | array of strings | Hashtags 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. |
resultsLimit | integer | Reels to save for each hashtag or keyword, best ranked first. 0 saves every reel Instagram shows. Default: 20. |
includeDetails | boolean | Read each reel's own page for likes, comments count, exact date, location, sound and tagged accounts. Default: true. |
onlyPostsNewerThan | string | Only reels posted after a date (2026-01-31, 31/01/2026, Jan 31 2026) or within an age (7 days, 2w, 3 months, yesterday). |
proxyConfiguration | object | The 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 ApifyClientclient = 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
fitnessorfood). Those return nothing and cost nothing; a more specific keyword such asfitness workoutorfood recipesusually 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 when your input was fine. 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, and nothing is charged. A run fails only when no entry holds a hashtag or keyword at all, or when Instagram refuses every one of 3 or more searches.
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
| Scraper | What it does |
|---|---|
| Instagram Profile Scraper | Profiles: bio, followers, posts count and recent posts |
| Instagram Post Scraper | Posts and reels by URL, with comments |
| Facebook Groups Scraper | Posts from public Facebook groups |
| Facebook Profile Scraper | Public details of Facebook profiles and Pages |
| Facebook Profile Posts Scraper | Recent posts of Facebook profiles and Pages |
| Facebook Ads Library Scraper | Ads from Meta's Ad Library |
| Threads Scraper | Threads profiles, posts, replies and search |
| X (Twitter) Profile Scraper | X profiles: bio, followers and counts |
| YouTube Scraper | YouTube videos, channels, search and comments |
| YouTube Transcript Scraper | Transcripts of YouTube videos |
| Reddit Scraper | Reddit posts, comments, users and search |
| Quora Scraper | Quora questions, answers and profiles |
| LinkedIn Jobs Scraper | LinkedIn job listings |