Instagram Hashtag Scraper avatar

Instagram Hashtag Scraper

Pricing

from $1.00 / 1,000 results

Go to Apify Store
Instagram Hashtag Scraper

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

Data WiKi

Maintained by Community

Actor stats

0

Bookmarked

69

Total users

59

Monthly active users

3 days ago

Last modified

Categories

Features

Limited permissions

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 as new york and 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.

FieldDescriptionExample
id, code, urlMedia id, short code and link of the reelExampleCode1
createdAtWhen the reel was posted (UTC, ISO 8601)2026-01-01T12:00:00.000Z
likeCount, commentCountLikes and comments; empty when likes are hidden or details are off1200, 45
isLikeAndViewCountsDisabledWhether the creator hid like and view countsfalse
caption, hashtags, mentionsCaption text, plus the hashtags and mentions found in it["travel", "gym"]
ownerAccount id, username, full name, picture, private and verified flags; followers, following, posts count, bio and bio links with creator statsexample_creator
coowners, taggedUsersCollaborating accounts and tagged accounts[]
locationTagged place with id, name and coordinates (slug, address and city are always empty)Example Place
videoLink to the video file (expires after a while), size, duration and playCount50000
imageCover image link and size640 x 1136
musicInfoTrack title, artist and whether the sound is original audioOriginal audio
languageCaption language code detected by the Actor; can be empty for short captionsen
isSponsored, isPaidPartnershipPaid partnership or ad hashtag detected; Instagram's paid-partnership flagfalse
engagementCountLikes plus comments1245
engagementRate, viralityRatio(Likes + comments) divided by followers; plays divided by followers. Both need creator statsnull
contactsEmails and web links written in the caption{"emails": [], "urls": []}
accessibilityCaption, hasAudio, captionIsEdited, isAiGenerated, topicsExtra details Instagram shows for the reeltrue
searchTerm, rank, foundViaThe term that found the reel, its position, and direct or related:<term>travel, 1, direct
isPinned, isCarousel, isVideoAlways empty, always false and always true, because hashtag pages list reels onlytrue

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, engagementRate and viralityRatio need "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 musicInfo field 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

  1. Create a free Apify account and open Instagram Hashtag Scraper in the Apify Store.
  2. Add hashtags, keywords or hashtag links to Hashtags, keywords or links, one per line, to scrape Instagram reels by hashtag.
  3. Set Reels per search term (default 10) and, if you want, Maximum reels in total.
  4. Add filters or choose an Order of results, then switch on Creator stats if you need followers.
  5. Click Start and follow the progress in the log and the status message.
  6. 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.

EventName in the Pricing tabPrice
Reel savedmain_result (Results, primary event)Free $0.0015, Bronze $0.00135, Silver $0.0012, Gold, Platinum and Diamond $0.001 per reel
Run startapify-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 tierPrice per reelCalculationPer 1,000 reels
Free$0.00151,000 x $0.0015$1.50
Bronze$0.001351,000 x $0.00135$1.35
Silver$0.00121,000 x $0.0012$1.20
Gold, Platinum, Diamond$0.0011,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. Use maxItems to stop after a total number of reels, and expandRelated (default 0) to also search that many related keywords per term.
  • Order of results: sortBy is feed, engagement, plays or recent. 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 urls works as an Instagram keyword search tool for reels.
  • Dates: postedAfter and postedBefore take YYYY-MM-DD or a relative value such as 7 days, 2 weeks, 3 months or 1 year.
  • Caption filters: mustIncludeHashtags needs all listed hashtags, anyOfHashtags at least one and excludeHashtags drops reels with any of them. languages takes codes such as en, es, pt, fr, de, ar or ru.
  • Switches that add work: enrichDetails (default on) costs one extra request per reel and enrichOwners (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 incremental on, runs that share an incrementalKey skip reels that earlier runs already returned.
  • Proxy: proxyConfiguration is 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, plays and recent rank 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. language is a guess from the caption and isSponsored is 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:

StatusMeaningWhat to do
okThe term was read normallyNothing
not_indexedInstagram shows no public reels for this termTry a more common phrase or a related keyword
depth_capInstagram offered fewer reels than you asked forAdd related keywords or more terms
cursor_stuckNo new reels appeared, so the term stopped earlyRun again later or add terms
error, unreachableThe term could not be readRun again later, or set a proxy in the input
invalid_linkThe entry was a link that is not a hashtag or keyword linkUse 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 urls to 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

ActorWhat it extractsWhen to use it
Instagram Comment ScraperComments on public Instagram posts and reelsWhen you want to read what people say under the reels you found
Douyin search scraper for keyword and hashtag videosDouyin search results by keyword, hashtag or linkWhen your short-video research also covers Douyin
Douyin creator profile scraperPublic Douyin creator profiles with followers, posts and hashtagsWhen you compare creators on Douyin
Facebook comment scraper for sentiment analysisComments and replies from public Facebook posts and reelsWhen you need audience reactions on Facebook
LinkedIn profile data scraperCareer data for people you found elsewhereYou found a contact and want their public career profile.
Pinterest search scraperPins, videos, boards and creators found by Pinterest keyword searchYou research visual trends on Pinterest as well as Instagram
TikTok videos by hashtag, profile or keywordPublic TikTok videos with plays, likes, shares, author stats, comments and transcriptsWhen your hashtag research also covers TikTok
Threads creator profile dataFollowers, bio, verification and posts for Threads accountsYou want to check the same creators on Threads after finding them on Instagram
Threads hashtag searchThreads posts found by hashtag or keywordYou run the same hashtag research on Threads
Facebook group discoveryFacebook groups for a keyword, with member count and privacyYou run the same topic research on Facebook
Instagram hashtag analytics with counts and related keywordsTotal count, difficulty score, competition level and related keywords for hashtags and keywordsWhen you want the numbers around a hashtag instead of the reels
Spotify monthly listeners for artistsMonthly listeners, followers, top cities and play counts of artists listed by link or nameA 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.

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.

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.