HonestHook

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

Almost everyone arrives expecting an official route and leaves confused, so it is worth being blunt.

The Instagram Graph API requires a login, and it only serves accounts that have connected themselves to your app. A Business or Creator account, going through an OAuth screen, granting you permission. That is the product.

It is genuinely good for what it is for: you are building a tool for creators, they sign in, you read their own data back to them.

It does nothing at all for the thing most people want, which is reading a public profile you have no relationship with. There is no tier of the official API that does that. Not a paid one, not an enterprise one. The gap is the reason this entire market exists.

This is also why "official API access" in a vendor's marketing copy deserves a second look. For public profile data, there is no official access to have.

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 implies an access nobody has.

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.

Most people asking this question are not in this case.

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.

Free key, 1,000 credits a month, no card →