API catalog / Instagram API / Get recent posts
Instagram Posts API
A public account's latest posts — captions, likes, comments, media URLs and timestamps — in one call.
https://api.endpointry.com/v1/instagram/postsReturns a public account's most recent posts — image, video/reel and carousel — each with its permalink, caption, like and comment counts, media and thumbnail URLs, dimensions and publish time. Shares the profile snapshot, so a posts call right after a profile call is served from cache. Pagination is cursor-based; today the source serves the latest window, so next_cursor is null.
| posts* | array<object> |
| id* | string |
| shortcode* | stringThe post code; its URL is /p/<shortcode>/. |
| url* | string · uriCanonical permalink to the post. |
| type* | "image" | "video" | "carousel"image = single photo, video = video/reel, carousel = multi-item album. |
| caption* | string | null |
| likes* | integer | nullnull when the author hides counts. |
| comments* | integer | null |
| media_url* | string · uriFull-size image, or the video cover image. |
| thumbnail_url* | string · uri |
| width* | integer |
| height* | integer |
| taken_at* | string · date-timeWhen the post was published (UTC). |
Platform fields, identical on every endpoint — what they mean.
curl "https://api.endpointry.com/v1/instagram/posts?username=nasa" \
-H "Authorization: Bearer sk_live_..."{
"meta": {
"request_id": "req_7729f93d3facf68ff83e5c50",
"as_of": "2026-08-01T12:00:00.000Z",
"cache": "MISS",
"pagination": {
"next_cursor": null,
"limit": 12,
"returned": 1
}
},
"data": {
"posts": [
{
"id": "3953558216907780078",
"shortcode": "Dbd3EBdnW_u",
"url": "https://www.instagram.com/p/Dbd3EBdnW_u/",
"type": "image",
"caption": "Are you ready for the total solar eclipse?",
"likes": 245158,
"comments": 385,
"media_url": "https://scontent.cdninstagram.com/v/t51.2885-15/…jpg",
"thumbnail_url": "https://scontent.cdninstagram.com/v/t51.2885-15/…jpg",
"width": 1080,
"height": 856,
"taken_at": "2026-07-31T18:41:36.000Z"
}
]
}
}What teams build with it
- Campaign and content performance tracking
- UGC curation: pull latest posts into your product
- Competitor content analysis with engagement counts
- Embedding live feeds without client-side scraping
Frequently asked questions
Which post types are returned?
Images, videos and reels, and carousels — each with its type, media URL, thumbnail, dimensions and permalink.
How many posts can I get?
The most recent window, up to 12 per call, newest first. Responses carry the platform-standard cursor pagination fields.
Are like and comment counts included?
Yes, as numbers, exactly as the public page reports them at snapshot time.
Is a posts call extra after a profile call?
They share one snapshot: a posts call right after a profile call for the same account is typically served from cache.
More from the Instagram API
Try it with a free trial
One subscription covers the whole catalog — this endpoint included.