Instagram API

Instagram User reposts API

List the posts a public Instagram account has reposted to its feed, with cursor pagination.

$1.10/1k req, pay per request, no subscription.

What the API returnedposts[0]
{
"id":ย "3487650098231144556",
"shortcode":ย "C9zP4qrTdef",
"url":ย "https://www.instagram.com/p/C9zP4qrTdef/",
"author":ย "ridgeandroam",
"authorId":ย "9004412233",
"authorName":ย "Ridge & Roam",
"authorVerified":ย true,
"authorPrivate":ย false,
... 31 more fields
}
Uptime
100.00%
30d ยท 233 calls
Requests
234
30d ยท weekly, last 12 wks
Response
2.8s
median ยท 30d

Pricing and providers

Instagram User reposts API pricing: one API, 2 interchangeable providers

The cheapest provider serves first. If it fails, the next one takes over in the same call.

You pay
$11.00
$1.10/1k req, only for what you use. No monthly plan.
Your first 90 requests are free with the $0.10 starting balance.

Try it

Get Instagram user reposts in one request

Open in
Get a free key
Sample response
Free runs return only the first 3 results. Fund a key to get the full response.

This sample shows 31 of 51 fields. See every field

{
  "found": true,
  "data": {
    "nextCursor": "QVFEX3JlcG9zdF9jdXJzb3JfMw==",
    "posts": [
      {
        "id": "3487650098231144556",
        "shortcode": "C9zP4qrTdef",
        "url": "https://www.instagram.com/p/C9zP4qrTdef/",
        "author": "ridgeandroam",
        "authorId": "9004412233",
        "authorName": "Ridge & Roam",
        "authorVerified": true,
        "authorPrivate": false,
        "avatarUrl": "https://scontent.cdninstagram.com/v/t51.2885-19/ridgeandroam_profile.jpg",
        "caption": "Sunrise at 11,200 feet, worth every switchback",
        "captionEdited": false,
        "altText": "A hiker looking at a mountain sunrise from a rocky ridge",
        "likes": 41230,
        "comments": 587,
        "views": 0,
        "reshares": 312,
        "createdUtc": 1758830400,
        "image": "https://scontent.cdninstagram.com/v/t51.2885-15/ridgeandroam_post1.jpg",
        "mediaType": "photo",
        "productType": "feed",
        "width": 1080,
        "height": 1350,
        "taggedUsers": [
          {
            "username": "trailheadsupply",
            "userId": "8821345600",
            "displayName": "Trailhead Supply Co."
          }
        ]
      },
      {
        "id": "3487501187762309981",
        "shortcode": "C9yV1osWghi",
        "url": "https://www.instagram.com/p/C9yV1osWghi/",
        "author": "basecampjournal",
        "authorId": "9007765511",
        "authorName": "Basecamp Journal",
        "authorVerified": false,
        "authorPrivate": false,
        "avatarUrl": "https://scontent.cdninstagram.com/v/t51.2885-19/basecampjournal_profile.jpg",
        "caption": "Packed light for a 3 day loop, full gear list on the blog",
        "captionEdited": false,
        "altText": "A backpack and hiking boots laid out on a wooden floor",
        "likes": 8760,
        "comments": 104,
        "views": 0,
        "reshares": 65,
        "createdUtc": 1758744000,
        "image": "https://scontent.cdninstagram.com/v/t51.2885-15/basecampjournal_post1.jpg",
        "mediaType": "carousel",
        "productType": "carousel_container",
        "width": 1080,
        "height": 1080,
        "carouselCount": 4,
        "taggedUsers": [
          {
            "username": "trailheadsupply",
            "userId": "8821345600",
            "displayName": "Trailhead Supply Co."
          }
        ]
      }
    ]
  }
}

Full parameter and response reference - every field, type, and example for this endpoint.

Reference

One request, one response shape.

Every field you send and every field you get back, each with a real example.

Last verified 2026-10-25 ยท uptime and latency measured over 30d

Request body

JSON, posted to this endpoint.

  • userIdstring

    8821345600

    Instagram's numeric account id, as returned by instagram.profile.

  • cursorstring

    Pagination cursor from a previous response's nextCursor.

You send. A small JSON body. The values shown are examples to replace with your own.

Response

JSON, one example value per field.

datadata
  • nextCursorstring

    QVFEX3JlcG9zdF9jdXJzb3JfMw==

    Opaque cursor for the next page of reposts, or null when there are no more. Pass it back as cursor to continue.

each postdata.posts[]

Posts the account has reposted to its feed, newest first. Populated whenever the provider has data for the entity.

  • altTextstring

    A hiker looking at a mountain sunrise from a rocky ridge

    Instagram's generated accessibility description of the media.

  • audioIdstring

    Instagram audio id of the sound; pass it to instagram.audio_reels as audioId to list reels that use it. Absent when the post has no sound.

  • authorstring

    ridgeandroam

    Username of the account that posted it, without the leading @. Populated whenever the provider has data for the entity.

  • authorIdstring

    9004412233

    The author's numeric Instagram account id, as a string.

  • authorNamestring

    Ridge & Roam

    The author's display name.

  • authorPrivateboolean

    false

    Whether the author's account is private.

  • authorVerifiedboolean

    true

    Whether the author carries Instagram's verified badge.

  • avatarUrlstring

    https://scontent.cdninstagram.com/v/t51.2885-19/ridgeandroam_profile.jpg

    Author's profile picture URL, as Instagram's CDN serves it.

  • captionstring

    Sunrise at 11,200 feet, worth every switchback

    Post caption text.

  • captionEditedboolean

    false

    Whether the caption has been edited since posting.

  • carouselCountinteger

    Number of slides, present on carousel posts only.

  • commentsinteger

    587

    Number of comments on the post.

  • countsHiddenboolean

    Whether the author has hidden the like and view counts.

  • createdUtcnumber

    1758830400

    UTC epoch timestamp in seconds (Unix time). Multiply by 1000 for a JS Date in milliseconds.

  • hasAudioboolean

    Whether the video carries an audio track.

  • hashtagsstring[]

    Hashtags carried in the caption, each including its leading #. Populated whenever the provider has data for the entity.

  • heightinteger

    1350

    Media height in pixels.

  • idstring

    3487650098231144556

    The post's numeric Instagram media ID, as a string. Populated whenever the provider has data for the entity.

  • imagestring

    https://scontent.cdninstagram.com/v/t51.2885-15/ridgeandroam_post1.jpg

    Post image or video thumbnail URL, as Instagram's CDN serves it. Populated whenever the provider has data for the entity.

  • likesinteger

    41230

    Number of likes on the post.

  • locationIdstring

    Instagram location id the post is tagged at.

  • locationLatnumber

    Latitude of the tagged location, in decimal degrees.

  • locationLngnumber

    Longitude of the tagged location, in decimal degrees.

  • locationNamestring

    Name of the location the post is tagged at.

  • mediaTypestring

    photo

    What the post is: photo, video or carousel.

  • mentionsstring[]

    Accounts @mentioned in the caption, each including its leading @. Populated whenever the provider has data for the entity.

  • paidPartnershipboolean

    Whether the post is tagged as a paid partnership.

  • productTypestring

    feed

    Instagram's own surface label for the post, such as feed, clips or carousel_container.

  • resharesinteger

    312

    Number of times the post has been reshared, when Instagram reports it.

  • shortcodestring

    C9zP4qrTdef

    The post's short code, the segment Instagram puts in its URL.

  • soundAuthorstring

    Credited artist of a licensed track, or the username of the account whose original audio it is. Absent when the post has no sound.

  • soundTitlestring

    Name of the sound. "Original audio" means the creator's own audio rather than a licensed track. Absent when the post has no sound.

  • urlstring

    https://www.instagram.com/p/C9zP4qrTdef/

    Canonical URL of the post. Populated whenever the provider has data for the entity.

  • videoDurationSecondsnumber

    Video length in seconds, present on video posts and reels only.

  • videoUrlstring

    Direct video file URL, present on video posts and reels only.

  • viewsinteger

    0

    Play count, present on video posts and reels only.

  • widthinteger

    1080

    Media width in pixels.

each coauthordata.posts[].coauthors[]

Accounts listed as coauthors of the post.

  • displayNamestring

    Account display name.

  • userIdstring

    Instagram's numeric account id, as a string.

  • usernamestring

    Instagram username without the leading @.

  • verifiedboolean

    Whether the account carries Instagram's verified badge.

each taggedUserdata.posts[].taggedUsers[]

Accounts tagged in the media.

  • displayNamestring

    Trailhead Supply Co.

    Account display name.

  • userIdstring

    8821345600

    Instagram's numeric account id, as a string.

  • usernamestring

    trailheadsupply

    Instagram username without the leading @.

top level
  • foundboolean

    true

  • reason"not_found"

    Present only when `found` is false, and says why there is no result. `not_found`: the source states the target does not exist, or returned nothing for it. A `found: false` answer is a successful call, not an error, and `costUsd` is what it actually cost.

You get back. Named, typed fields in the same shape whichever source answers.

FAQ

About the Instagram User reposts API

The AnyAPI Instagram User reposts API returns Instagram user reposts data as normalized JSON from one POST call to /v1/run/instagram.user_reposts. List the posts a public Instagram account has reposted to its feed, with cursor pagination. AnyAPI routes each request across 2 sources and falls back automatically when one fails. It costs from $1.10 per 1,000 requests, in US dollars with no subscription and no monthly minimum. Over the last 30 days, 100.0% of Instagram user reposts calls through AnyAPI succeeded, with a median response time of 2.8 seconds across 233 measured calls.

It costs from $1.10 per 1,000 requests, in US dollars with no subscription and no monthly minimum. You fund one USD wallet and each call draws it down. Some failed wallet-funded requests incur processing charges that we pass through at cost, with no markup; the error response shows the amount charged.

List the posts a public Instagram account has reposted to its feed, with cursor pagination. The response is normalized JSON with the same envelope every AnyAPI endpoint returns, so parsing a second endpoint is a change of URL and nothing else.

Over the last 30 days, 100.0% of Instagram user reposts calls through AnyAPI succeeded, with a median response time of 2.8 seconds across 233 measured calls. These are AnyAPI's own measurements of traffic through the gateway, recomputed continuously, not a published service-level target.

Yes. A new AnyAPI account starts with $0.10 of free balance and no card required, which covers 90 Instagram User reposts calls at $0.0011 each.

AnyAPI asks the next of its 2 sources in the same request, cheapest first, so one source going down does not fail your call.

Send a POST request to https://api.getanyapi.com/v1/run/instagram.user_reposts with your AnyAPI key in an "Authorization: Bearer" header and the input as a JSON body. The same key and the same wallet work on every AnyAPI endpoint.

No. You add US dollars to one prepaid AnyAPI balance and each request draws it down. There is no monthly plan and no minimum, and the same balance pays for every AnyAPI endpoint.

Yes. Install @getanyapi/sdk from npm for TypeScript or getanyapi from pip for Python. Both call every AnyAPI endpoint with the same key, and any HTTP client works too.

Yes. An agent can connect to the AnyAPI MCP server at https://api.getanyapi.com/mcp, or create its own free-trial key with one unauthenticated POST to https://api.getanyapi.com/agent/signup and call this endpoint over HTTP.