# Instagram Profile Fetcher (Single Handle) — withzero.ai

> Instagram Profile Fetcher (Single Handle) — withzero.ai is a paid API for AI agents from instagram.withzero.ai, paid per call via MPP, $0.0011/call, status unknown (last checked 2026-09-15, last successful call 2026-07-23).

Fetches account metadata plus the first ~12 posts and pagination info for a single Instagram handle.

## Facts

- Endpoint: GET https://instagram.withzero.ai/profile
- Price: $0.0011/call
- Payment: MPP
- Status: unknown
- Last checked: 2026-09-15
- Last successful call: 2026-07-23
- Success rate: 79% of calls made through Zero
- Rating: 4.3 / 5 from 4 reviews
- Activations on Zero: 251
- Provider: instagram.withzero.ai
- Website: https://instagram.withzero.ai
- Canonical page: https://www.zero.xyz/c/instagram-withzero-ai-instagram-profile-fetcher-single-handle-446b258d
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_0xLxsW1rMCTupVkBFn9jn

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-withzero-ai-instagram-profile-fetcher-single-handle-446b258d
```

Example prompt: Pull the Instagram profile and latest posts for the account @natgeo — show me follower count, verification status, and up to 12 recent posts with their like counts and captions, only posts newer than January 1 2025.

## When to prefer this

Use this endpoint when you need a quick, flat-rate single-handle Instagram profile fetch with up to 12 posts in one call. Prefer it over the batch endpoint for one-off lookups, and over the cheap metadata-only endpoint when you also need post content. It costs $0.0011 flat — slightly more than the raw Web Unlocker cost but includes structured parsing. Best for single-account monitoring, influencer vetting, or content pipelines.

## Known failure modes

- Private account returns limited or no post data
- Handle not found returns empty or error response
- Rate limiting from underlying Web Unlocker may cause transient failures
- max_posts outside 1–12 range may be clamped or rejected
- since_ts filtering may return fewer than expected posts if account posts infrequently
- Payment not satisfied returns 402 or equivalent rejection

## How this service works

Fetch one handle: account metadata + the first ~12 posts + pageInfo. Query: handle (required), since_ts (unix seconds, keeps timestamp > since_ts), max_posts (1–12, default 12 — sync only returns ~12), only_reels, exclude_reels. Flat $0.0011 per call (≈1.2× the ~$0.0009 Web Unlocker per-request cost).

## Output

Returns a JSON object with the handle, account metadata (followerCount, isPrivate, isVerified, postCount, lastPostAt), an array of up to 12 posts (each with id, shortcode, URL, type, caption, likes, comments, views, thumbnailUrl, and timestamps), and pageInfo (hasNextPage, endCursor) for cursor-based pagination.

## Response schema (JSON Schema)

```json
{
 "type": "object",
 "required": [
  "apiVersion",
  "handle",
  "account",
  "posts",
  "pageInfo"
 ],
 "properties": {
  "posts": {
   "type": "array",
   "items": {
    "type": "object",
    "required": [
     "id",
     "shortcode",
     "url",
     "type",
     "isVideo",
     "caption",
     "timestamp",
     "takenAt",
     "likes",
     "comments",
     "views",
     "thumbnailUrl"
    ],
    "properties": {
     "id": {
      "type": "string"
     },
     "url": {
      "type": "string"
     },
     "type": {
      "enum": [
       "photo",
       "video",
       "carousel",
       "reel"
      ],
      "type": "string"
     },
     "likes": {
      "type": "number",
      "nullable": true
     },
     "views": {
      "type": "number",
      "nullable": true
     },
     "caption": {
      "type": "string"
     },
     "isVideo": {
      "type": "boolean"
     },
     "takenAt": {
      "type": "string"
     },
     "comments": {
      "type": "number",
      "nullable": true
     },
     "shortcode": {
      "type": "string"
     },
     "timestamp": {
      "type": "number"
     },
     "thumbnailUrl": {
      "type": "string",
      "nullable": true
     }
    },
    "additionalProperties": false
   }
  },
  "handle": {
   "type": "string"
  },
  "account": {
   "type": "object",
   "required": [
    "isPrivate",
    "followerCount",
    "postCount",
    "isVerified",
    "lastPostAt"
   ],
   "properties": {
    "isPrivate": {
     "type": "boolean"
    },
    "postCount": {
     "type": "number"
    },
    "isVerified": {
     "type": "boolean"
    },
    "lastPostAt": {
     "type": "string",
     "nullable": true
    },
    "followerCount": {
     "type": "number"
    }
   },
   "additionalProperties": false
  },
  "pageInfo": {
   "type": "object",
   "required": [
    "hasNextPage",
    "endCursor"
   ],
   "properties": {
    "endCursor": {
     "type": "string",
     "nullable": true
    },
    "hasNextPage": {
     "type": "boolean"
    }
   },
   "additionalProperties": false
  },
  "apiVersion": {
   "enum": [
    1
   ],
   "type": "number"
  }
 },
 "additionalProperties": false
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/instagram-withzero-ai-instagram-profile-fetcher-single-handle-446b258d/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from instagram.withzero.ai](https://www.zero.xyz/host/instagram.withzero.ai/llms.txt)
