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.
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
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"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..."
}
}/api/user/postsGet a user’s posts (paginated)
/api/user/taggedGet posts a user is tagged in
Pull a rival brand’s feed to study posting cadence, formats and which content earns the most engagement over time.
Audit an influencer’s real posts and engagement before a partnership — spot spikes, gaps and sponsored history.
Back up a public account’s posts, captions and media URLs into your own store for records, research or migration.
Power a branded wall, dataset or app by syncing a user’s latest posts into your own database on a schedule.
One of 60+ endpoints. Explore more in the full documentation:
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.
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.
Yes. The username_or_id parameter accepts either a username or a numeric user ID, so you can use whichever you already have.
/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.
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.
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.
Create a free account, grab your API key, and make your first request today. No credit card required.