Public profiles, posts, and comments

Instagram API

Start from a username to read a public profile, its feed posts, its followers, and its story highlights. A post's shortcode opens that post and the comments that load with it. Calls are limited to 1 request per second per account.

Capabilities

What you can do with the Instagram API

Accounts are identified by username, without the @, and posts by the shortcode in the post URL. Lists such as posts and followers return a pagination token in meta, and most tokens expire after 15 minutes.

Finding an account

Users search matches a name or username and returns each account's user ID, username, full name, profile picture, and verified and private flags. Hashtag search returns tags with their post counts, and similar accounts lists the profiles Instagram suggests next to a user. See examples

The profile

A username returns the biography, external links, profile pictures, follower, following, and post counts, category, and the verified, private, and business flags. That is usually enough to confirm you have the right account before you pull its posts. See examples

Posts

The posts endpoint returns one page of a user's feed, including photos, videos, and carousels, with captions, like and comment counts, and media URLs. To open a single post or reel, pass its shortcode to the post details endpoint. Keyword search also finds posts and reels. See examples

Followers and following

Follower and following lists come back one page at a time, with each account's user ID, username, full name, private flag, and profile picture. Pass the pagination token from the previous response to keep going. See examples

Comments

Pass a post's shortcode to get the comments that load with it, each with the text, creation time, like count, reply count, and author. Replies are counted but not returned, and only that first batch is available. The API does not list the accounts that liked a post. See examples

Highlights

The highlights endpoint lists the story highlights pinned to a profile, with each highlight's title, created and updated times, media count, and cover image. The stories inside a highlight are not included. See examples

Shortened examples

Sample responses

Each sample is a trimmed object from a response body, and a live call also includes a meta object. The counts and captions are examples.


{
  "id": "17841405822304914",
  "username": "natgeo",
  "full_name": "National Geographic",
  "profile_picture_url": "https://instagram.fdfw1-1.fna.fbcdn.net/v/t51.2885-19/11826035_167876430151828_1430798092_a.jpg",
  "followers_count": 196000000,
  "following_count": 0,
  "media_count": 10000,
  "bio": "Explore the world through the lens of National Geographic photographers.",
  "is_verified": true,
  "website": "https://www.nationalgeographic.com"
"..."
}

{
  "post_id": "2591023561234567890",
  "comments": [
    {
      "id": "17896450831234567",
      "username": "john_doe",
      "text": "Absolutely stunning view! 😍",
      "timestamp": "2025-09-28T12:15:00Z",
      "like_count": 45
    },
    {
      "id": "17896450831234568",
      "username": "travel_addict",
      "text": "Adding this to my bucket list! 🌄",
      "timestamp": "2025-09-28T12:30:00Z",
      "like_count": 32
    }
  ]
}

{
  "id": "2591023561234567890",
  "media_type": "IMAGE",
  "media_url": "https://instagram.fdfw1-1.fna.fbcdn.net/v/t51.2885-15/11826035_167876430151828_1430798092_n.jpg",
  "thumbnail_url": "https://instagram.fdfw1-1.fna.fbcdn.net/v/t51.2885-15/11826035_167876430151828_1430798092_n.jpg",
  "caption": "A breathtaking view of the Grand Canyon at sunset.",
  "like_count": 150000,
  "comments_count": 1200,
  "timestamp": "2025-09-28T12:00:00Z"
"..."
}

{
  "post_id": "2591023561234567890",
  "hashtags": [
    "#GrandCanyon",
    "#Sunset",
    "#TravelPhotography",
    "#NatureLovers"
  ]
}

How a call usually goes

Look up the account with users search, or go straight to the profile if you already know the username. Posts, followers, and highlights are separate calls on that username. For one post, take the shortcode from its URL and request the post details or its comments.

Documentation

The Instagram docs cover search, profiles, posts, followers and following, highlights, post details, comments, and related posts. They also explain pagination tokens, how long they last, and the 1 request per second limit.

Code samples

Every endpoint in the documentation includes a sample request in Shell, JavaScript, PHP, and Python.

ShellShellJavaScriptJavaScriptPHPPHPPythonPython

View documentation

Why SteadyAPI

Public data, one request at a time

The API reads public accounts and posts. Each call returns one object or one page, and calls are limited to 1 request per second per account.

Profile first

A profile call returns the counts and flags that identify an account. Pull posts or followers only after you know it is the account you want.

Pagination tokens

Search, posts, followers, and following return meta.pagination_token. Send it with the same parameters for the next page. A null token means there is no next page, and most tokens expire after 15 minutes.

A short cache

Most responses are cached for 15 to 30 minutes, so repeating the same request inside that window returns the same result. Plan polling intervals around it.

A rate limit you can handle

A call faster than 1 per second gets HTTP 429 with a retry_after value, so a client can wait that long and retry instead of guessing.

Pricing

One plan covers every API

Your plan's monthly requests work on this API and every other SteadyAPI API. Plan details, overage rates, and the Free plan's daily cap are on the pricing page. Need more volume than the largest plan? Email [email protected].

