Part of 60+ Instagram endpoints

Instagram Posts API

Get a public Instagram account’s posts — images, videos and carousels, with captions, like and comment counts and media URLs — from one REST endpoint. No Instagram login or access token required; paginated JSON, sub-second responses.

No login or token < 1s responses Public data only Free plan available

What the Instagram Posts API does

The InstaGapi Posts API returns a public Instagram account’s feed posts as structured JSON — single images, videos and multi-image carousels alike. Send one authenticated GET request with a username or numeric user ID and you get back each post’s media type, thumbnail and video URLs, caption text, like and comment counts, the taken_at timestamp and the poster’s profile. It is the programmatic equivalent of scrolling a profile grid, without any Instagram login, OAuth flow or access token to manage.

Results are paginated: every response includes a pagination_token that you pass back on the next call to walk through an account’s history page by page. Each item’s media_type tells you what you are looking at — 1 for a photo, 2 for a video, 8 for a carousel — and carousel posts expose their individual children in the resources array. A companion /api/user/tagged endpoint returns the posts other accounts have tagged a user in, so you can track mentions and collaborations alongside an account’s own feed.

All media types

Photos, videos and carousels

Paginated

Walk full post history with tokens

Engagement data

Like and comment counts per post

Quick example

Just send your key in the X-Api-Key header:

curl -H "X-Api-Key: sk_live_your_key_here" \
  "https://api.instagapi.com/api/user/posts?username_or_id=nike"

Example response

Simplified for readability — see the docs for the full schema.

{
  "data": {
    "items": [
      {
        "pk": "3521098472136540891",
        "id": "3521098472136540891_13460080",
        "code": "DKm2qR8vXpL",
        "taken_at": "2026-07-18T15:42:07Z",
        "media_type": 1,               // 1 = image, 2 = video, 8 = carousel
        "product_type": "feed",
        "thumbnail_url": "https://scontent.cdninstagram.com/v/t51.2885-15/dkm2qr8.jpg",
        "location": null,
        "user": {
          "pk": "13460080",
          "id": "13460080",
          "username": "nike",
          "full_name": "Nike",
          "profile_pic_url": "https://scontent.cdninstagram.com/v/t51.2885-19/nike_dp.jpg",
          "is_verified": true
        },
        "comment_count": 4821,
        "comments_disabled": false,
        "like_count": 892134,
        "play_count": 0,
        "has_liked": false,
        "caption_text": "New season, new goals. Link in bio to shop the latest drop.",
        "accessibility_caption": "Photo of an athlete sprinting on a track at sunrise.",
        "video_url": null,
        "video_duration": 0,
        "resources": []
      }
    ],
    "pagination_token": "QVFEX3RkaGZ2c2xna0pNd2..."
  }
}

Endpoints

GET
/api/user/posts

Get a user’s posts (paginated)

username_or_id, pagination_token
GET
/api/user/tagged

Get posts a user is tagged in

username_or_id

What you can build with it

Competitor content analysis

Pull a rival brand’s feed to study posting cadence, formats and which content earns the most engagement over time.

Influencer vetting

Audit an influencer’s real posts and engagement before a partnership — spot spikes, gaps and sponsored history.

Content archiving

Back up a public account’s posts, captions and media URLs into your own store for records, research or migration.

Feeds & aggregators

Power a branded wall, dataset or app by syncing a user’s latest posts into your own database on a schedule.

Related endpoints

One of 60+ endpoints. Explore more in the full documentation:

Frequently asked questions

Can I get Instagram posts without logging in?

Yes. You only need an InstaGapi API key sent in the X-Api-Key header — there is no Instagram login, OAuth or access token to manage.

How do I paginate through all of a user’s posts?

Each response includes a pagination_token. Pass it back as the pagination_token query param on your next /api/user/posts call to fetch the following page, and repeat until no token is returned.

Can I look up posts by user ID as well as username?

Yes. The username_or_id parameter accepts either a username or a numeric user ID, so you can use whichever you already have.

What is the difference between the posts and tagged endpoints?

/api/user/posts returns the posts an account published itself, while /api/user/tagged returns posts from other accounts that tagged the user in them.

How do I tell photos, videos and carousels apart?

Check each item’s media_type — 1 is a photo, 2 is a video and 8 is a carousel. Carousel posts list their individual children in the resources array.

Is scraping public Instagram posts allowed?

InstaGapi returns publicly available data only and is an independent tool, not affiliated with Instagram or Meta. You are responsible for using the data in line with Instagram’s terms and any laws that apply in your jurisdiction.

Start pulling Instagram posts in minutes

Create a free account, grab your API key, and make your first request today. No credit card required.