Instagram Hashtag Scraper
Pricing
from $1.00 / 1,000 results
Instagram Hashtag Scraper
Scrape public Instagram reels by hashtag or keyword, no login or cookies. Get plays, likes, comments, caption, creator, location and music. Filter by date, engagement and followers; find top creators and new reels each run. JSON for trend tracking and influencer discovery.
Pricing
from $1.00 / 1,000 results
Rating
0.0
(0)
Developer
Data WiKi
Maintained by CommunityActor stats
0
Bookmarked
69
Total users
59
Monthly active users
3 days ago
Last modified
Categories
Features
Share
🚀 What is Instagram Hashtag Scraper?
Instagram Hashtag Scraper is an Apify Actor that collects the public reels behind any hashtag or keyword on Instagram, with no login and no cookies. You add hashtags, keywords or hashtag links, and every saved reel comes back as one row with plays, likes, comments, caption, creator, place and music, ready for JSON, CSV or Excel.
- Hashtags, keywords or links in one list: mix
#travel, a phrase such asnew yorkand an instagram.com/explore/tags link in the same run, like an Instagram reels scraper that takes many terms at once. - Filters and result orders: keep reels by date, plays, likes, comments, creator followers, engagement rate, caption words, language or sponsorship, and sort by feed order, engagement, plays or recency.
- Extras on request: creator stats, emails and links written in captions, related keywords that Instagram suggests, and an "only new reels" mode for repeated runs.
- Side tables included: a search-terms table, top hashtags and top creators come with every run, and they are not charged.
Instagram Hashtag Scraper runs in the cloud, so nothing is installed on your computer, and it reads only what a logged-out visitor can see. Click Try for free, add a term and press Start.
📊 What data can you extract from Instagram?
It returns one dataset row per reel. For spreadsheet work it acts as an Instagram reels data scraper. You can export the rows as JSON, CSV or Excel. Field names below are the exact names in the dataset. Instagram hides some values for some reels, so a field can be empty.
| Field | Description | Example |
|---|---|---|
id, code, url | Media id, short code and link of the reel | ExampleCode1 |
createdAt | When the reel was posted (UTC, ISO 8601) | 2026-01-01T12:00:00.000Z |
likeCount, commentCount | Likes and comments; empty when likes are hidden or details are off | 1200, 45 |
isLikeAndViewCountsDisabled | Whether the creator hid like and view counts | false |
caption, hashtags, mentions | Caption text, plus the hashtags and mentions found in it | ["travel", "gym"] |
owner | Account id, username, full name, picture, private and verified flags; followers, following, posts count, bio and bio links with creator stats | example_creator |
coowners, taggedUsers | Collaborating accounts and tagged accounts | [] |
location | Tagged place with id, name and coordinates (slug, address and city are always empty) | Example Place |
video | Link to the video file (expires after a while), size, duration and playCount | 50000 |
image | Cover image link and size | 640 x 1136 |
musicInfo | Track title, artist and whether the sound is original audio | Original audio |
language | Caption language code detected by the Actor; can be empty for short captions | en |
isSponsored, isPaidPartnership | Paid partnership or ad hashtag detected; Instagram's paid-partnership flag | false |
engagementCount | Likes plus comments | 1245 |
engagementRate, viralityRatio | (Likes + comments) divided by followers; plays divided by followers. Both need creator stats | null |
contacts | Emails and web links written in the caption | {"emails": [], "urls": []} |
accessibilityCaption, hasAudio, captionIsEdited, isAiGenerated, topics | Extra details Instagram shows for the reel | true |
searchTerm, rank, foundVia | The term that found the reel, its position, and direct or related:<term> | travel, 1, direct |
isPinned, isCarousel, isVideo | Always empty, always false and always true, because hashtag pages list reels only | true |
The Output tab also holds three side tables: Search terms (status, reels checked and kept, total posts Instagram reports, Instagram's short summary, related keywords), Top hashtags (hashtags and hashtag pairs with counts) and Top creators (reels, plays, engagement and followers). A run summary record holds the totals of the run. The video.playCount field is the number an Instagram reels views scraper reports for each reel.
⚠️ Likes, comments, date, place and music need "Likes, comments, date, place & music" (on by default). Followers,
engagementRateandviralityRationeed "Creator stats". Contacts need "Emails & links in captions".
💡 Use cases for Instagram hashtag data
- Hashtag research: read the hashtags used across the saved reels for a niche, a starting point for Instagram hashtag research. The top-hashtags table counts single hashtags and pairs.
- Trending reels: order by plays and set a recent "Posted after" date to see Instagram trending reels among the reels checked for each term. The top-hashtags table of that run shows which Instagram trending hashtags appear in them.
- Sound research: the
musicInfofield lists the track and artist of each reel, so you can spot Instagram trending audio in your niche. - Influencer shortlists: filter by followers and engagement rate for Instagram influencer research. Each row carries the creator's follower count and bio link for outreach lists.
- Small creators: set a follower maximum and a minimum engagement rate to find Instagram micro influencers. Instagram creator discovery in a niche works the same way.
- Competitor and brand research: collect reels under your campaign hashtag and a competitor's hashtag for an Instagram competitor analysis tool of your own.
- Content planning: captions, hashtags and music of high-play reels work as an Instagram content research tool for your next posts.
- Reporting: load the rows into a spreadsheet or dashboard for Instagram hashtag analytics. Chart plays and likes there for Instagram reels analytics.
🛠️ How to scrape Instagram hashtags
- Create a free Apify account and open Instagram Hashtag Scraper in the Apify Store.
- Add hashtags, keywords or hashtag links to Hashtags, keywords or links, one per line, to scrape Instagram reels by hashtag.
- Set Reels per search term (default 10) and, if you want, Maximum reels in total.
- Add filters or choose an Order of results, then switch on Creator stats if you need followers.
- Click Start and follow the progress in the log and the status message.
- Open the Output tab and download the data as JSON, CSV or Excel, or fetch it by API.
💡 Start with one term and the default of 10 reels to see the data, then raise the limits.
💰 How much does it cost to scrape Instagram hashtags?
Instagram Hashtag Scraper uses pay per event pricing: you pay for each reel saved to the dataset, plus a small start event per run. The price per reel depends on your Apify plan tier, from $1.50 per 1,000 reels on the Free tier to $1.00 on Gold and above.
| Event | Name in the Pricing tab | Price |
|---|---|---|
| Reel saved | main_result (Results, primary event) | Free $0.0015, Bronze $0.00135, Silver $0.0012, Gold, Platinum and Diamond $0.001 per reel |
| Run start | apify-actor-start (Actor Start) | $0.00005 per run, one event per GB of memory; the Actor is set to 1,024 MB (1 GB) |
Apify platform usage (compute) is billed on top of the events above. The search-terms, top-hashtags and top-creators tables and the run summary are not charged.
| Plan tier | Price per reel | Calculation | Per 1,000 reels |
|---|---|---|---|
| Free | $0.0015 | 1,000 x $0.0015 | $1.50 |
| Bronze | $0.00135 | 1,000 x $0.00135 | $1.35 |
| Silver | $0.0012 | 1,000 x $0.0012 | $1.20 |
| Gold, Platinum, Diamond | $0.001 | 1,000 x $0.001 | $1.00 |
Worked examples, event costs only:
- 100 reels on the Free tier: 100 x $0.0015 = $0.15, plus $0.00005 start = $0.15005.
- 1,000 reels on the Bronze tier: 1,000 x $0.00135 = $1.35, plus $0.00005 start = $1.35005.
- 10,000 reels on the Gold tier: 10,000 x $0.001 = $10.00, plus $0.00005 start = $10.00005.
If you set a maximum cost for a run, the Actor stops cleanly when the limit is reached and keeps the reels saved so far. See the Pricing tab for the current rates of your plan.
⬇️ Input
Only Hashtags, keywords or links (urls) is required. Everything else is optional, and the Input tab explains every field. You can add extra terms through hashtags and keywords; each entry is one search term, lowercased with the # removed, so Travel and #travel are one term.
This example reads three terms, keeps reels from the last 30 days with at least 100,000 plays, and orders them by plays:
{"urls": ["https://www.instagram.com/explore/tags/travel/", "#gym", "new york"],"resultsLimit": 10,"sortBy": "plays","postedAfter": "30 days","minPlays": 100000}
- Reels per term and total cap:
resultsLimit(default 10, minimum 1) is how many reels to keep for each term. The input form says Instagram offers about 60 reels per term to visitors who are not logged in, so asking for more per term does not help. UsemaxItemsto stop after a total number of reels, andexpandRelated(default 0) to also search that many related keywords per term. - Order of results:
sortByisfeed,engagement,playsorrecent. Feed saves reels live in Instagram's own order. The other orders look at up to three times the reels per term, rank them, and save the best ones, so "Most plays" means most plays among the reels checked, not among every reel on Instagram. - Keywords: a keyword or phrase in
urlsworks as an Instagram keyword search tool for reels. - Dates:
postedAfterandpostedBeforetakeYYYY-MM-DDor a relative value such as7 days,2 weeks,3 monthsor1 year. - Caption filters:
mustIncludeHashtagsneeds all listed hashtags,anyOfHashtagsat least one andexcludeHashtagsdrops reels with any of them.languagestakes codes such asen,es,pt,fr,de,arorru. - Switches that add work:
enrichDetails(default on) costs one extra request per reel andenrichOwners(default off) one per creator. Date, likes, comments and engagement filters turn the first on, and follower or engagement-rate filters turn creator stats on automatically. - Monitoring: with
incrementalon, runs that share anincrementalKeyskip reels that earlier runs already returned. - Proxy:
proxyConfigurationis optional. If a request is blocked, the Actor switches to another connection automatically.
💡 Filters are combined, so strict settings can reject every reel. Loosen a filter or raise "Maximum reels to check" (default 5,000) if a run keeps nothing.
⬆️ Output
The scraped results are shown as a dataset in the Storage tab. The table view is for convenience and does not show all the fields. The Output tab offers the same rows as nine tables (reels, engagement, creators, video and cover, captions and tags, location, music, sponsorship and contacts, search context), next to the three side tables and the run summary.
You can download the data as JSON, CSV, Excel, XML or HTML and pick the fields before exporting. To export Instagram reels to CSV, choose CSV on the Storage tab. Read through the API, the rows form an Instagram reels dataset for your own tools. Each run is a clean export from an Instagram hashtag data extractor that you can load anywhere. Sorted in a spreadsheet, the top-hashtags table works as a small Instagram hashtag research tool.
The example below is illustrative: the values are made up to show the structure and are not from a real run.
{"id": "1000000000000000001","code": "ExampleCode1","url": "https://www.instagram.com/reel/ExampleCode1/","createdAt": "2026-01-01T12:00:00.000Z","likeCount": 1200,"commentCount": 45,"caption": "Example caption #travel #gym","owner": { "username": "example_creator", "fullName": "Example Creator", "isVerified": false },"location": { "name": "Example Place", "lat": 47.5, "lng": 7.6 },"video": { "url": "https://example.com/video.mp4", "width": 720, "height": 1280, "duration": 14.8, "playCount": 50000 },"image": { "url": "https://example.com/cover.jpg", "width": 640, "height": 1136 },"hashtags": ["travel", "gym"],"mentions": [],"musicInfo": { "title": "Original audio", "artist": "example_creator", "isOriginalAudio": true },"language": "en","isSponsored": false,"engagementCount": 1245,"contacts": { "emails": [], "urls": [] },"searchTerm": "travel","rank": 1,"foundVia": "direct"}
⚠️ Limitations and error handling
- Reels only: public hashtag pages list reels, so this Instagram hashtag reels scraper returns no normal posts, carousels or stories, and nothing from private accounts or behind a login. You can scrape Instagram reels that any visitor can see, and nothing else.
- Depth per term: Instagram offers about 60 reels per term to visitors who are not logged in, as stated in the input form. Use related keywords or more terms to go deeper.
- Ranked orders:
engagement,playsandrecentrank only the reels the run checked for that term. - Hidden values: likes, comments and followers can be empty when the matching option is off or the creator hides them.
languageis a guess from the caption andisSponsoredis a paid-partnership flag or an ad-hashtag match. - Expiring links: video and cover image links expire after a while, so download files soon after the run.
- Stops: a run ends cleanly at your "Maximum reels in total", your spend limit, "Maximum reels to check" (default 5,000) or after 2,000 reels were checked and none was kept. Reels saved so far are kept, and the log and status message say why the run stopped.
The Search terms table shows one status per term:
| Status | Meaning | What to do |
|---|---|---|
ok | The term was read normally | Nothing |
not_indexed | Instagram shows no public reels for this term | Try a more common phrase or a related keyword |
depth_cap | Instagram offered fewer reels than you asked for | Add related keywords or more terms |
cursor_stuck | No new reels appeared, so the term stopped early | Run again later or add terms |
error, unreachable | The term could not be read | Run again later, or set a proxy in the input |
invalid_link | The entry was a link that is not a hashtag or keyword link | Use a #hashtag, a keyword or an instagram.com/explore/tags link |
A run fails with a status message starting with "Input problem" when the input contradicts itself: a bad date, "Posted after" not earlier than "Posted before", a minimum above a maximum, "Sponsored reels only" together with "Hide sponsored reels", the same hashtag in "Must include hashtags" and "Exclude hashtags", or no usable term. If Instagram cannot be reached at all, the run says that nothing was collected instead of returning wrong data.
🔌 Integrating Instagram Hashtag Scraper with other apps
You can start Instagram Hashtag Scraper from the Apify API, run it on a schedule and connect it to other tools through webhooks and integrations. The API tab of the Actor shows ready-made JavaScript, Python and CLI calls, and the Apify API reference describes how to start runs and read datasets. Used as an Instagram hashtag API, the Actor runs through the standard Apify API. It takes the input as JSON and returns the dataset, like any Apify Actor.
- Call it as an Instagram reels scraper API from your own code.
- Pass a keyword in
urlsto use it as an Instagram reels search API. - Connect results to Google Sheets, Slack, Make, Zapier, Airbyte and more through the Apify integrations.
- Use Apify schedules to run the same terms daily or weekly.
- Add a webhook to react when a run finishes.
Run it again and again
Turn on "Only new reels since last run" and keep one Monitoring name, then schedule the Actor. Each run returns only reels that earlier runs with the same name have not returned, which makes a simple Instagram hashtag tracker. The search-terms table also records the total posts Instagram reports for each term, so you can compare the Instagram hashtag post count between runs. Feed the rows into your own Instagram hashtag monitoring tools or sheets. Comparing the top-hashtags table from one run to the next supports Instagram trend research.
🔗 Other social media scrapers by data_wiki
| Actor | What it extracts | When to use it |
|---|---|---|
| Instagram Comment Scraper | Comments on public Instagram posts and reels | When you want to read what people say under the reels you found |
| Douyin search scraper for keyword and hashtag videos | Douyin search results by keyword, hashtag or link | When your short-video research also covers Douyin |
| Douyin creator profile scraper | Public Douyin creator profiles with followers, posts and hashtags | When you compare creators on Douyin |
| Facebook comment scraper for sentiment analysis | Comments and replies from public Facebook posts and reels | When you need audience reactions on Facebook |
| LinkedIn profile data scraper | Career data for people you found elsewhere | You found a contact and want their public career profile. |
| Pinterest search scraper | Pins, videos, boards and creators found by Pinterest keyword search | You research visual trends on Pinterest as well as Instagram |
| TikTok videos by hashtag, profile or keyword | Public TikTok videos with plays, likes, shares, author stats, comments and transcripts | When your hashtag research also covers TikTok |
| Threads creator profile data | Followers, bio, verification and posts for Threads accounts | You want to check the same creators on Threads after finding them on Instagram |
| Threads hashtag search | Threads posts found by hashtag or keyword | You run the same hashtag research on Threads |
| Facebook group discovery | Facebook groups for a keyword, with member count and privacy | You run the same topic research on Facebook |
| Instagram hashtag analytics with counts and related keywords | Total count, difficulty score, competition level and related keywords for hashtags and keywords | When you want the numbers around a hashtag instead of the reels |
| Spotify monthly listeners for artists | Monthly listeners, followers, top cities and play counts of artists listed by link or name | A reel or hashtag points to an artist and you want their audience size |
The data in this Actor comes from public Instagram hashtag pages. New to Apify? The Apify documentation explains runs, datasets and schedules.
⚖️ Is it legal to scrape Instagram hashtag data?
Instagram Hashtag Scraper only extracts data that users have made publicly available on Instagram and does not extract private data. Results can still contain personal data, such as usernames and captions, so collect it only for a legitimate reason. Whether your use is allowed depends on Instagram's terms and on privacy laws such as GDPR and CCPA, and you are responsible for following them and for keeping request volumes reasonable. Consult a lawyer if you are unsure. Apify explains the topic in is web scraping legal? and ethical web scraping.
❓ FAQ
How does Instagram Hashtag Scraper work?
You give it hashtags, keywords or hashtag links. As an Instagram hashtag extractor, it looks up the public reels for each term, adds the details you switch on, applies your filters and saves each reel to the dataset. It uses plain HTTP requests and no browser.
Do I need an Instagram account or API key?
No. It is an Instagram hashtag scraper no login is needed for, so you need no Instagram account, no cookies and no Instagram API key. You can scrape Instagram data this way, and only what logged-out visitors see can be returned.
How much does it cost?
You pay per reel saved, at the price of your Apify plan tier, plus the $0.00005 start event. 1,000 reels cost $1.50 on the Free tier and $1.00 on Gold, before Apify platform usage. See the pricing section for the full table.
How many reels can I get?
Instagram offers about 60 reels per term to visitors who are not logged in. Use several terms, expandRelated or hashtag links to collect more, and cap the whole run with maxItems.
Can I scrape private data, posts or stories?
No. The Actor reads only public reels from hashtag pages. Private accounts, posts, carousels and stories are not available.
Can I search by keyword instead of a hashtag?
Yes. Add a phrase to Hashtags, keywords or links and the Actor reads its reels like an Instagram keyword search scraper would. Through the Apify API, that is an Instagram keyword search API call with the phrase in urls.
Why am I getting fewer results than expected?
Usually the term has fewer public reels than you asked for, or your filters reject many of them. The search-terms table on the Output tab shows the status of each term. Add related keywords or more terms, loosen the filters, or raise "Maximum reels to check".
Why are likes, comments or follower numbers empty?
Likes and comments need "Likes, comments, date, place & music", and creators can hide them. Followers and engagement rate need "Creator stats". Switch the option on and run again.
Do I need a proxy?
No. Proxy settings are optional, and if Instagram blocks a request the Actor switches to another connection automatically.
Can I get the video files?
You get a link to each video file in the video field, so you can scrape Instagram videos as links and download them yourself where the terms allow it. The links expire after a while.
Can I find creators with it?
Yes. Filter by followers, engagement rate and caption words, then read owner.username and owner.followerCount to get an Instagram influencer finder style shortlist. Switch on "Creator stats" first, because follower numbers need it.
How can I use the data with the API or other tools?
Start a run with the Apify API and read the dataset when it finishes. Instagram hashtag scraper API access uses the standard Apify API, and the API tab of the Actor shows ready-made code. The finished dataset is the output of an Instagram reels data extractor that you can load into any tool.
Can I export the results for analysis?
Yes. Download JSON, CSV or Excel. With "Creator stats" on, use the engagementRate field, or calculate your own from likeCount, commentCount and owner.followerCount. The video.playCount field gives you Instagram reels views analytics per term.
Can one run cover several terms?
Yes. Each row carries searchTerm, rank and foundVia, so one dataset can hold many terms and you can split it by term in a spreadsheet. Related keywords are marked related:<term>.
Can I use Instagram Hashtag Scraper through MCP?
Yes. The Apify MCP server at https://mcp.apify.com lets AI agents find Actors, read their details and run them, so an agent can start Instagram Hashtag Scraper like any other Actor.
Is it legal to scrape Instagram hashtags?
The Actor reads only public data, but you stay responsible for how you use it. See the legality section above for GDPR, terms of use and when to ask a lawyer.
💬 Your feedback
Found a bug or need another field? Open an issue on the Actor's Issues tab. Need a custom solution? Contact hello.datawiki@gmail.com.