Instagram data API pricing compared (2026)
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.
Comparing Instagram data API pricing is harder than it looks, because almost nobody prices in the same unit. One provider charges per request, another per record, another in credits that buy different amounts depending on the endpoint. The headline rates are not comparable, and the gap between the headline and what you actually pay is usually larger than the gap between providers. This post normalises everything to one unit — US dollars per thousand results delivered — and then says what the normalisation hides.
The rates, normalised
| 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 |
| ScrapeCreators | $1.88 | $47.00 |
| EnsembleData | $2.00 | $100.00 |
| SocialCrawl | $6.00 | $19.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.
Every figure is the provider's own published rate, converted to dollars per thousand results, and the date it was checked is printed under the table. They move. Check before you rely on any of them.
What a unit actually contains
The single most common mistake in this comparison is treating a request and a result as the same thing. On a paged endpoint, one request can return four hundred comments or it can return three, depending on how many were there. Priced per request, those two calls cost the same; priced per result, they differ by a factor of a hundred. Which model is better for you depends entirely on your fill rate. If you are pulling comments from posts that reliably have hundreds, per-request pricing can be cheaper. If you are pulling profiles from a list where a third are private, deleted or region-locked, per-request pricing means paying full price for the third that return nothing. Most real workloads are the second kind, which is why per-result pricing usually wins in practice even when it loses on the headline rate.
The floor nobody puts in the comparison table
Several providers on this list have a monthly minimum or a subscription you pay whether you call them or not. Bright Data's growth tier and EnsembleData's monthly plan are both real commitments made before your first request. At high volume a floor is noise. At low volume it is your entire cost per result. A floor of a few hundred dollars a month against fifty thousand results works out at several dollars per thousand whatever the advertised rate says — many times the published figure, and an order of magnitude above everyone else on the list. The table above has the current floors. This matters most to exactly the people least likely to model it: teams evaluating, prototyping, or running something seasonal.
Free tiers, and what they are for
Free tiers in this category fall into three shapes. A one-off block of credits on sign-up, which is enough to check the response shape and nothing else. A monthly allowance, which is enough to run something small indefinitely. And a daily allowance that does not roll over, which is enough to test but structurally awkward to build on, because a quiet week is allowance you have already lost. For evaluation, what matters is not the size of the free tier but whether it exercises the endpoints you actually need. A hundred profile lookups tell you very little if your workload is comment threads.
How to actually choose
Take a hundred targets from your real workload — not clean ones, the actual list, including the private accounts and the deleted posts. Run them through two or three providers. Then compare three things: how many came back complete, how long the median run took, and what it cost. That test takes an afternoon and settles the question in a way no pricing page can, including this one. Fill rate in particular varies far more between providers than price does, and it is invisible until you run your own targets through.
Where we sit
SocialHolmes charges $0.50 per thousand results for anything that comes back as a list — comments, followers, posts, search results — and $1.00 per thousand for endpoints that answer with a single object. There is no subscription and no monthly minimum, the smallest top-up is $5, and credits do not expire. A run that returns fewer results than you asked for costs less, and a run that returns nothing costs nothing. That is the part we would point at rather than the headline rate: it is the difference that shows up on the invoice rather than on the pricing page.
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.