Best Instagram API Providers in 2026 (Published Prices Compared)

By Anurag Pathak · · 15 min read

Every Instagram API price list you can find is quoting a different thing. One vendor sells a request, another sells a record, a third sells a result that can be a single comment, a fourth sells a credit and bills ten of them per call, and a fifth sells an Instagram lookup off the same ladder it uses for Google web search. Put those headline numbers in a column and the column tells you nothing. This post puts each vendor's published rate next to the unit it actually bills, then normalises the ones that can be normalised and leaves the rest empty on purpose. Checked 2026-09-16.

I read every rate below off the vendor's own live pricing page on 16 September 2026 and linked each one inline. I ran no benchmark and I make no claim about anyone's speed or success rate — this is a pricing, billing-policy and published-endpoint comparison built from vendor documentation, not from measurement. Where a vendor publishes no rate, the row says so instead of carrying a number from somewhere else. Serpent is the API this site sells, and it appears here as one row among several.

Short answer: per-request vendors sit between $0.60 and $2.46 per 1,000 requests; the per-item vendor is cheap per item and expensive per profile, because the post grid beside a profile is billed item by item; and the Serpent Instagram API is $0.40 per 1,000 calls at Default, falling to $0.28 at Scale, with the recent-post grid included at no extra charge. Two headline rates in this market are not rates you can buy on signup: Apify's from $1.50 needs the $999-a-month Business plan, and HikerAPI's $0.60 needs a $599 prepaid balance. One vendor documents an Instagram endpoint and publishes no price for it anywhere I could read, and one sells a profile endpoint with no posts, reels or comments product beside it.

How I built this Instagram API comparison

Four rules, and they are the reason this table looks different from the ones that rank above it.

The same four rules produced the SERP API pricing comparison and the Reddit provider comparison, if you want to see how the method behaves on a surface where the units differ less.

The Instagram API comparison table: published rates, per 1,000 units

Read the second column first. The rates in columns three and four are only comparable to each other within a unit, and the next two sections do the conversion work that makes them comparable across units.

Prices checked 2026-09-16 against each vendor's own pricing page, linked in the first column. Named exclusions: Scrapingdog has no priced row because it publishes no Instagram credit cost; Apify hosts several third-party Instagram actors at different prices and only the one Apify publishes itself is priced here; Apify's Starter rung is omitted because Apify's own two pages disagree on what the Starter plan costs; Meta's Graph API has no published per-call rate; and every vendor's contact-sales tier is excluded from the lowest-published column. Rates in this category move without notice, so re-verify before you commit a budget.
ProviderWhat one billable unit isEntry rate, $ / 1,000 unitsLowest published rate, $ / 1,000 unitsWhat that rate requiresFree allowance
Serpent Instagram API/api/social/instagram/profile 1 API call. The profile and the recent-post grid are one call at one rate. $0.40 $0.28 A one-time $500 deposit, spendable as balance. No monthly plan, and it does not expire. A free allowance on every new account, usable on any endpoint
Serpent Instagram API — post-details band, include_post_details 1 API call, with per-post captions, like counts, comment counts and view counts $4.00 $2.80 The same one-time $500 deposit The same free allowance
HikerAPI — Instagram API 1 request. The page does not state how many items one request returns. $1.00 $0.60 A $599 prepaid balance. No monthly fee, and the rate stays on the account once reached. 100 free requests on signup, no card
HasData — Instagram Profile and Instagram Posts Scraper APIs 1 request, drawn from a monthly credit pool $2.46 $0.69 The Growth plan, $208 every month. Entry is the $49 Startup plan. 1,000 credits a month on the free plan
Apifyapify/instagram-scraper 1 result, and one result is one post, reel, comment, profile, hashtag or place $2.70 $1.50 The Business plan, $999 every month, with 666,000 results included $5 in platform usage on the free plan
Bright Data — Instagram Scraper API 1 record. The page does not define how many records a profile produces. $1.50 $1.30 The Scale plan, $499 every month, with 384,000 records included 5,000 records a month, no card
SerpApi — Instagram Profile API 1 search, off the single ladder it uses for every engine in its catalogue $25.00 $1.96 The Cloud 54M plan, $106,050 every month. Above that, a contact-sales rung with no printed rate. 250 searches a month
Scrapingdog — Instagram Scraper API 1 request, at a credit cost the vendor does not publish Not published Not published Unknown. Instagram is absent from the per-endpoint credit table. 200 request credits
Instagram Graph API (Meta) — Business Discovery The official route. Meta publishes no per-call unit. No published rate No published rate Advanced Access, which Meta's documentation says requires Business Verification Standard Access, limited to app users with a role on your app
Writing it yourself Your own code, your own infrastructure, your own engineering time No licence fee No licence fee Nothing in fees. Everything in maintenance. n/a

