# Instagram Profile Posts Feed

> Instagram Profile Posts Feed is a paid API for AI agents from instagram.use.x402atlas.com, paid per call via x402, $0.02/call, status unknown (last checked 2026-09-13).

Fetches a paginated list of an Instagram account's posts by username, including captions, engagement metrics, media metadata, and tagged users

## Facts

- Endpoint: GET https://instagram.use.x402atlas.com/posts/:username
- Price: $0.02/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-13
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/instagram-profile-posts-feed-c3684685
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_cDOqn12PN-tZqPMF6bY-Y

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability instagram-profile-posts-feed-c3684685
```

Example prompt: Can you pull the latest Instagram posts from the account 'nasa' — I want the captions, like counts, comment counts, and any image or video URLs?

## When to prefer this

Use this endpoint when you need structured post-level data from a public Instagram account without setting up your own Instagram API credentials or OAuth flow. It is ideal for bulk content extraction, engagement analytics, influencer research, or social listening pipelines where you need captions, media URLs, and metrics across multiple pages of posts. Prefer this over manual scraping or the official Instagram Graph API when you want a simple pay-per-call model with no setup.

## Known failure modes

- Private or nonexistent account returns empty posts array with a note field explaining the situation
- Expired or invalid cursor returns empty posts with a note, but the paid lookup still runs
- Username with invalid characters (e.g. leading @, spaces) rejected by schema validation before payment
- Rate limiting or Instagram-side blocks may return empty results without error
- Truncated or missing fields on individual posts if Instagram returns incomplete data

## How this service works

Page through an Instagram account's posts by username — captions, like and comment counts, media type, video duration, image and thumbnail URLs, post permalinks, tagged users and location, plus a cursor for the next page. Instagram posts feed, reels listing, creator content history, social post data. No API key.

## Output

Returns a paginated array of post objects, each containing the post ID, permalink URL, caption, like count, comment count, media type (photo/video/carousel), video duration, image and thumbnail URLs, tagged users, location data, owner info, and whether comments or likes are disabled. Also returns a next_cursor and next_cursor_url for fetching subsequent pages. A note field is present if the account is private, unknown, or the cursor has expired.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method",
    "pathParams"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET"
     ],
     "type": "string"
    },
    "pathParams": {
     "type": "object",
     "required": [
      "username"
     ],
     "properties": {
      "username": {
       "type": "string",
       "pattern": "^[A-Za-z0-9._]+$",
       "maxLength": 30,
       "description": "Instagram handle as it appears in the profile URL, e.g. `nasa` for instagram.com/nasa. Case-insensitive, no leading @."
      }
     }
    },
    "queryParams": {
     "type": "object",
     "properties": {
      "cursor": {
       "type": "string",
       "maxLength": 1024,
       "description": "Opaque pagination token returned as `next_cursor` by a previous call. Omit or leave empty to get the first page."
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "required": [
      "username",
      "posts",
      "next_cursor",
      "next_cursor_url"
     ],
     "properties": {
      "note": {
       "type": "string",
       "description": "Present only when the page came back empty (unknown, private or empty account, or an expired cursor). The paid lookup still ran."
      },
      "posts": {
       "type": "array",
       "items": {
        "type": "object",
        "required": [
         "is_video",
         "has_audio",
         "dimensions",
         "likes",
         "comments",
         "comments_disabled",
         "like_and_view_counts_disabled",
         "is_paid_partnership",
         "tagged_users",
         "carousel"
        ],
        "properties": {
         "id": {
          "type": "string"
         },
         "url": {
          "type": "string",
          "description": "Public post permalink, derived from the shortcode"
         },
         "likes": {
          "type": "integer"
         },
         "owner": {
          "type": "object",
          "properties": {
           "id": {
            "type": "string"
           },
           "username": {
            "type": "string"
           }
          }
         },
         "title": {
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/instagram-profile-posts-feed-c3684685/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from instagram.use.x402atlas.com](https://www.zero.xyz/host/instagram.use.x402atlas.com/llms.txt)
