Instagram Hashtag Scraper avatar

Instagram Hashtag Scraper

Pricing

from $0.50 / 1,000 posts

Go to Apify Store
Instagram Hashtag Scraper

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

Coder

Maintained by Community

Actor 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

  • hashtags One entry per row, with or without #. Hashtag links such as https://www.instagram.com/explore/tags/travel/ also work.
  • resultsLimit How many posts to collect for each hashtag.
  • resultsType posts for every top post, reels for reels only.
  • keywordSearch Treats each entry as a phrase (coffee shop) instead of a single hashtag (#coffeeshop).
  • includeRelatedHashtags Also 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

FieldDescription
url, shortCode, idPost link and identifiers
type, productTypeImage, Video or Sidecar (carousel); clips for reels
caption, hashtags, mentionsPost text and the hashtags and accounts it mentions
timestampPublish time (ISO 8601, UTC)
likesCount, commentsCountEngagement counts
videoPlayCount, videoDurationPlay count and length for reels and videos
displayUrl, images, videoUrl, audioUrlMedia links
ownerUsername, ownerFullName, ownerIdWho published the post
taggedUsers, coauthorProducersTagged accounts and collaborators
locationName, locationIdTagged location, when the post has one
paidPartnershipWhether the post is a paid partnership
inputUrlThe 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

  1. Add one or more hashtags or keywords to hashtags.
  2. Set resultsLimit to how many posts you need for each.
  3. Optionally choose reels only, keyword search or related hashtags.
  4. 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 resultsLimit to 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 inputUrl to 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 resultsLimit before large runs.