All posts

Instagram public data API: what you can get without the Graph API

November 8, 2026

Most people who search for an Instagram API want to read other people's public posts: a creator's reels, a brand's comments, what is under a hashtag. Meta's Graph API is not designed for that. This post explains where the Graph API stops, and exactly which public data you can still read.

Where the Graph API stops

  • Your app users must have a professional account. Serving accounts you do not own needs Advanced Access, which requires App Review and Business Verification source.
  • To look up another account you use Business Discovery. It only works on professional accounts, and age-gated accounts return nothing source.
  • Hashtag search is capped at 30 unique hashtags per rolling 7 days, does not cover stories, and needs App Review for Instagram Public Content Access source.
  • Insights only cover media owned by professional accounts you are authorized for, and user metrics are stored for up to 90 days source.

So if your target is a personal creator account, or you want comments on a competitor's reel, the official API has no route.

What is public on Instagram

A useful test: if a logged-out visitor could see it on instagram.com, it is public. That covers a lot.

DataPublic?Notes
Profile: handle, name, bio, avatar, followers, following, post countYes, for public accountsPrivate accounts show the header only
Category and external linkYesSet by the account owner
Posts and reels: caption, date, likes, comments, mediaYesLike counts can be hidden by the owner
Reel play countsYesPhotos and carousels have none
Comments and repliesYesUnless comments are off
Story highlightsYesLive stories expire after 24 hours
Spoken words in a reelYes, as audioA transcript turns them into text
Reach, saves, shares, audience demographicsNoOwner-only insights
DMs, close-friends stories, private accounts' postsNoNever available, and should not be

Meta added the option to hide like counts in May 2021 source. When an owner does that, any public-data source sees a missing value, not a zero. Treat it as unknown in your math.

A minimal data model

Whatever source you use, normalize to a small set of fields. These cover most analysis:

profile: handle, name, bio, followers, following, posts, verified,
         private, category, external_url
post:    id, url, type (video | image | carousel), caption, created_at,
         plays, likes, comments, duration_seconds
comment: id, text, created_at, likes, replies, author.handle

Keep plays null for photos rather than 0, and keep a fetched_at timestamp on every row. Public counts change every hour, so a number without a date is hard to compare later.

Calling it

curl "https://scrapeio.com/v1/instagram/profile?handle=natgeo" \
  -H "x-api-key: YOUR_KEY"

curl "https://scrapeio.com/v1/instagram/user/reels?handle=natgeo" \
  -H "x-api-key: YOUR_KEY"

Every answer has the same envelope: success, cached, credits_used, credits_remaining and data. Lists return data.items, data.cursor and data.has_more. Pass the cursor back to get the next page.

Responsible use

  • Collect what your question needs, not everything you can.
  • Do not build profiles of private individuals. Aggregate where you can.
  • Respect deletions. If a post disappears, drop it from your store on the next refresh.
  • If you store personal data from the EU or UK, privacy law applies to you, public or not. This is not legal advice; check with a lawyer for your use case.

When to still use the Graph API

For your own accounts it is the authoritative source: reach, saves, story metrics and demographics come only from there. Many teams use both: the Graph API for their own account, and a public-data API for everyone else. Our Graph API comparison goes deeper.

Doing it with ScrapeIO

ScrapeIO reads public Instagram data for any public account, with no app review. Use the instagram profile API, instagram user posts API, instagram comments API and instagram transcript API. You get 100 free credits on signup, and private or not-found accounts are not charged.

Sources

Checked on 8 November 2026 from each vendor's own pages. Prices and limits change; follow the links before you decide.

100 free credits, no card. Credits never expire.

Get API key