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.

GEThttps://api.endpointry.com/v1/instagram/posts

Returns 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.

Query parameterseditable
username *string
limit *number · 1–12
cursorstring
Response fields (data)
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).
Response meta

Platform fields, identical on every endpoint — what they mean.

Request
curl "https://api.endpointry.com/v1/instagram/posts?username=nasa" \
  -H "Authorization: Bearer sk_live_..."
Loading…
Responseexample
200 · application/json
{
  "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.

Try it with a free trial

One subscription covers the whole catalog — this endpoint included.