Free
$0.00
$9.99
per month
Starter
$14.99
$19.99
per month
Developer
$39.99
$59.99
per month
Business Popular
$89.99
$99.99
per month
Enterprise
$299.99
$499.99
per month
SubscribeSubscribeSubscribeSubscribeSubscribe
Requests per month50010,00050,0002,500,000
Stock Market API
Options Data API
Crypto Data API
AliExpress API
Reddit API
Booking.com API
Real Estate API
Baseball (MLB) API
Hockey API
Football API
Amazon API
eBay API
Walmart API
Instagram API
Twitter / X API
TikTok API
YouTube API
AutoHub API
ScrapeFlow
Commercial Use
Optional overage rate*$1.50 per 1,000 requests$1.05 per 1,000 requests$0.09 per 1,000 requests
Overage capup to 50,000 extraup to 250,000 extraup to 12,500,000 extra
Free
$0.00
$94.99
per year
Starter
$11.96
$14.35
per month$143.52 billed yearly
Developer
$32.50
$40.00
per month$389.99 billed yearly
Business Popular
$72.50
$90.00
per month$869.99 billed yearly
Enterprise
$320.83
$400.00
per month$3,849.99 billed yearly
SubscribeSubscribeSubscribeSubscribeSubscribe
Requests per month50010,00050,0002,500,000
Stock Market API
Options Data API
Crypto Data API
AliExpress API
Reddit API
Booking.com API
Real Estate API
Baseball (MLB) API
Hockey API
Football API
Amazon API
eBay API
Walmart API
Instagram API
Twitter / X API
TikTok API
YouTube API
AutoHub API
ScrapeFlow
Commercial Use
Optional overage rate*$1.50 per 1,000 requests$1.05 per 1,000 requests$0.09 per 1,000 requests
Overage capup to 50,000 extraup to 250,000 extraup to 12,500,000 extra

* Overage is optional and stays off until you turn it on in Billing. It is available on paid plans billed by card through Stripe, and not during a trial. Usage is counted in monthly periods that start on your billing day, yearly plans included. Requests past the included limit are charged at the plan's rate for each started block of 1,000, up to the overage cap, on one invoice after the period ends. Amounts under $0.50 carry over to the next invoice. If you change plans during a period, the limit and overage rate of the plan you are on when the period ends apply to the whole period.

The Free plan is also capped at 20 requests per day (New York time). Requests count by endpoint weight, and only responses with HTTP status 200 count.

Commercial use is included only on the plans that list it. If you are not sure whether your project counts as commercial use, email [email protected] before you launch.

Also on the blog

From the blog

These posts come from across SteadyAPI, so the one at the top may be about a different API. The reference for this page is the documentation above.

How to Search Hotels Using SteadyAPISep 25, 2026

How to Search Hotels Using SteadyAPI

Learn how to find hotels by destination using SteadyAPI. Resolve a place name to coordinates, then pull property names, ratings, and prices with the Booking.com hotel search endpoints.

READ MORE
Predicting Property Value Trends: How to Use Real Estate Valuation APIsJul 19, 2026

Predicting Property Value Trends: How to Use Real Estate Valuation APIs

Learn how to build a predictive real estate valuation pipeline using SteadyAPI. This guide shows developers how to combine historical property values, multi-provider forecasts, neighborhood market trends, housing market indicators, and comparable sales data to power automated valuation models (AVMs), investment analytics, and property intelligence platforms with structured real-time API data.

READ MORE
How to Fetch Local School Ratings and Neighborhood Amenities via APIJul 19, 2026

How to Fetch Local School Ratings and Neighborhood Amenities via API

Neighborhood insights are just as important as the property itself. This guide shows developers how to use the SteadyAPI Neighborhood Amenities API to fetch school ratings, walkability and transit scores, and nearby amenities through a single endpoint. You'll learn how to authenticate requests, retrieve structured neighborhood data, filter schools and local businesses, and combine these metrics into a custom neighborhood quality score. Whether you're building a real estate marketplace, property valuation model, or location intelligence dashboard, this tutorial helps you enrich listings with valuable contextual data while reducing the complexity of managing multiple third-party integrations.

READ MORE
The Developer’s Guide to Integrating Real-Time MLS Property DataJul 19, 2026

The Developer’s Guide to Integrating Real-Time MLS Property Data

This guide walks developers through building a modern real estate data pipeline with SteadyAPI. You'll learn how to search MLS property listings, retrieve tax and transaction histories, analyze local housing market trends, and enrich property data with neighborhood and environmental insights. Instead of maintaining fragile web scrapers or navigating complex MLS integrations, SteadyAPI provides structured JSON APIs that simplify property data ingestion and help you build faster, more reliable real estate applications. Whether you're creating an investment platform, property valuation engine, market research tool, or analytics dashboard, this tutorial covers the essential endpoints and architecture needed to get started.

READ MORE