HonestHook

Free API key (1,000/mo)Sign in

Blog ·

Which Instagram scrapers still work in 2026

If you are reading this, something probably stopped returning data this week.

This is a map of what the options actually are in September 2026, written by someone building in this category — so read it as interested, and check the parts that matter to you against primary sources.

Start here: the official API is not what you think

Most write-ups on this topic collapse two different official paths into one. They are not the same, and the difference is the whole story.

Path one is consent-based. A creator connects their account to your app through OAuth, and you read their data with their permission. This is what people usually mean by "the Instagram API," and it is useless for looking up an arbitrary profile — the account has to opt in to you specifically.

Path two does not require the target's consent at all. It is called Business Discovery, it is documented, and it reads other accounts' public metrics. To call it you need a Facebook Login integration, your own Instagram professional account and its ID, a valid access token for it, and the target's username. It returns followers_count, media_count, the account's media, and per-media comments_count, like_count and view_count.

That is a real, first-party, no-consent-required lookup, and an earlier version of this post said it didn't exist. It does. Here is what it actually costs you:

It only works on professional accounts. Meta's documentation is explicit — Business Discovery returns metadata and metrics about other Instagram professional accounts. Personal accounts return nothing. Private accounts return nothing. Age-gated professional accounts return nothing.

You can't GET the media it hands back. The media objects come back nested in the discovery response; requesting those IDs as top-level objects fails on permissions. Your request shape is dictated by the API, not by your schema.

Every call is made as an account you own. The quota, the token lifecycle and the app review all attach to an Instagram professional account you have to maintain in good standing.

So the honest scoping: the official API reads professional accounts, on behalf of a professional account, through a Facebook app. It is a business-to-business tool, and it works well inside those bounds. If your targets are brands and creators with professional accounts, use it — it is free, it is first-party, and nobody can take it away from you.

What it does not do is look up a person. Most Instagram accounts are personal, and for those the official answer is not "limited." It is nothing. That gap is why this market exists, and everything in the rest of this post is about what fills it.

Meta API behaviour above was read from Meta's Instagram Platform documentation on 23 September 2026.

What broke everywhere else, and when

Instagram is not an isolated case. The same door closed across the industry in about eighteen months:

Platform What changed
X Discontinued the free tier for new developers in February 2026. Reads now run around US$ 0.005 each
Reddit Shut off unauthenticated endpoints in May 2026. Commercial access is a negotiated agreement — price not publicly confirmable
Instagram No public-profile route at any price. Login-scoped only

Three things worth noticing in that table.

The first is that this pricing is not aimed at you. Where a number exists it is per-read and small; where it does not, the entry point is a sales conversation. Either way, a small builder is not the customer being courted.

On Reddit specifically I am deliberately not quoting a figure. The numbers circulating for its commercial tier come from vendors who sell Reddit data — and they contradict each other by a factor of twelve. The measurement I could make myself is here; the price is not something I can confirm.

The second is that these dates are recent. If your scraper worked eighteen months ago and you are surprised now, nothing is wrong with your code. The ground moved.

The third is what it did to the market: a category of resellers grew into the gap, all selling essentially the same collected pages at a markup, and several of them describing it in language that borrows the credibility of the official API for exactly the accounts the official API refuses.

The four things you can actually do

1. Use the official API, if your use case fits

If you are building for creators who will connect their own accounts, stop reading and go do this. It is stable, it is permitted, and it will not break on a Tuesday.

It reaches further than that, too. As set out at the top, Business Discovery reads other professional accounts without them connecting to you at all — so if your targets are brands and creators rather than individuals, the official API is still your answer, and you should take it before you consider anything on this list.

Where it stops is personal and private accounts, which is most of Instagram. If that is who you need to look up, the remaining three options are what exist.

2. Buy from a reseller

There are several, they are compared in detail elsewhere on this site, and the honest summary is: they work, they cost several dollars per thousand calls, and you are exposed to a middleman who can change what comes back, raise the price, or — awkwardly — compete with you.

That last one is not hypothetical. Several vendors in this market sell the raw data and sell the product you were going to build on top of it.

3. Collect it yourself

Read the public pages, the same ones you see logged out. This is the route we picked, and the trade-offs are real: you own the proxy cost, the breakage, and the maintenance. It is cheaper per call by roughly an order of magnitude and it is more work. There is a walkthrough of the method if you want to see what is involved before deciding.

4. Decide you do not need it

The option nobody lists. A surprising share of "I need an Instagram scraper" turns out to be "I need to know whether this topic is growing", and that is a different question with cheaper answers.

How to tell whose fault a failure is

This is the practical part, and the reason most people land on a page like this at 2am.

When a call fails, there are three possible culprits — your code, your vendor, or the platform — and they look identical from inside your application. Work through them in this order:

Does it fail logged out, in a browser, from your phone? Turn off wifi so you are on a different network, open the profile in a private window. If the page itself does not load for you as a human, no scraper is going to fix that. The platform changed something.

Does it fail from a different IP? If your server fails and your laptop succeeds, that is a block, not a bug. Datacentre IP ranges are the first thing to get rate limited, and this single test explains most sudden failures.

Did the shape of the response change, rather than the status code? This is the expensive one, because it does not throw. You get a 200, your parser reads a field that moved, and you write null into your database for a week. If you are ingesting into a table, put a check on it — a run where a required field is empty in 100% of rows is not a slow day, it is a broken parser.

That third failure mode is worth more attention than the first two. A 500 wakes you up; a 200 with the wrong shape does not, and it is the one that quietly corrupts your history.

The questions to ask a vendor before paying

Whichever route you pick, these five questions sort the vendors quickly. All of them have a right answer, and vendors who dislike them are telling you something.

  1. Where does the data come from? If the answer implies official access to public profiles, that access does not exist. Prefer the vendor who says plainly that they read public pages.
  2. What is the cost per thousand calls, in currency? Not per credit. Credits are a unit that hides the price, and most pricing pages in this market never convert them.
  3. What happens when the call returns nothing? Being charged for empty responses changes the real price of a query that often misses.
  4. Who becomes the data controller? Public data is still personal data under GDPR and LGPD. Every vendor pushes this to you; the difference is whether they say so upfront. It is worth understanding before you store anything.
  5. Do you compete with me? Ask directly. If the vendor sells the product you are building, you are funding your own competitor and handing them your usage patterns.

What we are doing about it

We picked option three for ourselves: public pages, logged out, our own client, no reseller in the middle. Built and measured — not yet running. There is no proxy contracted and no collector deployed, which is worth saying plainly in an article about vendors who describe plans as if they were products. The position and its trade-offs are written out on the social data page.

No social endpoint is live yet. When one answers, it will appear with a real response pasted into the page and the cost per thousand calls beside it — not before. What is live today is the trend archive, which is a different product answering a different question.


Platform pricing and cut-off dates above are as of 7 September 2026. This market moves fast; verify against the platform's own documentation before you commit engineering time.

Trend data with a memory

Every social API answers what’s trending now, then throws it away. HonestHook keeps the hourly archive, so you can ask what gained traction.

or get a key with just your email

Free, no card. One key per address — we store your email to attach the key to it and to warn you if something breaks.

Free, 1,000 credits a month, no card. Read the docs →