Instagram API

Retrieve Instagram posts, reels, comments, and public profile details using account handles, media URLs, or hashtags.

Fetch individual posts via complete URLs; follower counts and relation lists require separate queries.

Platform availability

24h health
75%
Available

Last 30 days

Available capabilities

Each Instagram action, what it does, its price and its health over the last 24 hours. Open an action for its parameters, response fields and code samples.

CapabilityWhat it doesPer 1,00024-hour health
Post detailspostFetch one or more Instagram posts or Reels from the links in urls, with caption, media type, likes, comments, views, author follower count, hashtags and a few top comments.$0.56 per 1,000 requestsNormal
ProfilesprofileLook up an Instagram account by handle or profile URL and get display name, bio, follower, following and post counts, account type flags, external link and recent posts.$0.56 per 1,000 requestsAvailable · health 70%
Account insightspersonaGet an account overview for an Instagram handle, built from its public profile: bio, category, follower and post counts, account type flags and recent posts.$0.56 per 1,000 requestsNormal
Posts by useruser_postsList posts from an Instagram account by username, each with caption, media type, likes, comments, views, location, hashtags and top comments.$0.56 per 1,000 requestsNormal
Content discoverydiscoverTrack posts under an Instagram hashtag passed in keyword, with caption, media type, engagement counts, author follower count, location and post time.$0.56 per 1,000 requestsHealthy · health 100%
CommentscommentsRead comments on one Instagram post or Reel at url, with text, author, verified badge, likes, reply count and post time.$0.56 per 1,000 requestsNormal
ReelsreelsPull an Instagram account's Reels by username, with caption, play count, duration in seconds, likes, comments, music and a subtitle transcript when available.$0.56 per 1,000 requestsNormal
HashtaghashtagCollect posts for an Instagram hashtag in hashtag, given without the # sign, with caption, media type, likes, comments, views, author and post time.$0.56 per 1,000 requestsNormal
FollowersfollowersSee how many followers an Instagram account has and how many accounts it follows, by username, along with its ID, display name, avatar and profile link.$0.56 per 1,000 requestsNormal
Follower listfollowers_listList the accounts that follow an Instagram user, by username, with handle, name, avatar, private and verified flags and relation type.$0.56 per 1,000 requestsNormal
Following listfollowing_listList the accounts an Instagram user follows, by username, with handle, name, avatar, private and verified flags and relation type.$0.56 per 1,000 requestsNormal

Open a capability for its parameters, response fields, code samples and trial.

What does each Instagram action accept?

Each answer below pairs one callable action with its real inputs. Parameter meanings and allowed values are action-specific; a familiar name does not carry the same meaning across every platform.

Official sources are linked only to clarify the platform term beside them. They do not imply platform authorization or endorsement, and they do not add official-site features to the EveryInfra API contract.

ActionRequiredOptionalDeliveryLimitPer 1,000Response fields
post

Post details

Fetch one or more Instagram posts or Reels from the links in urls, with caption, media type, likes, comments, views, author follower count, hashtags and a few top comments. Private content is not fetched, and nothing grants rights to the photos or videos.

urls—Sync deliveryCatalog values: defaultLimit=11, maxLimit=11. A limit can control pages or per-parent expansion for some actions, so it is not always a final row count.$0.56 per 1,000 requestspost_id · url · text · media_type · like_count · comment_count · view_count · author_username · author_name · posted_at · location · author_follower_count · hashtags · top_comments
profile

Profiles

Look up an Instagram account by handle or profile URL and get display name, bio, follower, following and post counts, account type flags, external link and recent posts. Verified, business and professional flags do not prove identity, income or current commercial activity.

username—Sync delivery—$0.56 per 1,000 requestsusername · display_name · bio · follower_count · following_count · post_count · is_private · is_verified · is_business · is_professional · category · external_url · avatar_url · recent_posts
persona

Account insights

Get an account overview for an Instagram handle, built from its public profile: bio, category, follower and post counts, account type flags and recent posts. Age, gender, interests, buyers and other traits are not inferred, since the response does not contain them.

username—Sync delivery—$0.56 per 1,000 requestsusername · display_name · bio · follower_count · following_count · post_count · is_private · is_verified · is_business · is_professional · category · external_url · avatar_url · recent_posts
user_posts

Posts by user

List posts from an Instagram account by username, each with caption, media type, likes, comments, views, location, hashtags and top comments. Full history is not guaranteed, and private Stories and internal reach data are not included.

