GETProfiles2 credits

Get posts

GET https://api.instagramapi.dev/v1/profile/posts

Paginated list of an account's recent posts (photos, videos, carousels). Use `cursor` to page through.

Build this with an AI agent

Paste this prompt into Claude, Codex, or any coding agent.

Parameters

NameTypeRequiredDescription
handlestringyesAn Instagram account. Accepts a username (`nike`), a numeric user id (`13460080`), or a full profile URL (`https://instagram.com/nike`). We resolve it automatically.
cursorstringnoPagination cursor returned as `next_cursor` in the previous response. Omit for the first page.

Example request

curl "https://api.instagramapi.dev/v1/profile/posts?handle=nike" \
  -H "Authorization: Bearer $INSTAGRAMAPI_KEY"

Try it

Live request · uses 2 credits

Example responses

Switch tabs to see the body shape for success and each error status.

{
  "data": {
    "items": [
      {
        "id": "3912183471120209303",
        "shortcode": "DZK3iOsRlWX",
        "type": "photo",
        "product_type": "feed",
        "url": "https://www.instagram.com/p/DZK3iOsRlWX/",
        "caption": "Just Do It.",
        "taken_at": "2026-06-04T15:59:27Z",
        "like_count": 2499414,
        "comment_count": 55165,
        "view_count": null,
        "image_url": "https://instagram.com/.../media.jpg",
        "video_url": null,
        "video_duration": null,
        "location": null,
        "author": {
          "id": "13460080",
          "username": "nike",
          "full_name": "Nike",
          "is_verified": true,
          "is_private": false,
          "profile_pic_url": "https://instagram.com/.../nike.jpg"
        }
      }
    ],
    "next_cursor": "3919055228681437041_13460080"
  },
  "meta": {
    "endpoint": "profile/posts",
    "request_id": "req_3f8a1c9e",
    "credits_charged": 2,
    "credits_remaining": 4987,
    "ms": 412
  }
}

Response fields

Fields returned under data on a 200 response. Every response also includes a meta object with billing info.

FieldTypeDescription
itemsarray<object>The page of posts.
items[].idstringNumeric post/media id.
items[].shortcodestringThe post's shortcode, the part after /p/ in its instagram.com URL.
items[].typestringMedia type: photo, video, or carousel.
items[].product_typestringMore specific format (e.g. feed, clips, igtv).
items[].urlstringCanonical instagram.com URL for the post.
items[].captionstringThe post's caption text.
items[].taken_atstringWhen the post was published (ISO 8601, UTC).
items[].like_countnumberNumber of likes.
items[].comment_countnumberNumber of comments.
items[].view_countnullView count for video/reel content; null for photos.
items[].image_urlstringURL of the post's image (cover frame for video).
items[].video_urlnullURL of the video file; null for photos.
items[].video_durationnullVideo length in seconds; null for photos.
items[].locationnullPlace tagged on the post, if any; null otherwise.
items[].authorobjectThe account that published the post.
items[].author.idstringNumeric account id (stable even if the username changes).
items[].author.usernamestringThe account's @handle.
items[].author.full_namestringDisplay name shown on the profile (may be empty).
items[].author.is_verifiedbooleanWhether the account has a verified badge.
items[].author.is_privatebooleanWhether the account is private.
items[].author.profile_pic_urlstringURL of the account's profile picture.
next_cursorstringPass back as `cursor` to fetch the next page; null when there are no more results.

Pagination

List endpoints return up to one page of items plus a next_cursor. To fetch the next page, pass it back as the cursor query parameter. When next_cursor is null, you've reached the end.