Blog/Guides
10 min read

The Apify Instagram Scraper: Which Actor to Use in 2026

Apify has five Instagram scrapers, not one. Here is which actor to use for reels, profiles, hashtags, and search, and how to run them metered per call.

The Apify Instagram Scraper: Which Actor to Use in 2026

We pull a lot of Instagram data. Reels for trend tracking, profiles for creator scouting, hashtag feeds for campaign monitoring, and every time someone on the team says "just use the Apify Instagram scraper," the same small confusion follows. There is no single Apify Instagram scraper. There are five, they take different inputs, they return different records, and picking the wrong one means paying for fields you never read or, worse, starting from the wrong unit entirely.

So the real question behind "apify instagram scraper" is two questions stacked. Which actor fits the job, and where do you run it: directly on Apify, or metered per call on Monid. This guide answers both, and yes, you are on the Monid blog, so option two is ours. We will be straight about the case where running direct on Apify is the better call.

"The Apify Instagram scraper" is not one tool. It is a family of five actors, and the fastest way to overpay is to reach for the wrong member.

Which Apify Instagram scraper do you actually need?

Start from the unit you already have in hand. A username points you at the post or profile scraper. A hashtag or a sound points you at the hashtag scraper. A vague "who even posts about this" points you at the search scraper to find the handles first. Here is the whole family, mapped to the job each one is built for.

ActorTakesReturnsReach for it when
apify/instagram-post-scraperusernames or post URLsposts and reels with engagement, captions, audio, commentsyou want a profile's recent reels and posts
apify/instagram-hashtag-scraperhashtags or keywordsposts or reels for a tag, with engagementyou track a trend or a sound, not one account
apify/instagram-profile-scraperusernames, IDs, or URLsprofile bio, follower counts, recent mediayou need the account itself, not every post
apify/instagram-search-scrapera search termmatching profiles, places, and hashtagsyou are discovering accounts to scrape next
apify/instagram-api-scraperURLs or a query, no loginposts, profiles, places, and hashtagsyou want one endpoint that covers several shapes

The Apify Instagram scraper family mapped to jobs: post-scraper for posts and reels from a profile, hashtag-scraper for reels by hashtag or keyword, profile-scraper for a bio and recent media, search-scraper to find profiles and places and hashtags, and api-scraper for URL or query lookups with no login
The Apify Instagram scraper family mapped to jobs: post-scraper for posts and reels from a profile, hashtag-scraper for reels by hashtag or keyword, profile-scraper for a bio and recent media, search-scraper to find profiles and places and hashtags, and api-scraper for URL or query lookups with no login

The rule of thumb that saves the most money: inspecting an actor's exact fields and price is free on Monid, so when two look close, read both schemas before you spend anything. Below is the short version of what each one is for.

The post scraper is the default for reels and posts

If you have a handle and you want its recent reels and posts, apify/instagram-post-scraper is the one to reach for. It takes an array of usernames, profile URLs, or exact post URLs, so account sweeps and single-post lookups share one call shape, and resultsLimit caps how many posts come back per profile. Reels arrive inside the same post stream, tagged by type, with video view and play counts on the reel records.

monid inspect -p apify -e /apify/instagram-post-scraper
monid run -p apify -e /apify/instagram-post-scraper -i '{"username":["natgeo"],"resultsLimit":20}' -w

The hashtag scraper starts from a tag, not an account

Some jobs are not about a known account at all. You want every reel riding a sound, a branded hashtag, or a campaign tag, no matter who posts it. apify/instagram-hashtag-scraper starts from the tag, and it takes a resultsType of reels so you get video records rather than a mixed feed.

monid run -p apify -e /apify/instagram-hashtag-scraper -i '{"hashtags":["cleantok"],"resultsType":"reels","resultsLimit":20}' -w

Each entry in hashtags is one search term, so add tags as separate array items rather than stringing words onto one line. Flip keywordSearch to true when you want a multi-word phrase instead of a single tag, which is how you catch content that never bothered to hashtag the thing it is about.

Profile, search, and api cover the rest

The apify/instagram-profile-scraper returns the account itself, bio, counts, and a slice of recent media, when you need the profile and not every post it ever made. The apify/instagram-search-scraper turns a plain search term into matching profiles, places, and hashtags, which is the step before scraping when you do not yet know the handles. And the apify/instagram-api-scraper is the generalist: posts, profiles, places, or hashtags by URL or query with no login, useful when one endpoint that covers several shapes beats wiring up four.

Run them on Apify, or metered on Monid?

Here is the honest fork, and it is the real reason this page exists. These are Apify's actors, maintained by Apify's scraping specialists, and you can run every one of them directly on the Apify platform. You get a console, scheduling, storage, and Apify's own integrations. If Instagram scraping is a standing part of your product and you run it every day at volume, that platform is worth living inside, and going direct is the right call. We will not pretend otherwise.

The friction shows up at the other end of the usage curve. Running direct means an Apify account and a plan: on the hashtag actor, for instance, free usage covers just the first page of results, and full runs sit behind a paid tier. That is fine for steady heavy use and annoying for the far more common shape, which is bursty. You want two hundred creators' reels this week for a competitive teardown, then nothing for a month. Paying a monthly floor to idle between bursts is exactly the cost that never makes it into the estimate.