username—Async deliveryCatalog values: defaultLimit=30, maxLimit=200. A limit can control pages or per-parent expansion for some actions, so it is not always a final row count.$0.56 per 1,000 requestspost_id · url · text · media_type · like_count · comment_count · view_count · author_username · author_name · posted_at · location · author_follower_count · hashtags · top_comments
discover

Content discovery

Track posts under an Instagram hashtag passed in keyword, with caption, media type, engagement counts, author follower count, location and post time. Set results_type to reels for short videos; the results do not explain Explore ranking or prove a trend.

keywordresults_typeAsync deliveryCatalog values: defaultLimit=30, maxLimit=200. A limit can control pages or per-parent expansion for some actions, so it is not always a final row count.$0.56 per 1,000 requestspost_id · url · text · media_type · like_count · comment_count · view_count · author_username · author_name · posted_at · location · author_follower_count · hashtags · top_comments
comments

Comments

Read comments on one Instagram post or Reel at url, with text, author, verified badge, likes, reply count and post time. Profile links are not supported, and the full conversation tree is not promised.

url—Sync deliveryCatalog values: defaultLimit=50, maxLimit=100. A limit can control pages or per-parent expansion for some actions, so it is not always a final row count.$0.56 per 1,000 requestsid · text · url · like_count · reply_count · author_username · author_name · is_verified · posted_at · post_url · platform
reels

Reels

Pull an Instagram account's Reels by username, with caption, play count, duration in seconds, likes, comments, music and a subtitle transcript when available. Not every reel has a transcript, and private metrics are not included.

username—Sync deliveryCatalog values: defaultLimit=30, maxLimit=100. A limit can control pages or per-parent expansion for some actions, so it is not always a final row count.$0.56 per 1,000 requestspost_id · url · text · media_type · like_count · comment_count · view_count · author_username · author_name · posted_at · location · author_follower_count · hashtags · top_comments · play_count · duration_sec · duration_seconds · transcript · music · platform
hashtag

Hashtag

Collect posts for an Instagram hashtag in hashtag, given without the # sign, with caption, media type, likes, comments, views, author and post time. Pass reels in results_type for short videos; the sample alone does not measure a trend's total volume.

hashtagresults_type, tagSync deliveryCatalog values: defaultLimit=30, maxLimit=100. A limit can control pages or per-parent expansion for some actions, so it is not always a final row count.$0.56 per 1,000 requestspost_id · url · text · media_type · like_count · comment_count · view_count · author_username · author_name · posted_at · location · author_follower_count · hashtags · top_comments · platform
followers

Followers

See how many followers an Instagram account has and how many accounts it follows, by username, along with its ID, display name, avatar and profile link. It returns totals, not who the followers are; followers_list lists the accounts.

username—Sync delivery—$0.56 per 1,000 requestsid · username · url · name · avatar_url · follower_count · following_count · platform
followers_list

Follower list

List the accounts that follow an Instagram user, by username, with handle, name, avatar, private and verified flags and relation type. The list may be partial and does not enable automated contact.

username—Sync deliveryCatalog values: defaultLimit=50, maxLimit=500. A limit can control pages or per-parent expansion for some actions, so it is not always a final row count.$0.56 per 1,000 requestsid · username · url · name · avatar_url · is_private · is_verified · relation · of_user · platform
following_list

Following list

List the accounts an Instagram user follows, by username, with handle, name, avatar, private and verified flags and relation type. A follow does not prove affinity or interaction, and the relationship may change.

username—Sync deliveryCatalog values: defaultLimit=50, maxLimit=500. A limit can control pages or per-parent expansion for some actions, so it is not always a final row count.$0.56 per 1,000 requestsid · username · url · name · avatar_url · is_private · is_verified · relation · of_user · platform

What do the Instagram post parameters mean?

Fetch one or more Instagram posts or Reels from the links in urls, with caption, media type, likes, comments, views, author follower count, hashtags and a few top comments. Private content is not fetched, and nothing grants rights to the photos or videos.

Full API reference: parameters, code samples, response example and health →
urlsRequired
Accepts an array of full Instagram post or Reel URLs (e.g., /p/<shortcode>/ or /reel/<shortcode>/) for the post action, billed per target URL. Unlike post, the comments action processes only a single URL.
Instagram: Public Posts and Embedding Boundaries — Instagram specifies that content from private accounts cannot be embedded, and public accounts can also turn off embedding. Being shareable or embeddable does not grant additional data access permissions; input and available scope for this endpoint remain governed by the instructions above. · Checked

What do the Instagram profile parameters mean?

Look up an Instagram account by handle or profile URL and get display name, bio, follower, following and post counts, account type flags, external link and recent posts. Verified, business and professional flags do not prove identity, income or current commercial activity.

Full API reference: parameters, code samples, response example and health →
usernameRequired
Identifies an Instagram account handle without the @ symbol or as a full profile URL. Used by profile, persona, user_posts, and reels to fetch account data. The followers action returns only total follower counts, whereas followers_list and following_list return account lists.

What do the Instagram persona parameters mean?

Get an account overview for an Instagram handle, built from its public profile: bio, category, follower and post counts, account type flags and recent posts. Age, gender, interests, buyers and other traits are not inferred, since the response does not contain them.

Full API reference: parameters, code samples, response example and health →
usernameRequired
Identifies an Instagram account handle without the @ symbol or as a full profile URL. Used by profile, persona, user_posts, and reels to fetch account data. The followers action returns only total follower counts, whereas followers_list and following_list return account lists.

What do the Instagram user_posts parameters mean?

List posts from an Instagram account by username, each with caption, media type, likes, comments, views, location, hashtags and top comments. Full history is not guaranteed, and private Stories and internal reach data are not included.

Full API reference: parameters, code samples, response example and health →
usernameRequired
Identifies an Instagram account handle without the @ symbol or as a full profile URL. Used by profile, persona, user_posts, and reels to fetch account data. The followers action returns only total follower counts, whereas followers_list and following_list return account lists.

What do the Instagram discover parameters mean?

Track posts under an Instagram hashtag passed in keyword, with caption, media type, engagement counts, author follower count, location and post time. Set results_type to reels for short videos; the results do not explain Explore ranking or prove a trend.

Full API reference: parameters, code samples, response example and health →
keywordRequired
Specifies the target hashtag string for the discover action, automatically stripping leading # symbols. This parameter queries hashtags rather than executing general full-text searches, and differs from the tag parameter in the hashtag action.
results_typeOptional
Selects the content type for discover and hashtag: omit it for regular posts, or pass reel or reels for short videos. posts cannot be passed explicitly, and any other value returns 422. It does not choose the response file format.
Allowed values:reelreels

What do the Instagram comments parameters mean?

Read comments on one Instagram post or Reel at url, with text, author, verified badge, likes, reply count and post time. Profile links are not supported, and the full conversation tree is not promised.

Full API reference: parameters, code samples, response example and health →
urlRequired
Specifies a single Instagram post or Reel URL for the comments action. Profile URLs are not supported. For the reels action, passing a URL does not replace the required username parameter.

What do the Instagram reels parameters mean?

Pull an Instagram account's Reels by username, with caption, play count, duration in seconds, likes, comments, music and a subtitle transcript when available. Not every reel has a transcript, and private metrics are not included.

Full API reference: parameters, code samples, response example and health →
usernameRequired
Identifies an Instagram account handle without the @ symbol or as a full profile URL. Used by profile, persona, user_posts, and reels to fetch account data. The followers action returns only total follower counts, whereas followers_list and following_list return account lists.

What do the Instagram hashtag parameters mean?

Collect posts for an Instagram hashtag in hashtag, given without the # sign, with caption, media type, likes, comments, views, author and post time. Pass reels in results_type for short videos; the sample alone does not measure a trend's total volume.

Full API reference: parameters, code samples, response example and health →
hashtagRequired
Accepts an Instagram hashtag string without the leading # symbol (e.g., coffee) to list associated posts or reels. This parameter requires a hashtag name rather than an account handle.
results_typeOptional
Selects the content type for discover and hashtag: omit it for regular posts, or pass reel or reels for short videos. posts cannot be passed explicitly, and any other value returns 422. It does not choose the response file format.
Allowed values:reelreels
tagOptional
Provides compatibility input for the hashtag action, automatically stripping leading # symbols. When both are supplied, hashtag takes precedence. Public requests must still include the required hashtag parameter.

What do the Instagram followers parameters mean?

See how many followers an Instagram account has and how many accounts it follows, by username, along with its ID, display name, avatar and profile link. It returns totals, not who the followers are; followers_list lists the accounts.

Full API reference: parameters, code samples, response example and health →
usernameRequired
Identifies an Instagram account handle without the @ symbol or as a full profile URL. Used by profile, persona, user_posts, and reels to fetch account data. The followers action returns only total follower counts, whereas followers_list and following_list return account lists.

What do the Instagram followers_list parameters mean?

List the accounts that follow an Instagram user, by username, with handle, name, avatar, private and verified flags and relation type. The list may be partial and does not enable automated contact.

Full API reference: parameters, code samples, response example and health →
usernameRequired
Identifies an Instagram account handle without the @ symbol or as a full profile URL. Used by profile, persona, user_posts, and reels to fetch account data. The followers action returns only total follower counts, whereas followers_list and following_list return account lists.

What do the Instagram following_list parameters mean?

List the accounts an Instagram user follows, by username, with handle, name, avatar, private and verified flags and relation type. A follow does not prove affinity or interaction, and the relationship may change.

Full API reference: parameters, code samples, response example and health →
usernameRequired
Identifies an Instagram account handle without the @ symbol or as a full profile URL. Used by profile, persona, user_posts, and reels to fetch account data. The followers action returns only total follower counts, whereas followers_list and following_list return account lists.

How to use the Instagram API

  1. 01Read the public catalog and choose a platform action.
  2. 02Send the platform, action, and required parameters to POST /api/v1/social.
  3. 03Handle a synchronous result, or poll the returned job ID when the action runs asynchronously.
  4. 04Store the structured response fields needed by your application.
instagram_post.sh
curl -X POST https://api.everyinfra.com/api/v1/social \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"platform":"instagram","action":"post","params":{"urls":"<urls>"}}'

Instagram guides

Worked examples and methods built on these actions. Check the current actions, parameters and fields on this page first; an article's examples and limits do not replace the live catalog.

Blog

How to structure creator data for pre-campaign due diligence: avoiding follower counts as audience proof

Creator data products should avoid generating black-box authenticity scores. This article discusses how public metrics, authorized analytics, content and brand alignment, disclosure requirements, small-scale testing, and post-campaign feedback form verifiable due diligence.

Read the article →
Build

Multiplatform Reputation Monitoring Blueprint: Define Scope Before Evaluating Negative Shifts

Design a traceable reputation monitoring workflow starting with target lists, comment identities, and incremental cursors; use offline samples to demonstrate deduplication and ingestion gaps while preserving manual review.

Read the article →
Build

Unified Data API Getting Started: From Capability Catalog to First Available Result

Access multi-platform data using platform, action, and params: read the capability catalog, complete minimal requests, handle asynchronous tasks, partial results, and billing, and establish traceable data records.

Read the article →

Instagram API questions

What can I retrieve with the Instagram API?

Set platform to instagram. The current catalog lists post details, profiles, account insights, posts by user, content discovery, and more. These action names identify different Instagram objects or views; they are not interchangeable search modes.

Does Instagram have an official API?

Instagram's official API serves professional (Business and Creator) accounts; the consumer Basic Display API was retired on December 4, 2024. Data from other accounts is limited to public fields of Business and Creator accounts through Business Discovery, which does not return comment text, and to hashtag search with approved access; both need Meta App Review for production use.

Official sources: Meta: Instagram Platform overview · Meta: update on the Instagram Basic Display API · Checked

Do I need a Instagram developer account or API key?

No. Requests go through EveryInfra with an EveryInfra API key: sign up, create a key in the console and send it as Authorization: Bearer <API_KEY>. You do not register a Instagram developer app, apply for Instagram API access or sign in with a Instagram account, and the actions return public Instagram data only.

How much does the Instagram API cost per 1,000 requests?

$0.56 per 1,000 requests, depending on the action; each action's price is listed in the table on this page and in the public catalog. There is no subscription: you top up a USD balance and pay per call, and failed calls and empty results are not charged.

Which input starts a Instagram `post` request?

Accepts an array of full Instagram post or Reel URLs (e.g., /p/<shortcode>/ or /reel/<shortcode>/) for the post action, billed per target URL. Unlike post, the comments action processes only a single URL. Send it as urls inside params.

Which fields can Instagram `post` return?

Its declared schema includes post_id, text, media_type, and like_count. A declared field can still be absent from an individual record, and every other action has its own field list.

Does every Instagram action return immediately?

Actions labeled asynchronous return a job ID you poll. Every other action can also run asynchronously: add "mode": "async" to the request body to receive a job ID immediately, useful for slow tasks or large limits. The current catalog contains sync delivery and async delivery.