CONTENTS

    Instagram Basic Display API: Complete Guide (2026)

    avatar
    KeyApi
    ·April 18, 2026
    ·15 min read
    Instagram Basic Display API

    If you've searched for the Instagram Basic Display API recently, you've likely found a mix of outdated tutorials, broken code, and confused forum threads. That's because on December 4, 2024, Meta permanently shut it down — and thousands of apps, WordPress plugins, website widgets, and developer integrations stopped working overnight.

    This guide is the definitive reference for understanding exactly what the Instagram Basic Display API was, how it worked, why Meta deprecated it, what broke when it died, and — most importantly — what you need to use instead in 2026 and beyond. Whether you're a developer migrating a legacy integration, a business owner whose Instagram feed stopped updating on your website, or simply researching the Instagram API ecosystem, this covers everything.

    What Was the Instagram Basic Display API?

    The Instagram Basic Display API was a lightweight, read-only HTTP-based API developed by Meta that allowed third-party applications to access basic data from Instagram user accounts. It was officially launched on October 15, 2019 as part of a broader restructuring of Instagram's developer platform, replacing the older Instagram Legacy API that had been in use since Instagram's early days.

    Its core purpose was simple and deliberately limited: let apps read basic profile information and media from any Instagram account, with user consent. It was never designed for complex business use cases — it was built for consumer-facing integrations where a person wanted to grant an app access to see their own photos, profile, and media.

    The data it could return included:

    • Username — the account's Instagram handle

    • Account type — Personal, Business, or Creator

    • Media count — total number of posts

    • Profile picture URL

    • Individual media objects — photos, videos, and albums

    • Media fields — ID, caption, media type, media URL, thumbnail URL, permalink, and timestamp

    • Media children — for carousel posts, the individual media items within an album

    What it explicitly could not do was equally important: it had no access to follower counts, following lists, engagement metrics, story content, insights data, or any ability to post or publish content. It was read-only, lightweight, and deliberately scoped to the minimum data needed to display someone's feed.

    A Brief History: How the Instagram Basic Display API Came to Exist

    To understand the Basic Display API, you need a quick look at what preceded it — the Instagram Legacy API Platform, which was Instagram's original developer interface launched alongside the platform's early growth.

    The Legacy API was far more permissive. By modern standards, it was almost reckless in the scope of data it exposed: follower lists, relationship data, location data, user activity, and extensive media metadata were all accessible to any app that registered. This openness fueled a generation of third-party Instagram tools, analytics platforms, growth-hacking services, and follower management apps — many of which exploited the access in ways that violated user privacy and Instagram's intent.

    Following the Cambridge Analytica scandal in 2018, which exposed how permissive data APIs across Meta's ecosystem had been systematically misused, Instagram began a significant tightening of its developer platform. In 2018, Meta announced the deprecation of the Legacy API Platform. Rather than simply restricting the old API, they rebuilt the developer ecosystem into two distinct products:

    The Instagram Graph API — for Business and Creator accounts, with powerful features for content management, analytics, messaging, and commerce, but with strict app review requirements and account type restrictions.

    The Instagram Basic Display API — for personal and consumer-facing use cases, with narrow read-only access and a simplified OAuth flow that didn't require linking a Facebook Page.

    The Basic Display API launched in October 2019 and represented a genuine step forward in terms of privacy-conscious API design. By separating profile and media permissions into distinct scopes, removing location data and follower counts from the available fields, and requiring explicit user authorization through OAuth, it gave developers a legitimate path to consumer integrations without exposing sensitive social graph data.

    For the next five years, it powered an enormous ecosystem of Instagram feed plugins, website integrations, portfolio display tools, and lightweight social media apps. Hundreds of WordPress plugins — Smash Balloon, Spotlight, LightWidget, SnapWidget, and many others — ran their personal account integrations entirely on the Basic Display API. Millions of websites displayed live Instagram feeds thanks to it.

    Then Meta announced its end.

    The Instagram Basic Display API Endpoints (Historical Reference)

    For developers maintaining legacy code or documenting what existed before deprecation, here is the complete set of endpoints the Basic Display API exposed:

    Authorization Endpoint

    https://api.instagram.com/oauth/authorize

    Used to present the OAuth authorization window to users. Required parameters included client_id, redirect_uri, scope, and response_type=code. Supported scopes were instagram_graph_user_profile and instagram_graph_user_media.

    Token Exchange Endpoint

    https://api.instagram.com/oauth/access_token

    Used to exchange the authorization code returned from the OAuth flow for a short-lived Instagram User Access Token (valid for 1 hour).

    Long-Lived Token Endpoint

    https://graph.instagram.com/access_token

    Used to exchange a short-lived token for a long-lived token valid for 60 days, with the grant_type=ig_exchange_token parameter.

    Token Refresh Endpoint

    https://graph.instagram.com/refresh_access_token

    Used to refresh a long-lived token before expiry, extending it another 60 days.

    User Profile Endpoint

    GET https://graph.instagram.com/me

    ?fields=id,username,account_type,media_count

    &access_token={access-token}

    Returned basic profile information. Required instagram_graph_user_profile permission.

    User Media Endpoint

    GET https://graph.instagram.com/me/media

    ?fields=id,caption,media_type,media_url,thumbnail_url,permalink,timestamp

    &access_token={access-token}

    Returned a paginated collection of the authenticated user's media. Required instagram_graph_user_media permission. Limited to the 10,000 most recently created media objects. Did not include Stories or promoted post media.

    Individual Media Endpoint

    GET https://graph.instagram.com/{media-id}

    ?fields=id,media_type,media_url,thumbnail_url,caption,timestamp

    &access_token={access-token}

    Returned fields for a specific media object.

    Media Children Endpoint (Albums)

    GET https://graph.instagram.com/{media-id}/children

    ?fields=id,media_type,media_url,thumbnail_url

    &access_token={access-token}

    Returned the individual images/videos within a carousel album post.

    All of these endpoints are now non-functional and return errors. They are documented here for historical reference and to assist developers in understanding what needs to be replaced in legacy codebases.

    Why Did Meta Deprecate the Instagram Basic Display API?

    Meta announced the deprecation in September 2024 and set the end-of-life date as December 4, 2024. The stated and inferred reasons behind the decision include:

    1. Privacy and Data Access Tightening

    Meta has been on a consistent trajectory of reducing third-party access to personal user data across all its platforms since 2018. The Basic Display API, even with its limited scope, still gave any approved developer access to a personal Instagram user's full media library once that user authorized the app. In Meta's evolving data governance framework, even this level of access to personal accounts became untenable.

    2. Prioritization of Professional Accounts

    Meta's developer strategy increasingly centers on Business and Creator accounts — the accounts that drive advertising revenue, commerce, and measurable ROI on the platform. The Basic Display API served personal accounts almost exclusively. By deprecating it and directing all developer traffic toward the Graph API (which requires professional accounts), Meta effectively phases out personal account API access entirely.

    3. Reducing Misuse Vectors

    Despite the Basic Display API's limited scope, it still provided a vector for scrapers, fake follower analysis tools, and automation services to build integrations that violated Instagram's Terms of Service. Removing personal account API access closes that surface area significantly.

    4. Consolidation and Developer Simplification

    Maintaining two separate API products with overlapping but distinct authentication flows, SDKs, and documentation creates ongoing engineering overhead. By consolidating toward the Instagram Graph API and the newer Instagram API with Instagram Login, Meta simplifies its developer ecosystem.

    The consequence was immediate and widespread: as of December 4, 2024, every application relying on the Basic Display API to display personal Instagram feeds stopped updating. Widgets broke. Plugins stopped pulling new posts. Feed displays on millions of websites went static.

    Who Was Affected by the Deprecation?

    The Basic Display API shutdown had different impacts depending on account type and use case:

    Personal Instagram Account Holders: Websites and apps that connected a personal Instagram account to display a live feed — the most common use case — stopped working entirely. The only path forward is converting the account to a Creator or Business account to use the Instagram Graph API instead.

    Business and Creator Account Holders: Largely unaffected. These accounts were already using the Instagram Graph API (not the Basic Display API), which continues to function and was not impacted by the deprecation.

    WordPress Plugin Users (Smash Balloon, Spotlight, LightWidget, SnapWidget, etc.): Plugins that handled personal account connections through the Basic Display API required users to reconnect their accounts using a new connection method after converting to a professional account type.

    Custom Developer Integrations: Any application built on the Basic Display API's endpoints needed a full migration to the Instagram API with Instagram Login or the Instagram Graph API. This involved reconfiguring app settings, updating OAuth flows, swapping deprecated scopes, and modifying API endpoint URLs and response handling.

    Analytics and Social Media Tools: Products that offered Instagram feed embedding or profile monitoring for personal accounts had to either add account conversion flows for their users or discontinue those features.

    The Instagram API Ecosystem After the Basic Display API

    With the Basic Display API gone, the Instagram developer landscape in 2026 consists of two primary official API products:

    1. Instagram Graph API

    The Instagram Graph API is Meta's full-featured API for Business and Creator accounts. It is the most powerful and comprehensive option, supporting:

    • Reading and publishing media (photos, Reels, Stories, carousels)

    • Comment management and moderation

    • Audience insights and performance metrics

    • Hashtag search and content discovery

    • Business Discovery for accessing public data from other professional accounts

    • DM and messaging functionality (via Instagram Messaging API)

    • TikTok Shop integration and commerce features

    • Webhook subscriptions for real-time event notifications

    It requires a Business or Creator account linked to a Facebook Page for the Facebook Login for Business authentication method, though the Instagram Login method (below) relaxes the Facebook Page requirement.

    The Graph API runs on versioned endpoints under graph.facebook.com, with API v22.0 being the current version as of 2026. Requests require valid access tokens obtained through OAuth 2.0, and all apps accessing data for external users must pass Meta's App Review process.

    2. Instagram API with Instagram Login

    The Instagram API with Instagram Login is the direct functional successor to the Basic Display API for consumer-facing applications. It was introduced specifically to fill the gap left by the Basic Display API's deprecation — providing a simpler OAuth flow that authenticates through Instagram directly without requiring a Facebook Page connection.

    Key differences from the old Basic Display API:

    • Only supports Professional accounts (Business or Creator) — personal accounts are no longer supported through any public Meta API

    • Uses updated OAuth scopes (instagram_business_basic, instagram_business_content_publish, instagram_business_manage_messages, instagram_business_manage_comments) instead of the old instagram_graph_user_profile and instagram_graph_user_media scopes

    • Runs on graph.instagram.com endpoints

    • Provides access to similar basic profile and media data, but with better security architecture and explicit support for professional accounts only

    Migration note: You cannot simply swap the base URL of your old Basic Display API calls. The scopes changed, the authentication flow changed, and the response structures have differences that require deliberate migration work — not a quick find-and-replace.

    How to Migrate from the Instagram Basic Display API

    If you're maintaining a legacy integration built on the Basic Display API, here is the correct migration path:

    Step 1: Assess Your Use Case

    Determine whether you need:

    Basic profile and media display → Instagram API with Instagram Login is sufficient

    • Analytics, insights, publishing, messaging, or commerce → Instagram Graph API is required

    • Multi-account management for clients → Instagram Graph API with Facebook Login for Business

    Step 2: Convert Personal Accounts to Professional

    Since no public Meta API supports personal Instagram accounts anymore, any users with personal accounts who need API-connected functionality must convert to a Creator or Business account. This conversion is free and reversible, and it doesn't require having a business — the Creator account type is designed for individual content creators and functions equivalently to personal accounts for most content purposes.

    Step 3: Configure Your Meta App

    In the Meta for Developers dashboard:

    • Update your app type settings to support Instagram API with Instagram Login or Instagram Graph API as appropriate

    • Request the correct updated permissions/scopes for your use case

    • Remove any references to deprecated Basic Display API products from your app configuration

    • Add your updated OAuth redirect URIs

    Step 4: Update Your OAuth Flow

    Replace the old authorization endpoint (https://api.instagram.com/oauth/authorize) with the new Instagram Login authorization endpoint. Update the scope parameters — the old instagram_graph_user_profile and instagram_graph_user_media values are deprecated. Use the new scope values appropriate to your API choice.

    Step 5: Update Your API Endpoints

    Replace old Basic Display API endpoint calls:

    Old (Deprecated)

    New (Graph API / Instagram Login)

    graph.instagram.com/me

    graph.instagram.com/me (with updated token) or graph.facebook.com/v22.0/{ig-user-id}

    graph.instagram.com/me/media

    graph.facebook.com/v22.0/{ig-user-id}/media

    graph.instagram.com/{media-id}

    graph.facebook.com/v22.0/{media-id}

    graph.instagram.com/{media-id}/children

    graph.facebook.com/v22.0/{media-id}/children

    graph.instagram.com/access_token

    Updated token endpoints for new auth flow

    Step 6: Submit for App Review (If Needed)

    Apps that allow external users (not just the app developer) to authenticate and grant data access must pass Meta's App Review. This involves providing detailed documentation of your use case, a privacy policy, and — for some permissions — screen recordings demonstrating how your app works. Apps used only in development mode by testers can bypass this step for initial testing.

    Step 7: Test Token Refresh Logic

    Long-lived tokens under the new API still expire after 60 days without renewal. Ensure your application's token refresh logic is updated to use the correct refresh endpoints and handles token expiry gracefully.

    Common Errors After the Basic Display API Deprecation

    If you or your users are seeing errors in Instagram integrations post-deprecation, here are the most common causes and what they mean:

    "This app is not authorized to access this endpoint" — The app is attempting to call Basic Display API endpoints that no longer exist. Full migration to the new API is required.

    "Session invalid" or "400 Session Invalid" — Access tokens generated through the old Basic Display API flow are no longer valid. Users need to re-authenticate through the new flow.

    "Account type not supported" — The connected account is a personal account, which is no longer supported by any Meta API. The user needs to convert to a Creator or Business account before reconnecting.

    "Scope not valid" — The app is requesting deprecated OAuth scopes (user_profile, user_media). These must be updated to the new scope values.

    Feed not updating / showing cached images only — The widget or plugin lost API access at the December 2024 deprecation. The account must be reconnected through the new authentication method.

    Key Limitations That Remain in 2026

    Even after migrating successfully, it's important to understand what the current Instagram API ecosystem still does not support:

    • Personal account access — There is no official path. Any tool that claims to pull data from personal accounts without user authentication is using unofficial methods that violate Meta's Terms of Service.

    • Follower and following lists — The Graph API does not expose follower or following data through standard permissions. There is no official way to retrieve a list of an account's followers programmatically.

    • Competitor analytics — You can only access data from accounts that have explicitly authorized your application. Public competitor account data is not available through official APIs.

    • Stories without special permissions — Story content requires specific Instagram permissions that must be explicitly requested and approved through App Review.

    • Arbitrary public account scraping — You cannot fetch data from any public Instagram account you choose. All Graph API data access is scoped to authorized accounts only.

    Frequently Asked Questions

    Is the Instagram Basic Display API still available in 2026? No. The Instagram Basic Display API was permanently shut down on December 4, 2024. All requests to its endpoints now return errors. It is no longer available under any circumstances.

    Can I still embed my personal Instagram feed on my website? Not using official Meta APIs. To embed an Instagram feed using official integrations, you must convert your account to a Creator or Business account and use the Instagram Graph API or Instagram API with Instagram Login. Feed display plugins updated for post-deprecation (like Smash Balloon, Spotlight, LightWidget) support this new flow.

    What is the Instagram API with Instagram Login and how is it different from the Basic Display API? The Instagram API with Instagram Login is the functional successor designed for consumer-facing apps that need basic profile and media access. The key difference is that it only supports Professional accounts (Business or Creator) — personal accounts are no longer supported. The OAuth flow is similar in simplicity but uses updated scopes and endpoints, and requires the account to be a professional type.

    Do I need a Facebook Page to use the new Instagram API? Not necessarily. The Instagram API with Instagram Login allows authentication without a Facebook Page, which is similar to how the Basic Display API worked. The Instagram Graph API via Facebook Login for Business does require a Facebook Page connection. The right choice depends on your use case.

    Will Meta release a new API for personal Instagram accounts? There is no current indication from Meta that a new consumer-facing personal account API is planned. Meta's developer strategy clearly prioritizes Business and Creator accounts. Brands and individuals using Instagram for professional purposes should convert to professional account types.

    What happened to my Instagram widget / plugin after December 2024? If your plugin used the Basic Display API to connect a personal account, it stopped pulling new content on December 4, 2024. Most major Instagram feed plugins have since updated to support the new authentication method. You need to convert your Instagram account to a Creator or Business type and reconnect it in your plugin's settings.

    The Bigger Picture: Meta's API Strategy in 2026

    The deprecation of the Instagram Basic Display API is not an isolated event — it's part of a consistent, multi-year strategy by Meta to tighten third-party access to personal user data across its entire platform ecosystem.

    The trajectory is clear: 2018 saw the Legacy API deprecated, 2020 saw the Basic Display API launch (already more restricted than its predecessor), and 2024 saw the Basic Display API itself shuttered. Each transition has reduced the surface area of accessible personal data, pushed developers toward professional account types, and increased the requirements for app approval and data handling accountability.

    For developers and businesses building on Instagram in 2026, the practical implication is straightforward: official Instagram API access is a professional-accounts-only ecosystem. If your use case involves personal accounts, you either convert those accounts to professional types or accept that official API support is not available.

    This shift has also created opportunities. Brands and creators who invest in proper Instagram API integrations through the Graph API gain access to significantly richer capabilities than the Basic Display API ever offered — publishing automation, detailed analytics, real-time messaging, commerce integration, and much more. The tradeoff is more setup complexity and Meta's App Review process, but the functional ceiling is considerably higher.

    Summary

    The Instagram Basic Display API was a foundational piece of Instagram's developer ecosystem from 2019 to 2024 — enabling millions of websites to display live Instagram feeds, powering hundreds of plugins and integrations, and giving developers a legitimate, privacy-respecting path to personal account data access. Its deprecation on December 4, 2024 marked the end of personal account API access on Instagram's platform, forcing a migration to either the Instagram Graph API or the Instagram API with Instagram Login for all official integrations.

    The migration path is well-defined, the replacement tools are mature, and the new APIs offer significantly more capability for those building serious Instagram integrations. The adjustment required is real — especially for personal account users who need to convert account types — but the path forward is clear.

    Related Reading

    Explore more of the Instagram and social API ecosystem: