Instagram primarily uses a GraphQL API, but also offers other API types:
Instagram's main API is called the Instagram Graph API, which uses GraphQL. Key points about the Instagram Graph API:
While the main API is GraphQL-based, Instagram also offers:
Here are the key points regarding Instagram API webhooks:
The official Instagram API does have webhooks available.
Webhooks allow you to receive real-time HTTP notifications of changes to specific objects in the Meta social graph.
The main types of events you can subscribe to include:
To use webhooks, you need the instagram_basic, instagram_manage_messages, and pages_manage_metadata permissions.
There are some limitations, like not supporting gifs/stickers in messages.
You configure webhook subscriptions in the developer dashboard under Messenger > Instagram Settings, not via API calls.
The /subscribed_apps endpoint is for Facebook Messenger webhooks, not Instagram.
Getting webhook notifications for new followers is not directly supported. A workaround is to periodically fetch the follower list and compare to find new ones.
In summary, while Instagram does offer webhooks for messaging-related events, some features like new follower notifications are not natively supported. The available webhooks focus primarily on messaging interactions rather than account-level changes.
Here's a summary of the API Rate Limits for the Instagram API:
Instagram has recently reduced its API rate limit from 5,000 to 200 requests per hour. This change is intended to align Instagram's API rate limitations with Facebook's current rate limits and to limit the ability of unauthorized actors to acquire large volumes of user data over time.
The current policy allows an app to make a maximum of 200 calls per user during a rolling one-hour window. This is not to be confused with the per-user limit, which can be more than 200 calls per hour but within the app maximum. For example, if there are 100 users on an app, it can make 20,000 calls within an hour.
All calls to Instagram Graph API are subject to Business Use Cases (BUC) rate limits. These limits are unique for each combination of an app and its user pair, and the call rate limit resets every 24 hours.
The rate limit indicates the maximum number of API calls an application can make within a certain time frame.
When API requests exceed the higher rate limit, Instagram returns a "429 Too Many Requests" HTTP status code.
Instagram occasionally updates its platform and API, which can alter rate limit policies or the behavior of certain endpoints.
Optimizing API calls is crucial to avoid hitting error thresholds. This includes implementing batching procedures, response caching, and focusing on retrieving only essential data.
Implement exponential backoff: When encountering rate limits, increase the delay between API calls exponentially with each retry attempt.
Use webhooks where possible: This allows Instagram to push relevant data to your endpoints as events occur, reducing the need for frequent API calls.
Manage third-party integrations: Ensure that integrated external tools and services adhere to optimization best practices and monitor their API traffic volumes.
Optimize API calls: Review batching procedures, implement response caching, and focus on retrieving only essential data.
Implement proper error handling and retry strategies in your code to avoid unnecessary API calls.
By following these guidelines and best practices, developers can more effectively work within Instagram's API rate limits and avoid common errors.
Based on the search results provided, here is a summary of the most recent version of the Instagram API:
The most recent version of the Instagram API is the Instagram Graph API. This replaced the original Instagram API that was closed down in 2018. Key points about the current Instagram API include:
The Instagram Graph API is now the primary way for apps to read and write to the Instagram platform.
It is much more restrictive than the previous API, requiring approval from Instagram to access data.
Developers need to use the Graph API to collect any Instagram data, and usage is restricted.
The latest version mentioned in the changelog is v11.0, introduced in June 2021.
The Instagram Graph API allows developers to:
To use the Instagram Graph API:
Some notable recent changes include:
In summary, the Instagram API has undergone significant changes in recent years, becoming more restricted but still providing key functionality for approved developers and business users. The most up-to-date version is the Graph API, with v11.0 being the latest major version mentioned.
Here's how to get a developer account for Instagram to create an API integration:
Convert your Instagram account to a Business account in the Instagram app settings.
Go to your Instagram profile settings and select "Switch to Professional Account", then choose "Business".
Select a category for your business and optionally add contact information.
Create a Facebook Page if you don't already have one.
In your Facebook Page settings, go to "Professional Dashboard" and select "Linked Accounts".
Click "Connect Account" for Instagram and follow the prompts to link your Instagram Business account to your Facebook Page.
Go to the Facebook for Developers website (developers.facebook.com).
Click on "My Apps" in the top menu.
Click "Create App" and select "Business" as the app type.
Enter a name for your app and your contact email.
In your newly created Facebook app, find "Instagram Graph API" in the list of products.
Click "Set Up" next to Instagram Graph API.
Here's a list of data models you can interact with using the Instagram API, along with what is possible for each:
It's important to note that the Instagram API has undergone significant changes over time, and many previously available features have been restricted. The current API focuses primarily on business use cases and content creation for your own account, rather than broad data collection or interaction with other accounts.