Blog / Official vs third-party

Instagram Graph API vs Scraping API

By the InScrape API team · Published 2026-08-15 · 4 min read

Two architectural gateways illustrating different ways to access data

This gets framed as official versus unofficial, safe versus risky, allowed versus not. That framing is wrong and it makes people choose badly.

The Graph API and a scraping API read different data for different products. Most teams that agonise over the choice have not yet asked the one question that answers it.

The question

Does your product need data from accounts your users have connected and authorised, or from accounts they have not?

That is the whole decision.

Connected accounts → Graph API. It is free, official, and exposes private metrics nothing else can reach.

Accounts your users do not manage → scraping API. Not because it is better, but because the Graph API structurally cannot do this. There is no permission, no review outcome and no partner tier that unlocks reading arbitrary public accounts.

Everything else in this comparison is detail.

What the Graph API gives you that nothing else can

For accounts that have gone through OAuth and granted permission:

  • Reach and impressions — how many unique accounts saw a post. Genuinely unavailable publicly.
  • Saves, shares and profile visits — private engagement signals
  • Story metrics including exits and taps — invisible from outside
  • Audience demographics — age, gender and location breakdowns
  • Publishing — creating posts, scheduling, managing comments as the account

If your product is a scheduling tool, a social media management dashboard, or an analytics product for accounts your customers own, this list is your product. Use the Graph API and accept the app review.

What it cannot do, in any configuration

  • Read a competitor's profile
  • Read any creator who has not connected to your app
  • Search for accounts by keyword
  • Read hashtag content beyond a narrow, gated set of features
  • Read follower lists of accounts you do not manage

This is not a permissions problem you can solve with better paperwork. It is the API's design.

What a scraping API gives you

Anything visible to a logged-out visitor, for any public account:

  • Profiles: followers, following, bio, category, verification
  • Posts and reels with public engagement counts
  • Comments and their authors
  • Follower and following lists
  • Hashtag content and search results

What it cannot give you is the private half: reach, impressions, saves, demographics. Anyone offering those for accounts they do not manage is estimating, and should say so.

The costs, honestly

Graph API

  • App review: days to weeks, with rejections that do not always explain themselves
  • Business or Creator account plus a linked Facebook Page, required from every user you onboard
  • OAuth implementation with token refresh and re-auth handling
  • Ongoing platform risk: deprecations happen, and Basic Display already went away

Scraping API

  • Per-request cost instead of free
  • Public data only
  • You are dependent on a provider's parser rather than on a documented contract
  • You carry responsibility for how you use the data

Neither is free. The Graph API's price is engineering time and onboarding friction; a scraping API's price is on the invoice.

Using both, which is common

A realistic influencer marketing platform:

  • Graph API for creators who joined the platform and connected their accounts — showing them their true reach and impressions
  • Scraping API for the discovery half — searching, qualifying and shortlisting creators who have never heard of the product

Neither one builds that product alone. Teams that insist on a single source end up either with a discovery feature they cannot build, or a metrics view they cannot populate.

A worked example

You are building a tool that finds creators in a niche and reports their engagement rate.

Discovery — search accounts by keyword. Graph API: impossible. Scraping API: one call.

Qualification — follower count and recent post engagement for 200 candidates. Graph API: impossible, none of them connected. Scraping API: roughly 400 credits.

Reporting to a creator who signs up — true reach on their last 30 posts. Graph API: yes, once they connect. Scraping API: impossible, private metric.

Three steps, and the answer changes twice. That is why the framing of "which one is better" produces bad decisions.

Is scraping allowed?

The honest answer is that it depends on what you collect and what you do with it, and that no vendor can make that determination for you.

What we can state precisely is what we do: we read only data that is publicly visible without logging in, we never use account credentials, and we never touch private accounts. What is legal in your jurisdiction, and what your own agreements permit, is a question for your counsel rather than for a blog post — and be sceptical of any provider that answers it more confidently than that.

Decide in thirty seconds

Your product needs Use
Reach, impressions, saves Graph API
Publishing or scheduling Graph API
Competitor data Scraping API
Creator discovery Scraping API
Brand monitoring Scraping API
Metrics for accounts your users own Graph API
Both of the above Both

Next: Instagram Graph API alternative for public data for the migration detail, or the Instagram scraping API endpoint list.

Try it with 100 free credits.

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