Instagram User posts API
Paginated grid of a profile’s posts and reels with captions, media URLs and engagement. Paginate with the cursor field.
Provider network
Providers ranked by traffic
Try it
Make your first request
{
"found": true,
"data": {
"nextCursor": "QVFEX2Z",
"posts": [
{
"id": "3401000000000000000",
"url": "https://www.instagram.com/p/C8aBcDeFgHi/",
"caption": "A new view of the Pillars of Creation.",
"likes": 1840000,
"comments": 9200,
"createdUtc": 1717945200,
"username": "nasa",
"verified": true
}
]
}
}interface InstagramUserPostsResponse {
data: {
nextCursor: string | null;
posts: {
avatarUrl?: string;
caption: string;
comments: number;
createdUtc: number;
displayName?: string;
durationSeconds?: number;
id: string;
likes: number;
media?: {
height?: number;
type: string;
url: string;
videoUrl?: string;
width?: number;
}[];
url: string;
userId?: string;
username: string;
verified: boolean;
}[];
} | null;
found: boolean;
reason?: "not_found";
}Full parameter and response reference - every field, type, and example for this endpoint.
Reference
Request, response, and price
Last verified 2026-09-20 · uptime and latency measured over 30dcurl -X POST https://api.getanyapi.com/v1/run/instagram.user_posts \
-H "Authorization: Bearer $ANYAPI_KEY" \
-H "Content-Type: application/json" \
-d '{"handle":"nasa","cursor":"0"}'| Field | Type | Example value |
|---|---|---|
| Request body | ||
| handle | string | "nasa"Instagram username without the leading @. |
| cursor | string | "0"Pagination cursor from a previous response's nextCursor. |
| Response | ||
| found | boolean | true |
| data | object | |
| data.nextCursor | string | "QVFEX2Z" |
| data.posts | array | |
| data.posts[].id | string | "3401000000000000000" |
| data.posts[].url | string | "https://www.instagram.com/p/C8aBcDeFgHi/" |
| data.posts[].caption | string | "A new view of the Pillars of Creation." |
| data.posts[].likes | number | 1840000 |
| data.posts[].comments | number | 9200 |
| data.posts[].createdUtc | number | 1717945200 |
| data.posts[].username | string | "nasa" |
| data.posts[].verified | boolean | true |
| Price | ||
| Price per request | USD | $0.0008 |
| Price /1k req | USD | $0.80 |
FAQ
About the Instagram User posts API
The AnyAPI Instagram User posts API returns Instagram user posts data as normalized JSON from one POST call to /v1/run/instagram.user_posts. Paginated grid of a profile’s posts and reels with captions, media URLs and engagement. Paginate with the cursor field. AnyAPI routes each request across 6 sources and falls back automatically when one fails. It costs from $0.80 per 1,000 requests, in US dollars with no subscription and no monthly minimum. Over the last 30 days, 99.3% of Instagram user posts calls through AnyAPI succeeded, with a median response time of 2.0 seconds across 19,225 measured calls.