Blog / Official vs third-party

Is the Instagram API Free? Costs Explained

By the InScrape API team · Published 2026-09-02 · 6 min read

A data cube in an open gift box beside coins

Meta's Instagram APIs are free to call but expensive to qualify for, and they do not read accounts you do not own. That single sentence resolves most of the confusion behind this question: the price tag on the official API is genuinely zero, and it is still the wrong answer for the majority of people who go looking for it, because the constraint is not money.

The rest of this piece breaks "free" into the three things it actually means in practice, and what each one bills you in something other than currency. If you already know you are paying and want the per-unit numbers, Instagram API cost is the piece that compares rates; this one only answers whether you can avoid paying at all.

Free tier one: Meta's own APIs

There is no invoice. There is an eligibility process, and it is where the cost lives.

To call the Instagram Graph API for anything useful you need a Business or Creator account, that account linked to a Facebook Page, a Meta developer app, an OAuth flow with token refresh, and app review for the permissions that carry the data. App review is a submission with a screencast, a described use case, and a wait measured in days to weeks — not an afternoon.

Two further constraints decide whether the free tier is relevant to you at all:

It only reads accounts that have connected to your app. The account owner completes an OAuth flow and grants access. There is no permission, no review outcome and no paid tier that lets the Graph API return a competitor's profile, a creator you have not signed, or a hashtag's posts. This is a design boundary, not a rate limit.

Your quota is a function of how many accounts have connected. Meta calculates the call budget from app usage, so a new app with a handful of connected accounts has a small one. The limit tightens exactly when you are least able to do anything about it.

Meta also shut down the Instagram Basic Display API in December 2024, which removed the lightest-weight free route that previously returned a consenting user's own profile and media without the full Business stack. If you find a 2023 tutorial that makes free access sound simple, check which API it is describing before you follow it.

Where the free tier is genuinely the right answer: you are publishing to, or reporting on, accounts your users have authorised. The private metrics it exposes — impressions, reach, saves, audience breakdowns — are real, they are only available there, and no third party can honestly sell them to you.

Free tier two: open-source libraries

pip install costs nothing. The bill arrives in three other forms.

An Instagram account you are prepared to lose. Libraries that reimplement the mobile app's private endpoints need to log in. That account will eventually be challenged or disabled, and when it is, a human has to solve a checkpoint before your pipeline resumes. If the account is yours, you lose it. If it belongs to a user, you have a different problem.

Proxies, billed in a unit unrelated to your workload. A single datacentre IP running a session gets throttled quickly, so anything past a hobby script needs residential proxies. Those are priced per gigabyte of traffic, not per profile read, which means your cost curve is set by page weight and retry volume rather than by how many answers you actually got.

Maintenance you did not schedule. Instagram changes internal endpoints and response shapes without notice. The library breaks, and it stays broken until a volunteer maintainer has time. Your uptime is now someone else's spare weekend.

The honest framing: a free library is free the way a puppy is free. It is a fine choice for a one-off script against your own account, and a poor foundation for anything a customer depends on. Which library you pick changes where it breaks but not the arithmetic; Instagram scrapers on GitHub sorts them into categories and names the failure each one hits. The same arithmetic applies to writing your own headless-browser scraper — the code is free, the compute and the anti-bot arms race are not.

Free tier three: hosted API free tiers

Most commercial providers give you a starting allowance so you can test before committing. Comparing those allowances directly is harder than it looks, because they are denominated in different things — requests, records, results, credits — and a provider can change its cap without announcing it. Instagram API cost carries the provider-by-provider table; what matters here is the shape of a free tier rather than the size of one.

Ours is 100 credits at signup with no card. Most endpoints cost 1 credit, so that is 100 profile lookups, 100 pages of posts or 50 pages of followers — followers and following cost 2 because they are heavier.

The number that matters more than the allowance is what consumes it. Completed lookups are billed at the endpoint rate, including preloaded results. Confirmed private or missing Profile targets return 200 and are charged:

{
  "success": true,
  "credits_charged": 1,
  "credits_remaining": 99,
  "processing_time_ms": 1842,
  "requested_at": "2026-10-04T00:00:00Z",
  "query": { "username": "some_locked_account" },
  "data": { "profile": null }
}

Validation and authentication errors cost 0 credits. For service errors, inspect credits_charged; they may be billed if resources were already used.

What "free" means in each case

Route Free to call What you pay instead Reads accounts you do not own
Meta Graph API Yes Business account, Facebook Page, OAuth, app review, days to weeks No
Open-source library Yes An account that gets banned, per-GB proxies, unplanned maintenance Yes, until the account is challenged
Your own browser scraper Yes Compute, residential proxies, anti-bot upkeep Yes, until blocked
Hosted API free tier Yes, to the cap Nothing, until you exceed the cap Public ones only

What no free option gives you

Worth stating plainly, because "free" searches attract offers that quietly claim more than any route can deliver.

Nothing here reads a private account. A private account is an access control, and a confirmed private-account lookup returns 200 with available profile details, charged at the endpoint rate. Nothing here returns direct messages, notifications, saved posts, or follower email addresses and phone numbers. Nothing here returns impressions, reach or saves for an account you do not manage — those exist only in the Graph API, only for connected accounts, and any third party offering them is estimating without saying so.

Read-only also means read-only: this API does not post, comment, like or follow. Derived figures such as engagement rate or fake-follower signals are things you compute from the counts we return, not fields we hand you.

When paying is cheaper than free

Put an hourly rate on your own time and the comparison usually ends quickly.

The Graph API's free tier is worth its qualification cost when you are building on connected accounts — that is its job, and it does it better than anything else. It is worth nothing at all when your product needs accounts that will never connect to your app, because no amount of paperwork changes that answer.

The library route is worth it when a broken pipeline costs you nothing. Once someone else is waiting on the data, one checkpoint at an awkward hour, plus the proxy bill, plus the afternoon spent repairing a parser after an upstream change, exceeds a $12 pack comfortably. Starter is 10,000 credits for $12, paid once with no expiry, against a maintenance obligation that recurs.

The test is not "which is cheaper per call". It is: when this breaks at 02:00, whose problem is it? Free means it is yours.

Where to go next

The 100 free credits need no card, and errors never spend them.

Try it with 100 free credits.

No credit card, credits never expire, and failed requests are not charged.