Instagram Hashtag Scraper
Pricing
from $0.50 / 1,000 posts
Instagram Hashtag Scraper
Scrape top Instagram posts and reels for any hashtag or keyword. Get captions, media, likes, comments, reel play counts, owner, audio, location and hashtags - for trend research, influencer discovery and content ideas. No login needed.
Pricing
from $0.50 / 1,000 posts
Rating
0.0
(0)
Developer
Coder
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Collect the top public Instagram posts and reels for any hashtag or keyword: captions, media, likes, comments, reel play counts, owner, audio, location and hashtags, in a clean, structured format.
Add hashtags, choose how many posts you need, and export the results as JSON, CSV or Excel, or pull them through the Apify API. No Instagram account or login needed.
What This Actor Does
- Collects Instagram's top public posts and reels for each hashtag or keyword
- Supports many hashtags in one run and never returns the same post twice
- Searches by hashtag (
#coffeeshop) or by keyword phrase (coffee shop) - Can follow related hashtags to collect more posts on a topic
- Can return reels only
- Returns engagement (likes, comments, reel play counts), media, audio, owner, tagged users and location
Best For
- Trend and content research
- Finding influencers and creators in a niche
- Competitor and campaign monitoring
- Collecting examples for content ideas and creative briefs
- Building datasets for dashboards, NLP or AI workflows
Input
Add one or more hashtags or keywords and set how many posts to collect for each.
Main input fields
hashtagsOne entry per row, with or without#. Hashtag links such ashttps://www.instagram.com/explore/tags/travel/also work.resultsLimitHow many posts to collect for each hashtag.resultsTypepostsfor every top post,reelsfor reels only.keywordSearchTreats each entry as a phrase (coffee shop) instead of a single hashtag (#coffeeshop).includeRelatedHashtagsAlso collects top posts from hashtags Instagram lists as related, until the limit is reached.
Example input
{"hashtags": ["travel", "coffeeshop"],"resultsLimit": 50,"resultsType": "posts","keywordSearch": false,"includeRelatedHashtags": false}
Output
Each dataset item is one Instagram post or reel. inputUrl shows the hashtag page the post came from.
Fields
| Field | Description |
|---|---|
url, shortCode, id | Post link and identifiers |
type, productType | Image, Video or Sidecar (carousel); clips for reels |
caption, hashtags, mentions | Post text and the hashtags and accounts it mentions |
timestamp | Publish time (ISO 8601, UTC) |
likesCount, commentsCount | Engagement counts |
videoPlayCount, videoDuration | Play count and length for reels and videos |
displayUrl, images, videoUrl, audioUrl | Media links |
ownerUsername, ownerFullName, ownerId | Who published the post |
taggedUsers, coauthorProducers | Tagged accounts and collaborators |
locationName, locationId | Tagged location, when the post has one |
paidPartnership | Whether the post is a paid partnership |
inputUrl | The hashtag page the post came from |
Example output
{"inputUrl": "https://www.instagram.com/popular/travel/","id": "3985535646503749253","type": "Video","productType": "clips","shortCode": "DdPd43hg0aF","url": "https://www.instagram.com/p/DdPd43hg0aF/","caption": "Three days in the Dolomites #travel #italy","hashtags": ["travel", "italy"],"mentions": [],"timestamp": "2026-09-13T20:55:32.000Z","likesCount": 100362,"commentsCount": 258,"videoPlayCount": 1484927,"videoDuration": 30.04,"displayUrl": "https://instagram.fvii2-1.fna.fbcdn.net/v/t51.82787-15/...","videoUrl": "https://instagram.fvii2-4.fna.fbcdn.net/o1/v/t2/f2/m86/...","ownerUsername": "example_creator","ownerFullName": "Example Creator","ownerId": "787132","locationName": "Dolomites, Italy","paidPartnership": false}
Media links are provided by Instagram and expire after a while, so download any files you need soon after the run.
How To Use
- Add one or more hashtags or keywords to
hashtags. - Set
resultsLimitto how many posts you need for each. - Optionally choose reels only, keyword search or related hashtags.
- Run the actor and open the dataset, or export it as JSON, CSV or Excel, or read it through the Apify API.
Pricing
This actor uses pay-per-event pricing, so you only pay for results you receive:
- Post — charged once for each post or reel saved to your dataset.
- Actor start — a small fixed fee of $0.001 per run.
Hashtags that return nothing are not charged. Platform usage is included in these prices. Current prices for each Apify plan are shown on the actor's Pricing tab.
Free plan
On the Apify free plan, each run processes up to 3 hashtags and up to 10 posts per hashtag. Upgrade to a paid Apify plan to remove these limits.
Best Practices
- Start with a small
resultsLimitto check the output quickly. - Use several specific hashtags rather than one broad one; each hashtag gives its own set of top posts.
- Turn on related hashtags when you need more posts on a topic, and use
inputUrlto filter the results.
FAQ
How many posts can I get per hashtag?
Instagram shows the public around 60 top posts per hashtag. Turn on related hashtags to collect more on the same topic.
Are these the most recent posts?
No. These are the top posts Instagram shows for the hashtag. The chronological "recent" feed is only visible to logged-in users.
Why are most results reels?
Instagram's top posts for a hashtag are mostly reels. Photos and carousels appear when Instagram ranks them among the top posts.
Why does a post come from a slightly different hashtag than I entered?
Some very broad hashtags have no public page of their own. In that case the actor collects the closest hashtags Instagram suggests (for example #sunsetview for #sunset), and inputUrl shows which one.
Can I collect stories?
No. Stories are only visible to logged-in users.
Responsible Use
Use this actor only for publicly available content, and make sure your use complies with applicable laws (including data protection rules such as GDPR) and Instagram's terms. Avoid collecting personal data you don't need.
Troubleshooting
- Check the run log: it names any hashtag that returned nothing.
- Try a more specific hashtag, or turn on keyword search for phrases.
- Test with a small
resultsLimitbefore large runs.