Instagram · Guide

How to get Instagram tagged posts

TL;DR
To get Instagram tagged posts, sign up for a free Captapi key, then send one GET request to /v1/instagram/tagged-posts with your input. You get clean JSON back in seconds for 1 credit per call — no OAuth, scraping or platform SDKs. Posts that tag an Instagram account — author verified/avatar when available, staleFeed when Instagram only exposes an archive.

How to get Instagram tagged posts (step by step)

  1. 1

    Get a free API key

    Create a free Captapi account (100 credits, no card) and generate an API key from the dashboard.

  2. 2

    Call the Instagram Tagged Posts API

    Send an authenticated GET request to /v1/instagram/tagged-posts with your input. No OAuth, no scraping setup.

  3. 3

    Read the JSON response

    Parse the clean JSON response. Pass cache=true for a free 24h cache hit; default is always fresh.

Code example

curl "https://api.captapi.com/v1/instagram/tagged-posts?url=https%3A%2F%2Fwww.instagram.com%2Fnasa%2F" \
  -H "Authorization: Bearer capt_live_..."
# or: -H "x-api-key: capt_live_..."

What the response looks like

{
  "success": true,
  "data": {
    "url": "https://www.instagram.com/nasa/",
    "totalReturned": 2,
    "hasMore": true,
    "nextCursor": "3600123456789012345_528817151",
    "posts": [
      {
        "platform": "instagram",
        "url": "https://www.instagram.com/p/DexampleNasa1/",
        "id": "3600987654321098765",
        "shortcode": "DexampleNasa1",
        "postType": "Image",
        "productType": "feed",
        "caption": "Stunning view from orbit ? thanks @nasa for the inspiration #space #nasa",
        "description": "Stunning view from orbit ? thanks @nasa for the inspiration #space #nasa",
        "publishedAt": "2026-03-31T14:22:10.000Z",
        "thumbnailUrl": "https://scontent.cdninstagram.com/v/t51.29350-15/example_nasa_tagged_1.jpg",
        "author": {
          "id": "1234567890",
          "username": "spacefan.example",
          "displayName": "Space Fan",
          "url": "https://instagram.com/spacefan.example",
          "verified": false
        },
        "engagement": {
          "likes": 18420,
          "comments": 312
        },
        "hashtags": [
          "space",
          "nasa"
        ],
        "mentions": [
          "nasa"
        ]
      },
      {
        "platform": "instagram",
        "url": "https://www.instagram.com/reel/DexampleNasa2/",
        "id": "3599876543210987654",
        "shortcode": "DexampleNasa2",
        "postType": "Video",
        "productType": "clips",
        "caption": "Launch vibes with @nasa #reels",
        "description": "Launch vibes with @nasa #reels",
        "publishedAt": "2025-08-04T09:10:00.000Z",
        "thumbnailUrl": "https://scontent.cdninstagram.com/v/t51.29350-15/example_nasa_tagged_2.jpg",
        "author": {
          "id": "2345678901",
          "username": "rockets.example",
          "displayName": "Rocket Clips",
          "url": "https://instagram.com/rockets.example"
        },
        "engagement": {
          "views": 240150,
          "likes": 9210,
          "comments": 188
        },
        "hashtags": [
          "reels"
        ],
        "mentions": [
          "nasa"
        ]
      }
    ]
  }
}

Billing metadata (credits charged, cache hit/miss) is returned in the X-Captapi-Credits and X-Captapi-Cache response headers.

Request parameters

NameTypeRequiredDescription
urlstring YesInstagram profile URL, @handle, or username, e.g. https://instagram.com/username/. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.
limitintegerNoMax items to return (default 20, max 200). Flat 1 credit per call.
cursorstringNoLeave empty for the first page; then pass the nextCursor value returned in the previous response.
cachebooleanNoSet true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.

Frequently asked questions

What does the Instagram Tagged Posts API do?

The Instagram Tagged Posts API lets you list items in bulk with metadata from a public Instagram post using one GET request to /v1/instagram/tagged-posts. It returns clean JSON — no OAuth or infrastructure setup required.

How many credits does the Instagram Tagged Posts API cost?

Each successful call costs 1 credit. Pass cache=true to serve from the 24h cache (0 credits on hit); default is always fresh. Selected profile endpoints also accept cacheMaxAge=1d|3d|7d|14d|30d. Failed or empty results are never charged.

Do I need a Instagram API key or OAuth?

No. A single Captapi key works across every platform Captapi supports — YouTube, TikTok, Instagram, Facebook, Twitter/X, Reddit, Threads, Bluesky, Pinterest, LinkedIn, Rumble, Spotify, Kwai, and more. We handle proxies, rate limits, retries, and authentication for you.

Why do some brands return only old tagged posts?

Instagram's usertags feed only returns tags the account still exposes — and on this access path the live Tagged tab is login-gated (90s → 503, 0 credits). When a page does come back it can be a truncated historical window from years ago. Captapi does not invent newer tags. Check staleFeed / newestPublishedAt on every response: when staleFeed is true, do not use the page for live brand or collaboration monitoring. Do not treat a well-known handle as a fixture that still returns rows.

Is the Instagram Tagged Posts API suitable for production use?

Yes. It is a stable REST endpoint with predictable JSON and automatic retries. Pass cache=true to serve from the 24h cache (0 credits on hit); default is always fresh. Selected profile endpoints also accept cacheMaxAge=1d|3d|7d|14d|30d. Use it for analytics, monitoring, and content automation.

Ready to get Instagram tagged posts?

Start free with 100 credits — no credit card required.

Get your free API key