Every rate above is the vendor's own published figure, read on 2026-09-16 from the page linked in the first column. Checked 2026-09-16. Two cells are our arithmetic rather than a printed rate, and here it is. SerpApi publishes plan prices rather than per-1,000 rates, so its entry cell is the $25 Starter plan, which buys 1,000 searches a month, and its floor cell is the $106,050 Cloud 54M plan, which buys 54,000,000 searches a month and therefore works out at $1.96 per 1,000. The Bright Data cell is the same kind of average: its $499-a-month Scale plan includes 384,000 records, which is $1.30 per 1,000 records — the same figure it prints for additional records beyond that allowance, so the averaged and marginal rates happen to agree. Every other cell in columns three and four is a number the vendor prints itself. No benchmark, latency claim or success-rate claim appears anywhere in this post.

Three things in that table are worth saying out loud before the conversions start. HikerAPI is genuinely cheaper than us per request at its floor if your workload is a stream of single lookups and you can park $599 up front: $0.60 per 1,000 requests is a real published number with no monthly fee attached to it, and a prepaid balance that never expires is a friendlier commitment than a subscription. HasData is close on its own terms too, at $0.69 per 1,000 requests, and it prints its per-1,000 figures itself rather than making you divide a plan price by a credit allowance. And SerpApi is the only vendor here whose Instagram price is the same as its Google price — it publishes one ladder and no per-engine surcharge, which is a real simplification if Instagram is a small part of a mostly-search bill.

A black Polaroid SX-70 instant camera lying on a wooden floor with four instant prints fanned out around it

Three units in one table: a request, a record and a result

This is the part that decides your bill, and it is the part every comparison in this category skips.

A request

HikerAPI, HasData and Scrapingdog bill per request. One HTTP call, one charge, whatever comes back inside it. That is the friendliest unit to reason about and the hardest to compare, because the value of a request depends entirely on how much one call carries — and two of those three never say. HasData's own credit arithmetic is at least legible: its Startup plan is $49 a month for 200,000 credits, and its documentation puts a standard request at ten credits, which is exactly why its Instagram columns print $2.46, $0.99 and $0.69 rather than round numbers. HikerAPI publishes the rate and not the payload size.

A record

Bright Data bills per record on its Web Scraper API, and Instagram is one of the sites on that card. A record is a row in the dataset it returns. The Instagram product page lists four endpoints — Profiles, Posts, Reels and Comments — and prices all of them off the same card, but it does not say how many records a profile with its post grid produces. If a profile is one record you are paying $1.50 per 1,000 profiles at the pay-as-you-go rate. If the grid comes back as rows too, you are paying for those rows. That is a big enough difference to be worth an email before you budget, and it is why the bundle cell for this row is empty below.

A result

Apify is the most explicit and, for a profile-shaped workload, the most expensive. On apify/instagram-scraper one result is one item: a post, a reel, a comment, a profile, a hashtag or a place. The actor's own documentation says so. That makes its $1.50 headline look like the cheapest number on the page and makes it the dearest way to collect a profile with its grid, because the grid is twelve more results. Per item Apify is reasonable. Per profile it is roughly two orders of magnitude off the per-call options. Neither statement is a criticism of the product — it is built to sweep hashtags and comment threads, where per-item billing is exactly the right shape.

A search off a shared ladder

SerpApi sells an Instagram Profile API and charges for it out of the same search allowance that covers its other 111 APIs. There is no separate Instagram rate card and no per-engine surcharge printed anywhere in the catalogue. The consequence is unusual: Instagram is the same price as a Google search on SerpApi, which is expensive if Instagram is all you want and convenient if it is a rounding error next to your search volume.

Normalising to one job: a profile and its recent posts

Almost nobody wants a bare profile. The job that actually gets run is one public profile plus the recent-post grid Instagram renders on it, which is normally about twelve posts — enough to see posting cadence and, if the vendor opens the posts, engagement. Call that one bundle. Here is what 1,000 bundles cost where the arithmetic can be done honestly.

