# agdata Instagram Posts API

> agdata Instagram Posts API is a paid API for AI agents from agdata.shveik.dev, paid per call via x402, $0.0255/call, status unknown (last checked 2026-10-10).

Fetch Instagram posts as structured JSON by profile, hashtag, search query, or user — paid per call with no account required.

## Facts

- Endpoint: POST https://agdata.shveik.dev/v1/x402/instagram?utm_source=zero.xyz
- Price: $0.0255/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-10
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/agdata-instagram-posts-api-c76dbff3
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_nNo1ASYAHzmuGnqj26X72

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 agdata-instagram-posts-api-c76dbff3 -d '<json body>'
```

Example prompt: Pull the last 10 posts from the NatGeo Instagram profile and give me each post's caption, likes, views, and media URL.

## When to prefer this

Choose this endpoint when you need structured Instagram post data (profile feeds, hashtag streams, or search results) without managing Instagram API credentials or OAuth — particularly useful for agents that need quick, pay-per-call access to public Instagram content with engagement metrics included.

## Known failure modes

- Private or restricted accounts return no data or an empty result
- Invalid or non-existent username/hashtag returns empty array
- Exceeding limit bounds (outside 1–20) triggers validation error
- Payment failure (insufficient USDC or x402 misconfiguration) blocks the request
- Rate limiting or Instagram-side blocks may cause transient errors
- Query string exceeding 500 characters is rejected

## How this service works

Unblock any URL as Markdown, or get search, social, maps, jobs and news as data. Paid per call in stablecoins over x402 or MPP, with no account.

## Output

A JSON array of up to 20 Instagram posts, each containing post ID, URL, likes count, views count, author username, author display name, caption text, hashtags list, media URL, media type (image/video), shortcode, posted_at timestamp, and comments count.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "mode": {
   "enum": [
    "profile",
    "hashtag",
    "search",
    "user"
   ],
   "type": "string"
  },
  "limit": {
   "type": "integer",
   "maximum": 20,
   "minimum": 1
  },
  "query": {
   "type": "string",
   "maxLength": 500
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "id": "39831183…",
  "url": "https://…",
  "likes": 77530,
  "views": 3274931,
  "author": "natgeo",
  "caption": "Presente…",
  "hashtags": [],
  "media_url": "https://…",
  "posted_at": "2026-09-…",
  "shortcode": "DdG4RIxI…",
  "media_type": "video",
  "author_name": "National…",
  "comments_count": 496
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/agdata-instagram-posts-api-c76dbff3/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from agdata.shveik.dev](https://www.zero.xyz/host/agdata.shveik.dev/llms.txt)