Deciding where to run an Apify Instagram scraper: for your own connected accounts the Instagram Graph API works after app review; for sustained daily volume run direct on the Apify platform; for bursty or occasional pulls run the same actors metered per call on Monid
Deciding where to run an Apify Instagram scraper: for your own connected accounts the Instagram Graph API works after app review; for sustained daily volume run direct on the Apify platform; for bursty or occasional pulls run the same actors metered per call on Monid

That bursty shape is what Monid is for. It is a pay-per-call data API marketplace: one key and one wallet reach hundreds of external data endpoints, the Apify Instagram actors among them, with the price shown before anything runs and zero cost when idle. You do not hold an Apify account, a plan, or a proxy pool. Discovering an endpoint and reading its schema are free, so you can inspect all five actors, compare their fields, and only pay when a run actually fires.

Point an agent at it and it learns the whole discover, inspect, run loop on its own from set up https://monid.ai/SKILL.md. For a human, the CLI is two lines:

npm install -g @monid-ai/cli
monid keys add --label main --key <your-api-key>

The short version: run direct on Apify when Instagram data is a daily fixture of your product, and run the same actors metered on Monid when your usage is spiky, occasional, or spread across an agent that would rather call one endpoint than manage a vendor account.

What the records actually give you

Whichever way you run it, the value is in the fields, and the post scraper's records are the richest of the family. One call fans out into everything that makes a reel or post worth analyzing.

One Instagram record fans out into the fields that matter: like and comment counts, video view and play counts, caption and hashtags and mentions, audio track and author, thumbnail and media URLs, a sample of recent comments, and pinned or sponsored or paid-partnership flags
One Instagram record fans out into the fields that matter: like and comment counts, video view and play counts, caption and hashtags and mentions, audio track and author, thumbnail and media URLs, a sample of recent comments, and pinned or sponsored or paid-partnership flags

The engagement block is the one that earns its keep: like and comment counts, and for reels the video view and play counts, which let you rank by median views instead of follower count, the single best filter against a bought audience. Captions, hashtags, and mentions are the text you feed straight to an LLM for topic and claim analysis without touching a video file. Audio track and author, on the detailed data level, are how you catch a sound breaking out before the videos riding it do. Thumbnails, media URLs, and video duration cover the reels you decide to pull down, a sample of recent comments surfaces objections and copycats, and pinned, sponsored, and paid-partnership flags let you separate organic reach from promoted.

Note the detail-level control on the post scraper. Basic data is faster and cheaper; the detailed package adds alt text, latest comments, music info, and video play count as a paid add-on, so you pay for depth only when a record earns it.

What it costs, and the one honest caveat

We do not print rates, because the number that matters is cost per usable record and live magnitudes sit at monid.ai/tools. The reasoning that survives any price change: metered on Monid, each actor bills in the fraction-of-a-cent range, so sweeping a few hundred creators lands in the low single-digit dollars and drops to zero the moment you stop. Direct on Apify, the marginal cost per record is similar or lower, but it sits on top of a plan you pay whether you run it or not. The crossover is volume: past a high, steady daily load the plan floor divided across records finally dips below the per-call price, and below that load metered wins.

The caveat that applies to all five actors: public scraping reflects what a logged-out view can see, which is not identical to the account owner's own analytics. View and play counts on reels are the numbers Instagram exposes publicly, and they can lag or differ from a creator's private insights. Coverage also depends on the account being public. A private profile returns nothing through any scraper, and that is correct behavior, not a gap to route around. There is one path that does return an owner's first-party insights, and it is not a scraper at all: the Instagram Graph API, which reads media and insights only for professional accounts that have connected to your Meta app after app review. It is the right tool for a dashboard of accounts you own and the wrong tool for everything else, because it cannot return a creator or competitor who never installed your app.

Common questions about the Apify Instagram scraper

Which Apify Instagram scraper is best for reels? For reels from a specific account, apify/instagram-post-scraper returns them inside the post stream with video view and play counts. For reels across a hashtag, sound, or keyword, apify/instagram-hashtag-scraper with resultsType set to reels is the right member of the family.

Do I need an Apify account to use an Apify Instagram scraper? Only if you run direct on the Apify platform. Metered on Monid, you integrate once, fund one pay-as-you-go wallet, and the same Apify actors run behind the endpoint with no separate Apify account or plan.

Can these scrapers pull private profiles? No. Every Instagram scraper reads only what a public, logged-out view can see. A private account returns nothing, which is correct behavior rather than a coverage gap.

How are the actors billed? Per call or per result depending on the actor, always in the fraction-of-a-cent range and always shown before anything runs. Discovering and inspecting an endpoint on Monid are free; only the run bills your wallet. Current magnitudes for every actor are at monid.ai/tools.

The best Apify Instagram scraper is the one that matches the unit you already hold and the shape of your usage: the post scraper for a handle, the hashtag scraper for a tag or sound, and metered per call when your work comes in bursts rather than a steady daily stream.

Last updated August 2026.

apify instagram scraperinstagramweb-scrapingagents