Checked 2026-09-16. One bundle is one public profile plus its recent-post grid, about twelve posts. A cell is left empty wherever the vendor's own pages do not say how many billable units that bundle consumes — an empty cell here is a finding about the vendor's pricing page, not an omission. Excluded: Meta's Graph API, which publishes no per-call unit at all, and the write-it-yourself row, which has no licence fee to convert.
OptionHow many billable units one bundle costs$ / 1,000 bundles, entry$ / 1,000 bundles, lowest published
Serpent Instagram API 1 call. The grid is returned with the profile at the same rate, uncapped at whatever the profile page renders. $0.40 $0.28
HasData Instagram Profile Scraper API 1 request, if one request returns the profile and its grid. See the note below the table. $2.46 $0.69
Apify apify/instagram-scraper 13 results: one profile plus twelve posts, each billed as its own item $35.10 $19.50
HikerAPI Instagram API Not comparable. The pricing page states a per-request rate and never states how many items one request returns.
Bright Data Instagram Scraper API Not comparable. The page bills records and does not define how many records a profile with its grid produces.
SerpApi Instagram Profile API Cannot be assembled. The catalogue lists an Instagram Profile API and no posts, reels or comments endpoint beside it.
Scrapingdog Instagram Scraper API Not comparable. No credit cost is published, so no per-request price exists to convert.

Checked 2026-09-16, and here is the arithmetic. Apify prices apify/instagram-scraper at $2.70 per 1,000 results on the Free plan and $1.50 per 1,000 results on the $999-a-month Business plan. One result is one item, so a profile with a twelve-post grid is thirteen results, and thirteen of each rate gives $35.10 per 1,000 bundles and $19.50 per 1,000 bundles respectively. Serpent's row is a straight copy of the per-call rate, because the grid is not a separate charge. The HasData row carries one assumption and it is flagged rather than buried: HasData's pricing page prints a per-request rate but does not itself state what one Instagram request returns, and the profile-plus-grid reading comes from an earlier reading of HasData's own product page on 2026-09-08. If that guarantee matters to your budget, confirm it in their docs before you commit. Four rows are empty because the arithmetic cannot be done from anything the vendor publishes.

One number in that table deliberately differs from what the Serpent Instagram API page currently shows. That page converts HikerAPI to a bundle price on the basis that pagination is billed separately, so a profile with its posts is at least two requests. HikerAPI's pricing page, re-read on 16 September 2026, does not state that, and the rule in this post is that a cell stays empty rather than carry an assumption. The Apify bundle arithmetic is unchanged and agrees with the landing page exactly: $35.10 per 1,000 bundles at the Free-plan rate and $19.50 per 1,000 bundles at the Business-plan rate.

What a failed request costs you, which nobody puts in a comparison

Price per 1,000 is the number everyone publishes. Price per 1,000 attempts is the number you actually pay, and the gap between them is entirely made of 4xx responses: dead handles in an old list, accounts that went private, accounts that were deleted, handles with a typo. On a list of 50,000 creators scraped from somewhere six months ago, that is not a rounding error.

Billing policy as each vendor states it, checked 2026-09-16. Quoted verbatim from the vendor's own page where the vendor states a policy. Excluded: every vendor that states no policy on the pages read gets a row saying so rather than an inferred answer, because silence about error billing is not the same as billing only for success.
OptionDoes a 4xx cost you money?What the vendor's page says
HikerAPI Yes. 400, 403 and 404 are all billable. “We charge for any successful response (such as 200, 400, 403, 404). Deprecated endpoints respond with 410 Gone and are never charged. For 50x errors we do not charge.”
Bright Data No, on the stated policy. “Pay only for success”, printed on the Web Scraper API pricing card.
Apify apify/instagram-scraper You pay per event, so a run that produces no items produces no item charges. “This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.”
Serpent Instagram API A bad parameter is free. A handle that genuinely does not exist is charged. Everything else is refunded. A value that is not a valid handle answers 400 before any credit is taken, so there is nothing to refund and nothing is silently repaired into a different account. A handle that does not resolve answers 404 and is charged, because establishing that an account does not exist is a real answer. Every other non-2xx response is refunded automatically.
SerpApi No policy on 4xx that I could read, but repeats are free. “Cached searches are free, and are not counted towards your searches per month.”
HasData Not stated on the pages read. Neither pricing page states an error-billing policy.
Scrapingdog Not stated on the pages read. No Instagram credit cost is published, so no error policy can be priced either.

Checked 2026-09-16, quoted from each vendor's own page. The arithmetic that makes this matter: on a list where one handle in five has gone dead, a vendor that bills 4xx responses is charging you for 200 calls in every 1,000 that return nothing usable. At HikerAPI's Ultra rate that is a fifth of the bill; at its Standard rate it is a fifth of a bigger bill. A vendor that refunds those calls is effectively 20 percent cheaper on the same list at the same headline rate, and no headline rate anywhere shows that. We wrote up the general shape of this problem in how providers bill failed requests.

