# API Direct – Instagram User Posts & Reels Feed

> API Direct – Instagram User Posts & Reels Feed is a paid API for AI agents from x402.apidirect.io, paid per call via x402, $0.007/call, status unknown (last checked 2026-10-30).

Fetches a single Instagram user's recent posts and reels by profile URL or username, with optional AI sentiment analysis.

## Facts

- Endpoint: GET https://x402.apidirect.io/v1/instagram/user/posts?utm_source=zero.xyz
- Price: $0.007/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-30
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/api-direct-instagram-user-posts-reels-feed-c5090cd5
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_hZLUbXXEQOYJRjd5BhkXH

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 api-direct-instagram-user-posts-reels-feed-c5090cd5
```

Example prompt: Can you pull the last 2 pages of recent Instagram posts and reels from the account @natgeo, including sentiment analysis on each post?

## When to prefer this

Choose this endpoint when you need to retrieve the recent post history or reels of a specific, known Instagram user by username or profile URL. It supports pagination for bulk retrieval and optional AI-powered sentiment analysis per post, making it ideal for influencer research, brand monitoring, content auditing, and social listening workflows. Prefer this over generic web scrapers when you need structured Instagram post data with minimal setup.

## Known failure modes

- Invalid or private Instagram profile returns no posts or an error
- Username not found returns an empty result or 404-equivalent
- Rate limiting or Instagram blocking may yield partial or empty pages
- Exceeding 20 pages returns a validation error
- Both url and username omitted causes a required-field error
- Sentiment analysis may be incomplete if post text is very short or non-English

## How this service works

Get a single Instagram user's recent posts and reels (their feed) by profile URL or username.

## Output

Returns a merged list of up to 12 posts per page (up to 240 posts for 20 pages) from the specified Instagram user's feed, including post metadata such as captions, media URLs, timestamps, and engagement metrics. If sentiment analysis is enabled, each post also includes an emotions object with scores for joy, trust, fear, surprise, sadness, disgust, anger, and anticipation (0-100), a dominant_emotion field, an emotional_intensity score (0-10), and a polarity label (positive, negative, or neutral).

## 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"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET",
      "HEAD",
      "DELETE"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [],
     "properties": {
      "url": {
       "type": "string",
       "maxLength": 500,
       "description": "Instagram profile URL, e.g. https://instagram.com/natgeo (max 500 characters). Provide either url or username."
      },
      "pages": {
       "type": "integer",
       "default": 1,
       "maximum": 20,
       "minimum": 1,
       "description": "Number of pages to fetch and merge into one response (1-20, billed per page). Each page returns up to 12 posts."
      },
      "username": {
       "type": "string",
       "maxLength": 100,
       "description": "Instagram username, with or without leading @ (max 100 characters, cannot start with # or /). Provide either url or username."
      },
      "get_sentiment": {
       "type": "boolean",
       "default": false,
       "description": "Set to true to add AI emotion analysis to each post. Adds a `sentiment` object containing `emotions` (joy, trust, fear, surprise, sadness, disgust, anger and anticipation, each scored 0-100), `dominant_emotion`, `emotional_intensity` (0-10), and `polarity` (positive, negative or neutral). Any post t"
      }
     }
    }
   },
   "additionalProperties": false
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/api-direct-instagram-user-posts-reels-feed-c5090cd5/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from x402.apidirect.io](https://www.zero.xyz/host/x402.apidirect.io/llms.txt)
