Instagram Hashtag Scraper — Hashtag Search, Top & Recent Posts avatar

Instagram Hashtag Scraper — Hashtag Search, Top & Recent Posts

Pricing

from $1.75 / 1,000 target checkeds

Go to Apify Store
Instagram Hashtag Scraper — Hashtag Search, Top & Recent Posts

Instagram Hashtag Scraper — Hashtag Search, Top & Recent Posts

Scrape posts under any Instagram hashtag: author, caption, hashtags, likes, comments, plays, media links and location. Top posts or most recent, one row per post. No login, no run fee.

Pricing

from $1.75 / 1,000 target checkeds

Rating

0.0

(0)

Developer

Matvey

Matvey

Maintained by Community

Actor stats

0

Bookmarked

30

Total users

18

Monthly active users

3 hours ago

Last modified

Features

Limited permissions

Share

Instagram Posts Scraper turns public Instagram profiles, post links or hashtags into a flat table. One row per post or per comment: caption, hashtags and mentions pulled out of it, likes, comments, plays, the media file link, location and the author. No login, no cookies, no Instagram account of yours at risk.

Three modes, one Actor

ModeYou giveOne row is
👤 Posts of a profilehandles or profile linksone post
💬 Comments under a postpost or reel linksone comment
#️⃣ Posts under a hashtaghashtagsone post

Leave What to collect empty and the Actor does what its name says: Instagram Posts Scraper collects profile posts, Instagram Comments Scraper collects comments, Instagram Hashtag Scraper collects hashtag posts. Video posts carry their play count and duration.

About hashtag order, as of 10 November 2026

Instagram stopped serving the two tabs a hashtag page used to have. There is now one hashtag feed, ranked by relevance — the old "Recent" tab is gone and has no replacement. Pick Most recent and we sort the posts that feed returned newest first, and put a free note row in the dataset saying so. We do not relabel a relevance ranking as a date ranking.

Why this needs us at all

Instagram shows none of this to a logged-out visitor: the profile page answers with a redirect to the login screen and its internal API answers 401 require_login. Checked on 28 October 2026 from a plain server and again through a residential address — same answer both times. This Actor reads the data through a paid source that holds the sessions, so you never hand over your own cookies and never get an account flagged.

What it costs

Two charges, both stated before you press Start:

What is chargedWhen
One targetOnce per profile or post link in your list — even if it turns out to be private, empty or deleted. A hashtag is charged only when it returns posts
One rowFor every post or comment actually delivered

There is also a run fee, and it is the smallest one in this niche — 30% below the cheapest competitor charges to start a run.

On the Apify Free plan

A run collects the first target in your list in full — every row it has, not a sample — and nothing is charged at all. The remaining targets come back as a free note saying they were left alone. So you can see the real shape and the real volume of the data before you pay anything.

The reason the rest is held back is plain: every target costs us a request to a paid data source, and the free plan does not cover it.

Why a target is charged even when it is empty: looking it up costs us one request to the data source whether it returns sixty posts or none. A private profile and a post with comments turned off are normal answers, not failures.

Output

{
"type": "post",
"postUrl": "https://www.instagram.com/p/ABC123/",
"ownerUsername": "natgeo",
"takenAt": "2026-10-27T14:07:48.000Z",
"caption": "…",
"hashtags": ["wildlife", "photography"],
"mentions": ["natgeotravel"],
"likeCount": 27400,
"commentCount": 312,
"playCount": 905718,
"imageUrl": "https://…",
"videoUrl": null,
"locationName": "Serengeti"
}

Comment rows carry the comment text, its author, when it was written, how many likes and replies it has, and whether the author of the post wrote it.

What it does not do

  • Private accounts. The target is charged like any other lookup, no rows come back.
  • Likes of a private post, or who viewed a story. Instagram does not publish those.
  • Posting, liking or replying. This Actor only reads.

For AI agents

  • Minimal input: {"mode": "posts", "usernames": ["natgeo"]} — or {"mode": "comments", "postUrls": ["https://www.instagram.com/p/DemLxMGgoL_/"]}, or {"mode": "hashtags", "hashtags": ["wildlife"]}.
  • Returns: one row per post (posts, hashtags) or per comment (comments); maxItemsPerTarget caps each profile, post or hashtag. A target that gives nothing — private account, comments off, hidden hashtag — gets one free type: "notice" row with the reason, also when other targets in the same run returned rows; filter it out with type != "notice".
  • Time: about 10 seconds for 20 comments of one post, 30–50 seconds for 60 posts of one profile. A few targets — call synchronously (run-sync-get-dataset-items); long lists — start the run and poll it.

Errors and empty runs

An empty run always says why in its own words — private account, comments turned off, hashtag hidden — in a free notice row. Filter it out with type != "notice". If the data source stops answering, the run passes its answer through word for word instead of guessing.

Your feedback

Found a bug or a missing field? Open an issue on the Actor page. Problems reported by buyers are fixed the same day.