All questionsInstagram

The Instagram Basic Display API is deprecated. What now?

It depends on what you used it for. If you read public profiles and posts, switch to a public data API. Openhandle returns the same profile, post, and comment data with one API key and no app review. If your app acted on behalf of its own users, move to the Instagram API with Instagram Login, which needs a business or creator account and an app review.

Basic Display stopped answering in December 2024. There is no grace path back. Every app that still calls it gets errors.

Checked September 2026 · request and response run against the API · no affiliate links

GET /v1/instagram/profiles/@username/posts
curl "https://api.openhandle.dev/v1/instagram/profiles/@northstar_forge_test/posts" \
  -H "Authorization: Bearer $OPENHANDLE_API_KEY"
TypeScript SDK
import { OpenHandle } from '@openhandle/sdk';

const openhandle = new OpenHandle({ apiKey: process.env.OPENHANDLE_API_KEY! });
const page = await openhandle.instagram.profile('northstar_forge_test').posts.list();

for (const post of page.data) console.log(post.id, post.metrics.likes);
200 OK
{
  "platform": "instagram",
  "resource": "post",
  "capturedAt": "2026-09-18T10:02:11Z",
  "source": "live",
  "data": [
    {
      "id": "910100000001",
      "createdAt": "2026-08-09T15:30:00Z",
      "author": { "id": "910000000001", "handle": "northstar_forge_test" },
      "metrics": { "likes": 840, "comments": 5, "views": 12000 }
    }
  ],
  "meta": { "cursors": { "next": "b3BhcXVlLWN1cnNvcg" } }
}

Trimmed to one post and the fields most Basic Display apps used. The full post has caption, media, hashtags, and more. The example is a Test profile, so you can run it on a free Test key.

What Basic Display did, and what replaces each part

You used it forReplacement
Show a public profile or feed on a websiteA public data API. Openhandle profile and posts endpoints.
Read the logged-in user’s own mediaInstagram API with Instagram Login. Needs a professional account and app review.
Analyze accounts you do not ownA public data API. Meta never offered this.
Post, comment, or reply as a userInstagram API with Instagram Login. Openhandle is read-only.

What changes when you switch

  • No user login flow. You call with your own API key. No OAuth dialog, no token refresh every 60 days.
  • Public accounts only. Private accounts return PROFILE_PRIVATE. Basic Display could read a private account that logged in. A public data API cannot.
  • One shape for every platform. The same post schema works for TikTok and X. Store id, not the handle. Handles change.

When this does not work

These answers are definitive. Store them, do not retry them.

SituationStatusCode
The account is private403PROFILE_PRIVATE
The account is deleted, banned, or never existed404PROFILE_NOT_FOUND
The identifier is malformed400INVALID_IDENTIFIER
403 Forbidden
{
  "error": {
    "code": "PROFILE_PRIVATE",
    "message": "This profile is private.",
    "requestId": "req_01j8…",
    "retryable": false
  }
}

Every new workspace starts with 100 free live requests, no card needed. A full synthetic Test dataset covers every endpoint at no charge.

Read next

More Instagram questions

Send your agent ahead.

Paste the prompt into your agent and it sets everything up. Or come yourself, it takes five minutes.

For agents