None of this makes HikerAPI a bad deal — it is the only vendor here that states its 4xx policy plainly enough to be quoted, which is more than most of the field does, and at $0.60 per 1,000 requests it has room for the overhead. It does mean that comparing its floor to anyone else's floor without adjusting for your list's death rate will understate what you pay. The same trap, in its more general form, is the subject of the hidden costs of a SERP API bill.

A scattered pile of instant prints showing road-trip scenes, with a photograph of a tipi lying on top of the pile

What each provider publishes an endpoint for

I did not call anyone's API for this post, so this section is deliberately narrow: it reports what each vendor's own catalogue lists, and what our own documentation commits to. Treat the first six rows as a map of the published surface area, not as a field-level test.

Published Instagram endpoints per vendor, checked 2026-09-16, read off each vendor's own catalogue or product page. Excluded: anything a vendor documents but does not list as a distinct product, and every claim about response quality — this is a documentation comparison, not a benchmark.
OptionInstagram products it listsProfile and grid in one call?Documented policy on unread fields
Serpent Instagram API One profile endpoint with opt-in field groups: recent posts, per-post details, contact, business, reels and profile detail Yes, at the same rate as the profile alone Yes. A value we could not read comes back as null, never as a fabricated false or zero, and the engagement averages carry a count of how many posts were actually measured.
Bright Data Four endpoints: Instagram Profiles, Posts, Reels and Comments Not stated on the product page Not stated on the product page
Apify apify/instagram-scraper One actor covering posts, reels, comments, profiles, hashtags and places Yes, but every item in the grid is a separate billable result Not stated on the pricing page
HasData Two products: Instagram Profile Scraper API and Instagram Posts Scraper API, at identical published rates Not stated on the pricing page Not stated on the pricing page
HikerAPI An Instagram API, described as a single product Not stated on the pricing page Not stated on the pricing page
SerpApi An Instagram Profile API, and nothing else Instagram-shaped in a 112-API catalogue No posts, reels or comments endpoint is listed Not stated on the product page
Scrapingdog One documented Instagram Scraper API endpoint, absent from the vendor's own Social Media APIs page Not stated in the documentation Not stated in the documentation

Checked 2026-09-16. Every cell except the first row is read off the vendor's own catalogue or product page; the first row is read off our own API documentation, which is a commitment rather than an observation. No response bodies were compared, no latency was measured and no success rate was sampled for this post, so nothing here should be read as a quality ranking.

The one field-level distinction worth spending a paragraph on

Instagram's profile grid does not carry per-post like and comment counts. They only exist once something opens the individual posts. That creates a trap for anyone scoring creators: an engagement rate of zero and an engagement rate that was never measured are completely different facts, and a response that returns 0 for both is lying to you about half of them. Our documented contract is that engagementRate, avgLikesPerPost and avgCommentsPerPost are null when nothing was sampled, that postsSampled always carries the number of posts actually measured, and that a genuinely measured zero still returns 0. The same rule applies to isPrivate, isBusiness and isVerified: each is true or false only where it was observed and null where it was not, so a filter written as isPrivate === false does not quietly drop every profile whose privacy could not be read. None of the other vendors' pricing or product pages state a policy either way, which is not evidence that they fabricate values — it is evidence that you should check before you build a scoring model on top of one. If you are building exactly that, the Instagram profile tracker walkthrough goes through the snapshot-and-delta shape in code.

Meta's own API, and the gate in front of it

The official route deserves a fair hearing, because for some teams it is genuinely the right answer: it is first-party, it is stable, and Meta charges no per-call fee for it. The cost is entirely in what it asks for first, and in what it will not return afterwards.

If you are weighing the official route against a public-data route in detail, the dedicated comparison is the Instagram Graph API versus a public data API. If your volume is small enough that you are wondering whether to pay anything at all, the free options and their real limits covers the ceiling you hit.

What nobody publishes, and why that is the finding

Four gaps showed up repeatedly while reading these pages, and every one of them is the kind of thing that turns a budget into a surprise.

Which Instagram API fits which job

No single row wins this. Here is the honest allocation.

If Instagram is one of several networks you need, the cross-network rate card is on the social media API page, and the same comparison exercise for professional profiles is in the LinkedIn data API comparison.

FAQ

Which Instagram API has the lowest published price in 2026?

