SocialHolmes

The best Instagram data APIs (2026)

5 min read

Posts are published in English only. The rest of the site reads in ten languages; these do not, because a translated archive is one nobody keeps current.

Instagram has no public API for data about accounts you do not control. Everyone in this comparison exists because of that one fact. Three numbers decide which of them you want: the rate, what the rate is charged per, and what you owe before your first call. Everything else is detail.

Us, in four numbers

$0.50
per 1,000 results — one rate, every endpoint
23
public Instagram endpoints
$0
for a run that comes back empty
1,000
free results on sign-up, no card

The rates, side by side

Provider Per 1,000 results Paid before your first call
SocialHolmes $0.50 None
HikerAPI $1.00 None
Apify $1.50 None
Bright Data $1.50 $499.00
EnsembleData $2.00 $100.00

Other providers' figures are their own published rates as at August 28, 2026, normalised to dollars per thousand results. They change often — check before you rely on them, and tell us if one is wrong.

Each provider's own published rate, normalised to dollars per thousand results, with the date it was checked printed underneath. Rates move. Check before you rely on any of them.

What each one is best at

Provider Best at
Instagram Graph API Free, official, and correct for accounts that have authorised your app. If it covers your job, stop reading — nothing here beats free.
Apify A marketplace rather than an API. Best if your targets go well beyond social media, or you want a scheduler and storage in the box.
Bright Data The enterprise answer. Best if procurement has a questionnaire, or you need a named account manager and contractual uptime.
HikerAPI The closest thing here to what we do, and long-established on Instagram specifically. Pay per request, no subscription.
EnsembleData Reliable and unusually deep on the odd corners of TikTok. Used by research teams for a reason.
SocialHolmes Cheapest per result, billed on rows delivered rather than calls made, with one schema across four platforms. Runs take minutes, not milliseconds.

The three things price tables hide

Request or result
One paged call can return four hundred comments or three. Priced per request those cost the same; priced per result they differ by a hundred times. Most real lists are full of private and deleted targets, which is why per-result usually wins in practice.
The monthly floor
A subscription you pay before your first call. At high volume it is noise. At fifty thousand results a month it is your entire cost per result, several times the advertised rate.
Fill rate
How many rows come back complete rather than empty. It varies more between providers than price does, and it is invisible until you run your own targets.

Which one to pick

Comment mining, hashtag sweeps, anything at volume
Cheapest per row wins outright. Nothing else moves the number.
A shortlist of two hundred profiles
The rate barely matters. The floor is your entire bill — pick something without one.
Targets beyond social media
Apify. This is a different product and it is the right one.
Procurement, SOC 2, a signed contract
Bright Data. Nobody else on this list is set up for it.
You need an answer in under a second
None of these, including us. A run takes minutes because of what it is; if your product blocks on the response, you want a cache in front of whichever one you choose.

Where we sit

One rate, $0.50 per thousand, whatever the endpoint returns. No subscription, no monthly minimum, smallest top-up is $5, and credits do not expire. A run that returns forty of the hundred rows you asked for costs forty. A run that returns nothing costs nothing. That is the difference that shows up on the invoice rather than on the pricing page. The only comparison that settles anything is your own: take a hundred targets off your real list — the private ones and the deleted ones included — and run them through two or three of these. It takes an afternoon.

Questions people ask

Is there an official Instagram API for public data?
No. The Graph API serves accounts that have authorised your app, and nothing else. Public data about accounts you do not control is not available through it at any volume, which is the reason this market exists.
What does Instagram data cost per 1,000 results?
Between roughly fifty cents and two dollars per thousand across the providers compared here, before any monthly floor. The table above carries the current figures and the date each was checked.
Which Instagram API has the best free tier?
It depends on shape rather than size. A one-off block of credits checks the response shape; a monthly allowance runs something small forever; a daily allowance that does not roll over is awkward to build on, because a quiet week is allowance already lost. Ours is 1,000 results on sign-up, no card, no expiry.
Is scraping Instagram legal?
Collecting public data is broadly lawful in most jurisdictions, and it is still your responsibility: what you collect, what you keep, and what you do with personal data are governed by GDPR and its equivalents rather than by anyone's terms of service. Take your own advice on your own use case.
Can I get comments and reels, not just profiles?
Yes. Twenty-three public Instagram endpoints here cover comments, posts, reels, stories, highlights, tagged posts, hashtags, locations, search and creator discovery, all on one schema.
Is per-request or per-result billing cheaper?
Per result, on almost any real workload. Per-request pricing only wins when your pages are reliably full, and lists of real handles are not — private, deleted and region-locked targets return nothing and still cost a full request.
How fast is a run?
Minutes, not milliseconds. The API is asynchronous by nature: you get a run id immediately, then either poll it or take a signed webhook when it finishes. If you need a synchronous answer, cache.
Which is cheapest at scale?
At six figures of results a month, per-row rate is the whole sum and the table above ranks it. Below that, the monthly floor decides it, and a provider with no floor beats a cheaper rate carrying one.

Try it on your own targets

The only comparison that settles anything is your own. A new account gets 1,000 credits, needs no card, and runs on the same endpoints and rate as a paying one.