On published rates read on 2026-09-16, the lowest per-1,000 figure in this comparison is Serpent's Instagram profile band at $0.28 per 1,000 calls on the Scale tier, which comes from a one-time $500 deposit and carries no monthly plan. Among the third-party vendors the lowest published rate is HikerAPI's Ultra tier at $0.60 per 1,000 requests, which unlocks at a $599 prepaid balance. HasData's Growth plan prints $0.69 per 1,000 requests and costs $208 every month. Those three numbers are not measuring the same thing, which is the whole point of the table above. Checked 2026-09-16. Ranking them against each other without reading the unit column is how people end up surprised by an invoice.

Why do Instagram API prices use three different units?

Because the vendors built different products. A per-request vendor charges once for whatever one HTTP call returns, so the cost of a job depends on how much one call carries. A per-record vendor charges for each row it hands back, so a profile and twelve posts can be thirteen charges or one, depending on what the vendor counts as a record. A per-result vendor is the most explicit about it: on apify/instagram-scraper one result is one post, reel, comment, profile, hashtag or place, so the grid beside a profile is billed item by item. A headline rate is only comparable to another headline rate when both count the same thing, and on this surface they almost never do. Checked 2026-09-16.

Does apify/instagram-scraper really charge $1.50 per 1,000 results?

Apify's headline rate for apify/instagram-scraper is $1.50 per 1,000 results, and that is the Business-plan rate. Apify prints Business at $999 a month on its own pricing page, so the headline is not a rate a new account can buy. Apify's Scale plan, which it prints at $199 a month, charges $1.90 per 1,000 results for apify/instagram-scraper, and its free plan charges $2.70 per 1,000 results for the same actor. The plan arithmetic reconciles both ways: the Business plan includes 666,000 results and the $199 plan includes 104,700, and each included allowance multiplied by its own rate lands on the plan price. Checked 2026-09-16.

Do any Instagram API providers charge you for failed requests?

Yes, and at least one says so in writing. HikerAPI's billing note reads, We charge for any successful response (such as 200, 400, 403, 404). Deprecated endpoints respond with 410 Gone and are never charged. For 50x errors we do not charge. So on that vendor a malformed handle, a blocked profile and a profile that does not exist are all billable events. Bright Data's web scraper pricing page takes the opposite line and prints Pay only for success. Nobody else in this comparison states a policy on the pages read. Checked 2026-09-16. On Serpent an invalid parameter is rejected before any credit is taken, a handle that resolves to nothing answers 404 and is charged, and every other non-2xx response is refunded automatically.

What does Scrapingdog charge for its Instagram Scraper API?

Nothing that is published. Scrapingdog documents an Instagram Scraper API and gives it an endpoint, but on 2026-09-16 no page I could read stated a credit cost for it. Instagram is absent from the per-endpoint credit table on the Scrapingdog pricing page, the vendor's own Instagram marketing URL redirects to a Social Media APIs page that does not mention Instagram at all, and two deeper Instagram URLs answer 404. A widely repeated third-party summary puts the endpoint at 15 credits a request; that number appears on no Scrapingdog page I could read, so it is recorded here as not published rather than quoted as a price. Checked 2026-09-16.

Can I use Instagram's official Graph API instead?

Only if you can pass the gate, and only for the accounts it covers. Meta's access-levels documentation states that Business Verification is required to get Advanced Access, and that permissions with Standard Access can only be requested from app users who have a role on the requesting app, which is the limit that stops a Standard Access app reading accounts you do not own. The Business Discovery documentation adds that data about age-gated Instagram professional accounts will not be returned. Meta publishes no per-call price for any of it, so the cost is engineering and review time rather than a rate card. Checked 2026-09-16.

How much does one Instagram profile with its recent posts cost?

It depends entirely on whether the vendor bills the grid separately. On Serpent the recent-post grid is included in the profile call at the same rate, so a profile with its grid is $0.40 per 1,000 at Default and $0.28 per 1,000 at Scale. On a per-item vendor it is not: apify/instagram-scraper counts a profile plus a twelve-post grid as thirteen billable results, which works out at $35.10 per 1,000 bundles at its Free-plan rate and $19.50 per 1,000 bundles at its Business-plan rate. Four of the options in this comparison never say how many items one unit returns, so their bundle cells are left empty rather than filled with a guess. Checked 2026-09-16.

Related reading, if you want the two halves of this question separately: the official Graph API against a public data API covers the access decision, and building an Instagram profile tracker covers what to do with the data once the billing question is settled.

Related Posts