# Instagram API guide



## Start with Instagram



Retrieve public profiles, posts, reels and comments. Begin with an account or a post URL, then choose the content or discussion you need.



These requests use your API key and can spend credits. Check the current price on the endpoint page; each new page is a separate request. Later examples use illustrative identifiers: replace them with values from your earlier response.



### 1. Read the public profile



A profile describes the account; private account analytics are not part of this response. [Parameters and current cost →](https://www.monocrawl.com/docs/endpoints/instagram/profile)



**instagram/profile**

```
curl "https://www.monocrawl.com/v1/instagram/profile?handle=nasa" \
  -H "x-api-key: mn_your_key_here"
```



### 2. Collect a page of posts



Use the returned post URLs to open individual posts or retrieve comments. [Parameters and current cost →](https://www.monocrawl.com/docs/endpoints/instagram/posts)



**instagram/posts**

```
curl "https://www.monocrawl.com/v1/instagram/posts?handle=nasa" \
  -H "x-api-key: mn_your_key_here"
```



### 3. Read the discussion



Replace the example URL with a returned post URL. Comments use the default order. Continue with the returned cursor and the same post URL; omit sort. [Parameters and current cost →](https://www.monocrawl.com/docs/endpoints/instagram/post-comments)



**instagram/post-comments**

```
curl "https://www.monocrawl.com/v1/instagram/post-comments?url=https%3A%2F%2Fwww.instagram.com%2Fp%2FB9KI0D2HHe7%2F" \
  -H "x-api-key: mn_your_key_here"
```



## Choose filters with the source behavior in mind



| Control | Behavior and limits |
| --- | --- |
| Account and post identifiers | Use a username for account reads and the returned Instagram URL for a post lookup. A post’s numeric ID and its URL shortcode are different identifiers. Private or removed content may be unavailable. [Endpoint reference →](https://www.monocrawl.com/docs/endpoints/instagram/profile) |
| Posts versus Reels | Choose posts for the account post feed and reels for its Reel feed. Neither endpoint promises every historical publication or identical fields for photos and videos. Video play counts may be absent on photos. [Endpoint reference →](https://www.monocrawl.com/docs/endpoints/instagram/reels) |
| Comment ordering | Comments use the default order; explicit top or recent sorting is not supported. Omit sort and keep the same post URL when following the returned cursor. Unsupported sorting is rejected before any source call or credit charge. [Endpoint reference →](https://www.monocrawl.com/docs/endpoints/instagram/post-comments) |
| Replies | Top-level comments and replies are separate calls. A reply count does not mean the reply bodies are already included. Pass the parent identifier required by the replies endpoint. [Endpoint reference →](https://www.monocrawl.com/docs/endpoints/instagram/comment-replies) |
| Derived engagement | This calculation uses a bounded page of posts with both like and comment counts, divided by the returned follower count. Missing counts are excluded, not replaced with zero. See Computed fields for the exact formula. [Endpoint reference →](https://www.monocrawl.com/docs/endpoints/instagram/engagement) |



Source availability, ordering and field coverage can change. Inspect warnings and partial-result metadata alongside the rows. See [runnable workflows](https://www.monocrawl.com/docs/workflows), [metric semantics](https://www.monocrawl.com/docs/metric-semantics), [computed fields](https://www.monocrawl.com/docs/computed-fields) and the [pagination matrix](https://www.monocrawl.com/docs/pagination).



## Match the operation to your task



| Your task | Endpoint | When to use it |
| --- | --- | --- |
| Find an account by name | [`search-profiles`](https://www.monocrawl.com/docs/endpoints/instagram/search-profiles) | Discover accounts first, then use the chosen handle for profile and feed reads. |
| A post or reel you already know | [`post`](https://www.monocrawl.com/docs/endpoints/instagram/post) | Read one public item by URL. |
| Video content from an account | [`reels`](https://www.monocrawl.com/docs/endpoints/instagram/reels) | Choose reels specifically rather than assuming every feed item is a reel. |
| Engagement over a sample | [`engagement`](https://www.monocrawl.com/docs/endpoints/instagram/engagement) | Calculates a rate from a profile and one posts page; inspect the usable sample size. |



Explore all documented operations by purpose below. Each endpoint reference contains its accepted parameters and current price.



### Other operations



- [`about`](https://www.monocrawl.com/docs/endpoints/instagram/about)

- [`highlight`](https://www.monocrawl.com/docs/endpoints/instagram/highlight)

- [`highlights`](https://www.monocrawl.com/docs/endpoints/instagram/highlights)

- [`similar-accounts`](https://www.monocrawl.com/docs/endpoints/instagram/similar-accounts)



### Posts and media



- [`audio-reels`](https://www.monocrawl.com/docs/endpoints/instagram/audio-reels)

- [`location-posts`](https://www.monocrawl.com/docs/endpoints/instagram/location-posts)

- [`post`](https://www.monocrawl.com/docs/endpoints/instagram/post)

- [`post-count`](https://www.monocrawl.com/docs/endpoints/instagram/post-count)

- [`post-likers`](https://www.monocrawl.com/docs/endpoints/instagram/post-likers)

- [`post-stats`](https://www.monocrawl.com/docs/endpoints/instagram/post-stats)

- [`posts`](https://www.monocrawl.com/docs/endpoints/instagram/posts)

- [`posts/full`](https://www.monocrawl.com/docs/endpoints/instagram/posts/full)

- [`reels`](https://www.monocrawl.com/docs/endpoints/instagram/reels)

- [`reels/full`](https://www.monocrawl.com/docs/endpoints/instagram/reels/full)

- [`reposts`](https://www.monocrawl.com/docs/endpoints/instagram/reposts)

- [`stories`](https://www.monocrawl.com/docs/endpoints/instagram/stories)

- [`story`](https://www.monocrawl.com/docs/endpoints/instagram/story)

- [`tagged-posts`](https://www.monocrawl.com/docs/endpoints/instagram/tagged-posts)



### Accounts and audiences



- [`basic-profile`](https://www.monocrawl.com/docs/endpoints/instagram/basic-profile)

- [`engagement`](https://www.monocrawl.com/docs/endpoints/instagram/engagement)

- [`profile`](https://www.monocrawl.com/docs/endpoints/instagram/profile)

- [`profile-embed`](https://www.monocrawl.com/docs/endpoints/instagram/profile-embed)

- [`profile-followers`](https://www.monocrawl.com/docs/endpoints/instagram/profile-followers)

- [`profile-following`](https://www.monocrawl.com/docs/endpoints/instagram/profile-following)

- [`profile/full`](https://www.monocrawl.com/docs/endpoints/instagram/profile/full)



### Comments and replies



- [`comment`](https://www.monocrawl.com/docs/endpoints/instagram/comment)

- [`comment-replies`](https://www.monocrawl.com/docs/endpoints/instagram/comment-replies)

- [`post-comments`](https://www.monocrawl.com/docs/endpoints/instagram/post-comments)



### Transcripts



- [`post-transcript`](https://www.monocrawl.com/docs/endpoints/instagram/post-transcript)



### Search and discovery



- [`reels-trending`](https://www.monocrawl.com/docs/endpoints/instagram/reels-trending)

- [`search`](https://www.monocrawl.com/docs/endpoints/instagram/search)

- [`search-hashtag`](https://www.monocrawl.com/docs/endpoints/instagram/search-hashtag)

- [`search-locations`](https://www.monocrawl.com/docs/endpoints/instagram/search-locations)

- [`search-music`](https://www.monocrawl.com/docs/endpoints/instagram/search-music)

- [`search-profiles`](https://www.monocrawl.com/docs/endpoints/instagram/search-profiles)

- [`search-reels`](https://www.monocrawl.com/docs/endpoints/instagram/search-reels)

- [`search-top`](https://www.monocrawl.com/docs/endpoints/instagram/search-top)

- [`username-suggestions`](https://www.monocrawl.com/docs/endpoints/instagram/username-suggestions)



## Endpoint reference

## instagram/about

`GET /v1/instagram/about`

Public account transparency: country, month joined and verification status when supplied. Unknown ads and former-name counts remain null. Handle lookup is included in the credit price.

*Instagram account transparency panel*

| Parameter | Required | Description |
| --- | --- | --- |
| `handle` | yes | Instagram username or profile URL An optional leading @ is accepted and removed before lookup. — e.g. `nasa` |
| `user_id` | no | The numeric account id, if already known: skips the lookup request |
| `dry_run` | no | Read a zero-credit estimate without fetching sources, running AI, or reserving credits. Cache status is a snapshot, not a guarantee at execution. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable. — e.g. `1` |

### Useful optional inputs

- `dry_run`: Read a free estimate before fetching sources or scheduling paid work. Zero credits; cache status and availability are snapshots rather than guarantees.

**Cost:** 10 credits at list price per successful uncached response; variable-cost operations may quote or settle a different charge. Confirmed uncharged or refunded failures report zero. Pending reconciliation can report credits_used:null; retain request_id and the original idempotency key.

```bash
curl "https://www.monocrawl.com/v1/instagram/about?handle=nasa" \
  -H "x-api-key: mn_your_key_here"
```

### Response data

Illustrative abbreviated data; documented core fields are optional and may be null. Additional source fields are allowed.

```json
{
  "handle": "example",
  "date_joined": null,
  "country": null
}
```

[Field reference](https://www.monocrawl.com/docs/endpoints/instagram/about#response) · [JSON Schema for response.data](https://www.monocrawl.com/schemas/instagram/about.json)


## instagram/audio-reels

`GET /v1/instagram/audio-reels`

Reels that use a specific audio track — sound-trend intelligence for Instagram. Paged by cursor.

*Reels using an audio*

| Parameter | Required | Description |
| --- | --- | --- |
| `audio_id` | yes | Instagram audio id. — e.g. `1392969992841787` |
| `cursor` | no | Opaque cursor from the previous page. |
| `include_audio` | no | Opt in to a native audio page with sound metadata, supplied reel total and trend flags at the same price. Results can differ from ordinary audio search. Later pages may retain first-page metadata; check scope and observation times. Keep the option with its cursor. Accepted values: true, false. Case, spaces, hyphens and underscores are interchangeable. — e.g. `true` |
| `dry_run` | no | Read a zero-credit estimate without fetching sources, running AI, or reserving credits. Cache status is a snapshot, not a guarantee at execution. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable. — e.g. `1` |

### Useful optional inputs

- `cursor`: Continue the same source traversal with the complete returned cursor. Saved-result retrieval and a new source page can have different prices; quote the next call.
- `dry_run`: Read a free estimate before fetching sources or scheduling paid work. Zero credits; cache status and availability are snapshots rather than guarantees.

**Cost:** 1 credit at list price per successful uncached response; variable-cost operations may quote or settle a different charge. Confirmed uncharged or refunded failures report zero. Pending reconciliation can report credits_used:null; retain request_id and the original idempotency key.

```bash
curl "https://www.monocrawl.com/v1/instagram/audio-reels?audio_id=1392969992841787" \
  -H "x-api-key: mn_your_key_here"
```

### Response data

Illustrative abbreviated data; documented core fields are optional and may be null. Additional source fields are allowed.

```json
{
  "cursor": null,
  "dropped": 0,
  "has_more": false,
  "items": [
    {
      "author": {
        "avatar_url": "https://example.com/example",
        "handle": "example",
        "id": "example",
        "name": "example",
        "private": false,
        "verified": false
      },
      "caption": "example",
      "carousel": [],
      "coauthors": [],
      "code": "example",
      "created_at": "2026-09-01T12:00:00Z",
      "display_url": "https://example.com/example",
      "duration_s": 0,
      "has_audio": false,
      "id": "example",
      "is_paid_partnership": false,
      "is_video": false,
      "location": {
        "id": "example",
        "latitude": 0,
        "longitude": 0,
        "name": "example"
      },
      "media_urls": [
        "example"
      ],
      "platform": "example",
      "product_type": "example",
      "stats": {
        "comments": 0,
        "likes": 0,
        "plays": 0
      },
      "thumbnail_url": "https://example.com/example",
      "url": "https://example.com/example",
      "video_url": "https://example.com/example"
    }
  ]
}
```

[Field reference](https://www.monocrawl.com/docs/endpoints/instagram/audio-reels#response) · [JSON Schema for response.data](https://www.monocrawl.com/schemas/instagram/audio-reels.json)


## instagram/basic-profile

`GET /v1/instagram/basic-profile`

A profile looked up by its numeric id — the id comments and tags carry — in the same shape as the profile route.

*Instagram profile by id*

| Parameter | Required | Description |
| --- | --- | --- |
| `user_id` | yes | Numeric Instagram account ID containing digits only. For a username, use instagram/profile with handle; its returned data.id can be used here. Each successful lookup uses its normal price. Missing or non-numeric IDs are rejected before any source call or credit reservation. — e.g. `528817151` |
| `dry_run` | no | Read a zero-credit estimate without fetching sources, running AI, or reserving credits. Cache status is a snapshot, not a guarantee at execution. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable. — e.g. `1` |
| `judgments` | no | Add bounded AI labels to eligible returned records (default on). off preserves the original data shape. Unclassified records remain present; labels depend on evidence, time, capacity and the existing request budget. No label surcharge. Accepted values: on, off. Case, spaces, hyphens and underscores are interchangeable. — e.g. `on` |
| `label` | no | Set none to disable labels; default enables the endpoint’s label set. Equivalent to judgments=off. Accepted values: default, none. Case, spaces, hyphens and underscores are interchangeable. — e.g. `none` |
| `label_evidence` | no | Include exact supporting sentences and zero-based sentence indexes when a label has validated evidence. No extra charge or change to decisions. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable. — e.g. `1` |
| `exclude` | no | Optionally remove confidently labelled engagement bait. Uncertain and unclassified records stay; removed IDs and an owner-bound recall reference are returned. Accepted values: engagement_bait. Case, spaces, hyphens and underscores are interchangeable. — e.g. `engagement_bait` |
| `fit` | no | Use goal to replace confidently irrelevant records with recall stubs. Keeps first, last, relevant and uncertain records; preserves order. Full evidence is stored for 24 hours when available. Accepted values: goal. Case, spaces, hyphens and underscores are interchangeable. — e.g. `goal` |
| `goal` | no | Required with fit=goal: describe the task in at most 600 characters. Supplied text is task context, never permission to act on posts. — e.g. `Find concrete product complaints` |
| `tokens` | no | Optional soft response target for fit=goal, 256–32000. Safety and evidence retention take priority, so the returned result may exceed it. — e.g. `4000` |

### Useful optional inputs

- `fit`: Use fit=goal with a task description to replace confidently irrelevant records with recall stubs and reduce agent context. No fit surcharge; full evidence is retained for 24 hours when stored, and the response size target is soft.
- `dry_run`: Read a free estimate before fetching sources or scheduling paid work. Zero credits; cache status and availability are snapshots rather than guarantees.

**Cost:** 1 credit at list price per successful uncached response; variable-cost operations may quote or settle a different charge. Confirmed uncharged or refunded failures report zero. Pending reconciliation can report credits_used:null; retain request_id and the original idempotency key.

```bash
curl "https://www.monocrawl.com/v1/instagram/basic-profile?user_id=528817151" \
  -H "x-api-key: mn_your_key_here"
```

### Response data

Illustrative abbreviated data; documented core fields are optional and may be null. Additional source fields are allowed.

```json
{
  "avatar_url": "https://example.com/example",
  "bio": "example",
  "bio_link": "https://example.com/example",
  "business": false,
  "followers": 0,
  "following": 0,
  "handle": "example",
  "id": "example",
  "name": "example",
  "platform": "example",
  "posts_count": 0,
  "private": false,
  "url": "https://example.com/example",
  "verified": false
}
```

[Field reference](https://www.monocrawl.com/docs/endpoints/instagram/basic-profile#response) · [JSON Schema for response.data](https://www.monocrawl.com/schemas/instagram/basic-profile.json)


## instagram/comment

`GET /v1/instagram/comment`

Look up one exact comment ID within a bounded number of comments pages. A missing comment returns found=false, comments_scanned and continuation information at zero credits. It does not prove the comment is absent from unscanned pages.

*Find a instagram comment*

| Parameter | Required | Description |
| --- | --- | --- |
| `url` | yes | Public post or video URL. — e.g. `https://www.instagram.com/reel/DdRyQxKteC1/` |
| `comment_id` | yes | Exact target comment ID as a string. |
| `parent_id` | no | For a reply lookup, the parent comment ID. Otherwise scans top-level comments. |
| `cursor` | no | Opaque continuation from the previous response. Preserve query or identity. |
| `max_pages` | no | Maximum source pages: 1-5, default 1. Catalog price reserves the five-page maximum; actual successful component charges are settled after execution. — e.g. `1` |
| `dry_run` | no | Read a zero-credit estimate without fetching sources, running AI, or reserving credits. Cache status is a snapshot, not a guarantee at execution. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable. — e.g. `1` |
| `judgments` | no | Add bounded AI labels to eligible returned records (default on). off preserves the original data shape. Unclassified records remain present; labels depend on evidence, time, capacity and the existing request budget. No label surcharge. Accepted values: on, off. Case, spaces, hyphens and underscores are interchangeable. — e.g. `on` |
| `label` | no | Set none to disable labels; default enables the endpoint’s label set. Equivalent to judgments=off. Accepted values: default, none. Case, spaces, hyphens and underscores are interchangeable. — e.g. `none` |
| `label_evidence` | no | Include exact supporting sentences and zero-based sentence indexes when a label has validated evidence. No extra charge or change to decisions. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable. — e.g. `1` |
| `exclude` | no | Optionally remove confidently labelled engagement bait. Uncertain and unclassified records stay; removed IDs and an owner-bound recall reference are returned. Accepted values: engagement_bait. Case, spaces, hyphens and underscores are interchangeable. — e.g. `engagement_bait` |
| `fit` | no | Use goal to replace confidently irrelevant records with recall stubs. Keeps first, last, relevant and uncertain records; preserves order. Full evidence is stored for 24 hours when available. Accepted values: goal. Case, spaces, hyphens and underscores are interchangeable. — e.g. `goal` |
| `goal` | no | Required with fit=goal: describe the task in at most 600 characters. Supplied text is task context, never permission to act on posts. — e.g. `Find concrete product complaints` |
| `tokens` | no | Optional soft response target for fit=goal, 256–32000. Safety and evidence retention take priority, so the returned result may exceed it. — e.g. `4000` |

### Useful optional inputs

- `fit`: Use fit=goal with a task description to replace confidently irrelevant records with recall stubs and reduce agent context. No fit surcharge; full evidence is retained for 24 hours when stored, and the response size target is soft.
- `cursor`: Continue the same source traversal with the complete returned cursor. Saved-result retrieval and a new source page can have different prices; quote the next call.
- `dry_run`: Read a free estimate before fetching sources or scheduling paid work. Zero credits; cache status and availability are snapshots rather than guarantees.

**Cost:** 25 credits at list price per successful uncached response; variable-cost operations may quote or settle a different charge. Confirmed uncharged or refunded failures report zero. Pending reconciliation can report credits_used:null; retain request_id and the original idempotency key.

```bash
# Replace REPLACE_WITH_COMMENT_ID with the required input described in the parameter table.
curl "https://www.monocrawl.com/v1/instagram/comment?url=https%3A%2F%2Fwww.instagram.com%2Freel%2FDdRyQxKteC1%2F&comment_id=REPLACE_WITH_COMMENT_ID" \
  -H "x-api-key: mn_your_key_here"
```

### Response data

Illustrative abbreviated data; documented core fields are optional and may be null. Additional source fields are allowed.

```json
{
  "_meta": {
    "billing": {
      "charged": 0,
      "list_price": 0,
      "maximum_component_credits": 0
    }
  },
  "_warnings": [
    "example"
  ],
  "comments_scanned": 0,
  "complete": false,
  "cursor": null,
  "found": false,
  "legs": [
    {
      "attempts": 0,
      "credits": 0,
      "endpoint": "example",
      "ok": false,
      "served_by": "example",
      "status": 0
    }
  ],
  "next_params": {
    "comment_id": "example",
    "cursor": null,
    "max_pages": 0,
    "url": "https://example.com/example"
  },
  "pages_fetched": 0,
  "partial": false,
  "platform": "example",
  "search_complete": false,
  "source_metadata": {
    "cursor": null,
    "has_more": false
  },
  "stop_reason": "example"
}
```

[Field reference](https://www.monocrawl.com/docs/endpoints/instagram/comment#response) · [JSON Schema for response.data](https://www.monocrawl.com/schemas/instagram/comment.json)


## instagram/comment-replies

`GET /v1/instagram/comment-replies`

The reply thread under one Instagram comment. Paged by cursor.

*Comment replies*

| Parameter | Required | Description |
| --- | --- | --- |
| `url` | yes | Full Instagram post/reel URL. — e.g. `https://www.instagram.com/reel/C8rKmYvsrck` |
| `comment_id` | yes | Comment id from instagram/post-comments. — e.g. `18038110327814211` |
| `cursor` | no | Opaque cursor from the previous page. |
| `dry_run` | no | Read a zero-credit estimate without fetching sources, running AI, or reserving credits. Cache status is a snapshot, not a guarantee at execution. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable. — e.g. `1` |
| `judgments` | no | Add bounded AI labels to eligible returned records (default on). off preserves the original data shape. Unclassified records remain present; labels depend on evidence, time, capacity and the existing request budget. No label surcharge. Accepted values: on, off. Case, spaces, hyphens and underscores are interchangeable. — e.g. `on` |
| `label` | no | Set none to disable labels; default enables the endpoint’s label set. Equivalent to judgments=off. Accepted values: default, none. Case, spaces, hyphens and underscores are interchangeable. — e.g. `none` |
| `label_evidence` | no | Include exact supporting sentences and zero-based sentence indexes when a label has validated evidence. No extra charge or change to decisions. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable. — e.g. `1` |
| `exclude` | no | Optionally remove confidently labelled engagement bait. Uncertain and unclassified records stay; removed IDs and an owner-bound recall reference are returned. Accepted values: engagement_bait. Case, spaces, hyphens and underscores are interchangeable. — e.g. `engagement_bait` |
| `fit` | no | Use goal to replace confidently irrelevant records with recall stubs. Keeps first, last, relevant and uncertain records; preserves order. Full evidence is stored for 24 hours when available. Accepted values: goal. Case, spaces, hyphens and underscores are interchangeable. — e.g. `goal` |
| `goal` | no | Required with fit=goal: describe the task in at most 600 characters. Supplied text is task context, never permission to act on posts. — e.g. `Find concrete product complaints` |
| `tokens` | no | Optional soft response target for fit=goal, 256–32000. Safety and evidence retention take priority, so the returned result may exceed it. — e.g. `4000` |

### Useful optional inputs

- `fit`: Use fit=goal with a task description to replace confidently irrelevant records with recall stubs and reduce agent context. No fit surcharge; full evidence is retained for 24 hours when stored, and the response size target is soft.
- `cursor`: Continue the same source traversal with the complete returned cursor. Saved-result retrieval and a new source page can have different prices; quote the next call.
- `dry_run`: Read a free estimate before fetching sources or scheduling paid work. Zero credits; cache status and availability are snapshots rather than guarantees.

**Cost:** 2 credits at list price per successful uncached response; variable-cost operations may quote or settle a different charge. Confirmed uncharged or refunded failures report zero. Pending reconciliation can report credits_used:null; retain request_id and the original idempotency key.

```bash
curl "https://www.monocrawl.com/v1/instagram/comment-replies?url=https%3A%2F%2Fwww.instagram.com%2Freel%2FC8rKmYvsrck&comment_id=18038110327814211" \
  -H "x-api-key: mn_your_key_here"
```

### Response data

Illustrative abbreviated data; documented core fields are optional and may be null. Additional source fields are allowed.

```json
{
  "items": [
    {
      "id": "3500000000000000002",
      "text": "Useful setup",
      "likes": 3,
      "reply_count": 0,
      "author": {
        "handle": "example_reader"
      }
    }
  ],
  "cursor": null,
  "has_more": null
}
```

[Field reference](https://www.monocrawl.com/docs/endpoints/instagram/comment-replies#response) · [JSON Schema for response.data](https://www.monocrawl.com/schemas/instagram/comment-replies.json)


## instagram/engagement

`GET /v1/instagram/engagement`

One profile plus one posts page. Computes mean likes plus comments divided by current followers, with paired sample size and formula. Missing metrics excluded. No account-wide or historical inference. Each fresh component call costs at least 5 credits; cache hits use their lower normal price.

*Instagram sampled engagement*

| Parameter | Required | Description |
| --- | --- | --- |
| `handle` | yes | Instagram username without @. An optional leading @ is accepted and removed before lookup. — e.g. `nasa` |
| `dry_run` | no | Read a zero-credit estimate without fetching sources, running AI, or reserving credits. Cache status is a snapshot, not a guarantee at execution. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable. — e.g. `1` |

### Useful optional inputs

- `dry_run`: Read a free estimate before fetching sources or scheduling paid work. Zero credits; cache status and availability are snapshots rather than guarantees.

**Cost:** 10 credits at list price per successful uncached response; variable-cost operations may quote or settle a different charge. Confirmed uncharged or refunded failures report zero. Pending reconciliation can report credits_used:null; retain request_id and the original idempotency key.

```bash
curl "https://www.monocrawl.com/v1/instagram/engagement?handle=nasa" \
  -H "x-api-key: mn_your_key_here"
```

### Response data

Illustrative abbreviated data; documented core fields are optional and may be null. Additional source fields are allowed.

```json
{
  "items": [],
  "computed": {
    "followers": 1200,
    "posts_observed": 3,
    "posts_with_both_metrics": 2,
    "average_interactions": 24,
    "engagement_rate_percent": 2
  }
}
```

[Field reference](https://www.monocrawl.com/docs/endpoints/instagram/engagement#response) · [JSON Schema for response.data](https://www.monocrawl.com/schemas/instagram/engagement.json)


## instagram/highlight

`GET /v1/instagram/highlight`

Every item inside one story highlight, as normalized media.

*Highlight items*

| Parameter | Required | Description |
| --- | --- | --- |
| `id` | yes | Highlight id from instagram/highlights. — e.g. `18195781759377100` |
| `dry_run` | no | Read a zero-credit estimate without fetching sources, running AI, or reserving credits. Cache status is a snapshot, not a guarantee at execution. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable. — e.g. `1` |

### Useful optional inputs

- `dry_run`: Read a free estimate before fetching sources or scheduling paid work. Zero credits; cache status and availability are snapshots rather than guarantees.

**Cost:** 1 credit at list price per successful uncached response; variable-cost operations may quote or settle a different charge. Confirmed uncharged or refunded failures report zero. Pending reconciliation can report credits_used:null; retain request_id and the original idempotency key.

```bash
curl "https://www.monocrawl.com/v1/instagram/highlight?id=18195781759377100" \
  -H "x-api-key: mn_your_key_here"
```

### Response data

Illustrative abbreviated data; documented core fields are optional and may be null. Additional source fields are allowed.

```json
{
  "cover": "example",
  "id": "example",
  "items": [
    {
      "author": {
        "avatar_url": "https://example.com/example",
        "handle": "example",
        "id": "example",
        "name": "example",
        "private": false,
        "verified": false
      },
      "carousel": [],
      "coauthors": [],
      "code": "example",
      "created_at": "2026-09-01T12:00:00Z",
      "display_url": "https://example.com/example",
      "duration_s": 0,
      "has_audio": false,
      "id": "example",
      "is_paid_partnership": false,
      "is_video": false,
      "media_urls": [
        "example"
      ],
      "platform": "example",
      "product_type": "example",
      "stats": {},
      "thumbnail_url": "https://example.com/example",
      "url": "https://example.com/example",
      "video_url": "https://example.com/example"
    }
  ],
  "media_count": 0,
  "platform": "example",
  "title": "example"
}
```

[Field reference](https://www.monocrawl.com/docs/endpoints/instagram/highlight#response) · [JSON Schema for response.data](https://www.monocrawl.com/schemas/instagram/highlight.json)


## instagram/highlights

`GET /v1/instagram/highlights`

An account's story highlights: id, title and cover. The id feeds instagram/highlight.

*Profile highlights*

| Parameter | Required | Description |
| --- | --- | --- |
| `handle` | yes | Instagram username (or pass user_id). An optional leading @ is accepted and removed before lookup. — e.g. `nasa` |
| `user_id` | no | Numeric user id — alternative to handle. |
| `dry_run` | no | Read a zero-credit estimate without fetching sources, running AI, or reserving credits. Cache status is a snapshot, not a guarantee at execution. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable. — e.g. `1` |

### Useful optional inputs

- `dry_run`: Read a free estimate before fetching sources or scheduling paid work. Zero credits; cache status and availability are snapshots rather than guarantees.

**Cost:** 1 credit at list price per successful uncached response; variable-cost operations may quote or settle a different charge. Confirmed uncharged or refunded failures report zero. Pending reconciliation can report credits_used:null; retain request_id and the original idempotency key.

```bash
curl "https://www.monocrawl.com/v1/instagram/highlights?handle=nasa" \
  -H "x-api-key: mn_your_key_here"
```

### Response data

Illustrative abbreviated data; documented core fields are optional and may be null. Additional source fields are allowed.

```json
{
  "items": [
    {
      "cover": "example",
      "id": "example",
      "platform": "example",
      "title": "example"
    }
  ]
}
```

[Field reference](https://www.monocrawl.com/docs/endpoints/instagram/highlights#response) · [JSON Schema for response.data](https://www.monocrawl.com/schemas/instagram/highlights.json)


## instagram/location-posts

`GET /v1/instagram/location-posts`

Posts tagged at a place, most recent or top-ranked, with captions, counts and authors; paged by cursor.

*Instagram location posts*

| Parameter | Required | Description |
| --- | --- | --- |
| `id` | yes | Numeric location id — the number in an Instagram place page URL (instagram.com/explore/locations/<id>/…) — e.g. `212988663` |
| `tab` | no | recent (chronological, default) or top (ranked) Accepted values: recent, top. Case, spaces, hyphens and underscores are interchangeable. — e.g. `recent` |
| `cursor` | no | Cursor from the previous page |
| `dry_run` | no | Read a zero-credit estimate without fetching sources, running AI, or reserving credits. Cache status is a snapshot, not a guarantee at execution. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable. — e.g. `1` |
| `judgments` | no | Add bounded AI labels to eligible returned records (default on). off preserves the original data shape. Unclassified records remain present; labels depend on evidence, time, capacity and the existing request budget. No label surcharge. Accepted values: on, off. Case, spaces, hyphens and underscores are interchangeable. — e.g. `on` |
| `label` | no | Set none to disable labels; default enables the endpoint’s label set. Equivalent to judgments=off. Accepted values: default, none. Case, spaces, hyphens and underscores are interchangeable. — e.g. `none` |
| `label_evidence` | no | Include exact supporting sentences and zero-based sentence indexes when a label has validated evidence. No extra charge or change to decisions. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable. — e.g. `1` |
| `exclude` | no | Optionally remove confidently labelled engagement bait. Uncertain and unclassified records stay; removed IDs and an owner-bound recall reference are returned. Accepted values: engagement_bait. Case, spaces, hyphens and underscores are interchangeable. — e.g. `engagement_bait` |
| `fit` | no | Use goal to replace confidently irrelevant records with recall stubs. Keeps first, last, relevant and uncertain records; preserves order. Full evidence is stored for 24 hours when available. Accepted values: goal. Case, spaces, hyphens and underscores are interchangeable. — e.g. `goal` |
| `goal` | no | Required with fit=goal: describe the task in at most 600 characters. Supplied text is task context, never permission to act on posts. — e.g. `Find concrete product complaints` |
| `tokens` | no | Optional soft response target for fit=goal, 256–32000. Safety and evidence retention take priority, so the returned result may exceed it. — e.g. `4000` |

### Useful optional inputs

- `fit`: Use fit=goal with a task description to replace confidently irrelevant records with recall stubs and reduce agent context. No fit surcharge; full evidence is retained for 24 hours when stored, and the response size target is soft.
- `cursor`: Continue the same source traversal with the complete returned cursor. Saved-result retrieval and a new source page can have different prices; quote the next call.
- `dry_run`: Read a free estimate before fetching sources or scheduling paid work. Zero credits; cache status and availability are snapshots rather than guarantees.

**Cost:** 2 credits at list price per successful uncached response; variable-cost operations may quote or settle a different charge. Confirmed uncharged or refunded failures report zero. Pending reconciliation can report credits_used:null; retain request_id and the original idempotency key.

```bash
curl "https://www.monocrawl.com/v1/instagram/location-posts?id=212988663" \
  -H "x-api-key: mn_your_key_here"
```

### Response data

Illustrative abbreviated data; documented core fields are optional and may be null. Additional source fields are allowed.

```json
{
  "count": 0,
  "cursor": null,
  "dropped": 0,
  "has_more": false,
  "items": [
    {
      "author": {
        "handle": "example",
        "id": "example"
      },
      "caption": "example",
      "carousel": [
        {}
      ],
      "coauthors": [],
      "code": "example",
      "created_at": "2026-09-01T12:00:00Z",
      "display_url": "https://example.com/example",
      "id": "example",
      "is_video": false,
      "media_urls": [
        "example"
      ],
      "platform": "example",
      "stats": {
        "comments": 0,
        "likes": 0
      },
      "thumbnail_url": "https://example.com/example",
      "url": "https://example.com/example",
      "video_url": "https://example.com/example"
    }
  ],
  "location_id": "example",
  "tab": "example"
}
```

[Field reference](https://www.monocrawl.com/docs/endpoints/instagram/location-posts#response) · [JSON Schema for response.data](https://www.monocrawl.com/schemas/instagram/location-posts.json)


## instagram/post

`GET /v1/instagram/post`

One Instagram post or reel: caption, media URLs, author and current counts.

*Post details*

| Parameter | Required | Description |
| --- | --- | --- |
| `url` | yes | Instagram post or reel URL. — e.g. `https://www.instagram.com/p/B9KI0D2HHe7/` |
| `include_music` | no | Opt in to richer public post data including supplied sound metadata, owner flags, coauthors and counters at the same price. Missing source fields remain null. Accepted values: true, false. Case, spaces, hyphens and underscores are interchangeable. — e.g. `true` |
| `dry_run` | no | Read a zero-credit estimate without fetching sources, running AI, or reserving credits. Cache status is a snapshot, not a guarantee at execution. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable. — e.g. `1` |
| `judgments` | no | Add bounded AI labels to eligible returned records (default on). off preserves the original data shape. Unclassified records remain present; labels depend on evidence, time, capacity and the existing request budget. No label surcharge. Accepted values: on, off. Case, spaces, hyphens and underscores are interchangeable. — e.g. `on` |
| `label` | no | Set none to disable labels; default enables the endpoint’s label set. Equivalent to judgments=off. Accepted values: default, none. Case, spaces, hyphens and underscores are interchangeable. — e.g. `none` |
| `label_evidence` | no | Include exact supporting sentences and zero-based sentence indexes when a label has validated evidence. No extra charge or change to decisions. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable. — e.g. `1` |
| `exclude` | no | Optionally remove confidently labelled engagement bait. Uncertain and unclassified records stay; removed IDs and an owner-bound recall reference are returned. Accepted values: engagement_bait. Case, spaces, hyphens and underscores are interchangeable. — e.g. `engagement_bait` |
| `fit` | no | Use goal to replace confidently irrelevant records with recall stubs. Keeps first, last, relevant and uncertain records; preserves order. Full evidence is stored for 24 hours when available. Accepted values: goal. Case, spaces, hyphens and underscores are interchangeable. — e.g. `goal` |
| `goal` | no | Required with fit=goal: describe the task in at most 600 characters. Supplied text is task context, never permission to act on posts. — e.g. `Find concrete product complaints` |
| `tokens` | no | Optional soft response target for fit=goal, 256–32000. Safety and evidence retention take priority, so the returned result may exceed it. — e.g. `4000` |

### Useful optional inputs

- `fit`: Use fit=goal with a task description to replace confidently irrelevant records with recall stubs and reduce agent context. No fit surcharge; full evidence is retained for 24 hours when stored, and the response size target is soft.
- `dry_run`: Read a free estimate before fetching sources or scheduling paid work. Zero credits; cache status and availability are snapshots rather than guarantees.

**Cost:** 1 credit at list price per successful uncached response; variable-cost operations may quote or settle a different charge. Confirmed uncharged or refunded failures report zero. Pending reconciliation can report credits_used:null; retain request_id and the original idempotency key.

```bash
curl "https://www.monocrawl.com/v1/instagram/post?url=https%3A%2F%2Fwww.instagram.com%2Fp%2FB9KI0D2HHe7%2F" \
  -H "x-api-key: mn_your_key_here"
```

### Response data

Illustrative abbreviated data; documented core fields are optional and may be null. Additional source fields are allowed.

```json
{
  "id": "3500000000000000001",
  "url": null,
  "caption": "New desk setup",
  "stats": {
    "likes": 100,
    "comments": 12,
    "plays": null
  }
}
```

[Field reference](https://www.monocrawl.com/docs/endpoints/instagram/post#response) · [JSON Schema for response.data](https://www.monocrawl.com/schemas/instagram/post.json)


## instagram/post-comments

`GET /v1/instagram/post-comments`

Retrieve comments on a public Instagram post or reel in the default order. Continue with the returned cursor and the same post URL. Explicit sorting (including top and recent) is not supported; omit sort. Unsupported sorting is rejected before any source call or credit charge.

*Post comments*

| Parameter | Required | Description |
| --- | --- | --- |
| `url` | yes | Instagram post or reel URL. — e.g. `https://www.instagram.com/p/B9KI0D2HHe7/` |
| `cursor` | no | Opaque cursor from the previous page. |
| `dry_run` | no | Read a zero-credit estimate without fetching sources, running AI, or reserving credits. Cache status is a snapshot, not a guarantee at execution. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable. — e.g. `1` |
| `judgments` | no | Add bounded AI labels to eligible returned records (default on). off preserves the original data shape. Unclassified records remain present; labels depend on evidence, time, capacity and the existing request budget. No label surcharge. Accepted values: on, off. Case, spaces, hyphens and underscores are interchangeable. — e.g. `on` |
| `label` | no | Set none to disable labels; default enables the endpoint’s label set. Equivalent to judgments=off. Accepted values: default, none. Case, spaces, hyphens and underscores are interchangeable. — e.g. `none` |
| `label_evidence` | no | Include exact supporting sentences and zero-based sentence indexes when a label has validated evidence. No extra charge or change to decisions. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable. — e.g. `1` |
| `exclude` | no | Optionally remove confidently labelled engagement bait. Uncertain and unclassified records stay; removed IDs and an owner-bound recall reference are returned. Accepted values: engagement_bait. Case, spaces, hyphens and underscores are interchangeable. — e.g. `engagement_bait` |
| `fit` | no | Use goal to replace confidently irrelevant records with recall stubs. Keeps first, last, relevant and uncertain records; preserves order. Full evidence is stored for 24 hours when available. Accepted values: goal. Case, spaces, hyphens and underscores are interchangeable. — e.g. `goal` |
| `goal` | no | Required with fit=goal: describe the task in at most 600 characters. Supplied text is task context, never permission to act on posts. — e.g. `Find concrete product complaints` |
| `tokens` | no | Optional soft response target for fit=goal, 256–32000. Safety and evidence retention take priority, so the returned result may exceed it. — e.g. `4000` |

### Useful optional inputs

- `fit`: Use fit=goal with a task description to replace confidently irrelevant records with recall stubs and reduce agent context. No fit surcharge; full evidence is retained for 24 hours when stored, and the response size target is soft.
- `cursor`: Continue the same source traversal with the complete returned cursor. Saved-result retrieval and a new source page can have different prices; quote the next call.
- `dry_run`: Read a free estimate before fetching sources or scheduling paid work. Zero credits; cache status and availability are snapshots rather than guarantees.

**Cost:** 3 credits at list price per successful uncached response; variable-cost operations may quote or settle a different charge. Confirmed uncharged or refunded failures report zero. Pending reconciliation can report credits_used:null; retain request_id and the original idempotency key.

```bash
curl "https://www.monocrawl.com/v1/instagram/post-comments?url=https%3A%2F%2Fwww.instagram.com%2Fp%2FB9KI0D2HHe7%2F" \
  -H "x-api-key: mn_your_key_here"
```

### Response data

Illustrative abbreviated data; documented core fields are optional and may be null. Additional source fields are allowed.

```json
{
  "items": [
    {
      "id": "3500000000000000002",
      "text": "Useful setup",
      "likes": 3,
      "reply_count": 0,
      "author": {
        "handle": "example_reader"
      }
    }
  ],
  "cursor": null,
  "has_more": null
}
```

[Field reference](https://www.monocrawl.com/docs/endpoints/instagram/post-comments#response) · [JSON Schema for response.data](https://www.monocrawl.com/schemas/instagram/post-comments.json)


## instagram/post-count

`GET /v1/instagram/post-count`

How many posts an Instagram profile has published.

*Instagram post count*

| Parameter | Required | Description |
| --- | --- | --- |
| `handle` | yes | Instagram handle An optional leading @ is accepted and removed before lookup. — e.g. `nasa` |
| `dry_run` | no | Read a zero-credit estimate without fetching sources, running AI, or reserving credits. Cache status is a snapshot, not a guarantee at execution. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable. — e.g. `1` |
| `judgments` | no | Add bounded AI labels to eligible returned records (default on). off preserves the original data shape. Unclassified records remain present; labels depend on evidence, time, capacity and the existing request budget. No label surcharge. Accepted values: on, off. Case, spaces, hyphens and underscores are interchangeable. — e.g. `on` |
| `label` | no | Set none to disable labels; default enables the endpoint’s label set. Equivalent to judgments=off. Accepted values: default, none. Case, spaces, hyphens and underscores are interchangeable. — e.g. `none` |
| `label_evidence` | no | Include exact supporting sentences and zero-based sentence indexes when a label has validated evidence. No extra charge or change to decisions. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable. — e.g. `1` |
| `exclude` | no | Optionally remove confidently labelled engagement bait. Uncertain and unclassified records stay; removed IDs and an owner-bound recall reference are returned. Accepted values: engagement_bait. Case, spaces, hyphens and underscores are interchangeable. — e.g. `engagement_bait` |
| `fit` | no | Use goal to replace confidently irrelevant records with recall stubs. Keeps first, last, relevant and uncertain records; preserves order. Full evidence is stored for 24 hours when available. Accepted values: goal. Case, spaces, hyphens and underscores are interchangeable. — e.g. `goal` |
| `goal` | no | Required with fit=goal: describe the task in at most 600 characters. Supplied text is task context, never permission to act on posts. — e.g. `Find concrete product complaints` |
| `tokens` | no | Optional soft response target for fit=goal, 256–32000. Safety and evidence retention take priority, so the returned result may exceed it. — e.g. `4000` |

### Useful optional inputs

- `fit`: Use fit=goal with a task description to replace confidently irrelevant records with recall stubs and reduce agent context. No fit surcharge; full evidence is retained for 24 hours when stored, and the response size target is soft.
- `dry_run`: Read a free estimate before fetching sources or scheduling paid work. Zero credits; cache status and availability are snapshots rather than guarantees.

**Cost:** 4 credits at list price per successful uncached response; variable-cost operations may quote or settle a different charge. Confirmed uncharged or refunded failures report zero. Pending reconciliation can report credits_used:null; retain request_id and the original idempotency key.

```bash
curl "https://www.monocrawl.com/v1/instagram/post-count?handle=nasa" \
  -H "x-api-key: mn_your_key_here"
```

### Response data

Illustrative abbreviated data; documented core fields are optional and may be null. Additional source fields are allowed.

```json
{
  "handle": "example",
  "platform": "example",
  "post_count": 0
}
```

[Field reference](https://www.monocrawl.com/docs/endpoints/instagram/post-count#response) · [JSON Schema for response.data](https://www.monocrawl.com/schemas/instagram/post-count.json)


## instagram/post-likers

`GET /v1/instagram/post-likers`

A ranked sample of the accounts that liked a post or reel (handle, name, verification, privacy, avatar), with the post's like count as total. One sample per post; the platform exposes no further pages. Restored 6 September 2026 through the fourth Instagram listing.

*Instagram post likers*

| Parameter | Required | Description |
| --- | --- | --- |
| `url` | yes | Post or reel URL, or its shortcode — e.g. `https://www.instagram.com/p/B9KI0D2HHe7/` |
| `dry_run` | no | Read a zero-credit estimate without fetching sources, running AI, or reserving credits. Cache status is a snapshot, not a guarantee at execution. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable. — e.g. `1` |
| `judgments` | no | Add bounded AI labels to eligible returned records (default on). off preserves the original data shape. Unclassified records remain present; labels depend on evidence, time, capacity and the existing request budget. No label surcharge. Accepted values: on, off. Case, spaces, hyphens and underscores are interchangeable. — e.g. `on` |
| `label` | no | Set none to disable labels; default enables the endpoint’s label set. Equivalent to judgments=off. Accepted values: default, none. Case, spaces, hyphens and underscores are interchangeable. — e.g. `none` |
| `label_evidence` | no | Include exact supporting sentences and zero-based sentence indexes when a label has validated evidence. No extra charge or change to decisions. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable. — e.g. `1` |
| `exclude` | no | Optionally remove confidently labelled engagement bait. Uncertain and unclassified records stay; removed IDs and an owner-bound recall reference are returned. Accepted values: engagement_bait. Case, spaces, hyphens and underscores are interchangeable. — e.g. `engagement_bait` |
| `fit` | no | Use goal to replace confidently irrelevant records with recall stubs. Keeps first, last, relevant and uncertain records; preserves order. Full evidence is stored for 24 hours when available. Accepted values: goal. Case, spaces, hyphens and underscores are interchangeable. — e.g. `goal` |
| `goal` | no | Required with fit=goal: describe the task in at most 600 characters. Supplied text is task context, never permission to act on posts. — e.g. `Find concrete product complaints` |
| `tokens` | no | Optional soft response target for fit=goal, 256–32000. Safety and evidence retention take priority, so the returned result may exceed it. — e.g. `4000` |

### Useful optional inputs

- `fit`: Use fit=goal with a task description to replace confidently irrelevant records with recall stubs and reduce agent context. No fit surcharge; full evidence is retained for 24 hours when stored, and the response size target is soft.
- `dry_run`: Read a free estimate before fetching sources or scheduling paid work. Zero credits; cache status and availability are snapshots rather than guarantees.

**Cost:** 5 credits at list price per successful uncached response; variable-cost operations may quote or settle a different charge. Confirmed uncharged or refunded failures report zero. Pending reconciliation can report credits_used:null; retain request_id and the original idempotency key.

```bash
curl "https://www.monocrawl.com/v1/instagram/post-likers?url=https%3A%2F%2Fwww.instagram.com%2Fp%2FB9KI0D2HHe7%2F" \
  -H "x-api-key: mn_your_key_here"
```

### Response data

Illustrative abbreviated data; documented core fields are optional and may be null. Additional source fields are allowed.

```json
{
  "count": 0,
  "has_more": false,
  "is_sample": false,
  "items": [
    {
      "avatar_url": "https://example.com/example",
      "handle": "example",
      "id": "example",
      "name": "example",
      "platform": "example",
      "private": false,
      "url": "https://example.com/example",
      "verified": false
    }
  ],
  "media_id": "example",
  "post_code": "example",
  "total": 0
}
```

[Field reference](https://www.monocrawl.com/docs/endpoints/instagram/post-likers#response) · [JSON Schema for response.data](https://www.monocrawl.com/schemas/instagram/post-likers.json)


## instagram/post-stats

`GET /v1/instagram/post-stats`

Public post statistics with a share-capable source preferred through the standard guarded chain. Shares mean public reshares; saves/reposts remain null when absent. Not private creator analytics. Fresh lookup costs at least 5 credits; the ordinary post route is unchanged.

*Instagram public post statistics*

| Parameter | Required | Description |
| --- | --- | --- |
| `url` | yes | Public post/reel URL. — e.g. `https://www.instagram.com/reel/DdRyQxKteC1/` |
| `dry_run` | no | Read a zero-credit estimate without fetching sources, running AI, or reserving credits. Cache status is a snapshot, not a guarantee at execution. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable. — e.g. `1` |

### Useful optional inputs

- `dry_run`: Read a free estimate before fetching sources or scheduling paid work. Zero credits; cache status and availability are snapshots rather than guarantees.

**Cost:** 5 credits at list price per successful uncached response; variable-cost operations may quote or settle a different charge. Confirmed uncharged or refunded failures report zero. Pending reconciliation can report credits_used:null; retain request_id and the original idempotency key.

```bash
curl "https://www.monocrawl.com/v1/instagram/post-stats?url=https%3A%2F%2Fwww.instagram.com%2Freel%2FDdRyQxKteC1%2F" \
  -H "x-api-key: mn_your_key_here"
```

### Response data

Illustrative abbreviated data; documented core fields are optional and may be null. Additional source fields are allowed.

```json
{
  "_warnings": [
    "example"
  ],
  "id": "example",
  "legs": [
    {
      "attempts": 0,
      "credits": 0,
      "endpoint": "example",
      "ok": false,
      "served_by": "example",
      "status": 0
    }
  ],
  "platform": "example",
  "retrieved_at": "2026-09-01T12:00:00Z",
  "stats": {
    "comments": 0,
    "likes": 0,
    "plays": 0
  },
  "url": "https://example.com/example"
}
```

[Field reference](https://www.monocrawl.com/docs/endpoints/instagram/post-stats#response) · [JSON Schema for response.data](https://www.monocrawl.com/schemas/instagram/post-stats.json)


## instagram/post-transcript

`GET /v1/instagram/post-transcript`

The spoken words of an Instagram reel as text. A photo post answers 404 — there is nothing to transcribe.

*Reel transcript*

| Parameter | Required | Description |
| --- | --- | --- |
| `url` | yes | Full Instagram post or reel URL, not a username or profile URL. The source may not provide a transcript for every media item. — e.g. `https://www.instagram.com/reel/DcuQVFLvJMX/` |
| `dry_run` | no | Read a zero-credit estimate without fetching sources, running AI, or reserving credits. Cache status is a snapshot, not a guarantee at execution. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable. — e.g. `1` |

### Useful optional inputs

- `dry_run`: Read a free estimate before fetching sources or scheduling paid work. Zero credits; cache status and availability are snapshots rather than guarantees.

**Cost:** 5 credits at list price per successful uncached response; variable-cost operations may quote or settle a different charge. Confirmed uncharged or refunded failures report zero. Pending reconciliation can report credits_used:null; retain request_id and the original idempotency key.

```bash
curl "https://www.monocrawl.com/v1/instagram/post-transcript?url=https%3A%2F%2Fwww.instagram.com%2Freel%2FDcuQVFLvJMX%2F" \
  -H "x-api-key: mn_your_key_here"
```

### Response data

Illustrative abbreviated data; documented core fields are optional and may be null. Additional source fields are allowed.

```json
{
  "has_transcript": false,
  "platform": "example",
  "transcript": "example",
  "transcripts": [
    {
      "code": "example",
      "id": "example",
      "text": "example"
    }
  ],
  "url": "https://example.com/example"
}
```

[Field reference](https://www.monocrawl.com/docs/endpoints/instagram/post-transcript#response) · [JSON Schema for response.data](https://www.monocrawl.com/schemas/instagram/post-transcript.json)


## instagram/posts

`GET /v1/instagram/posts`

Recent posts for an Instagram account with engagement counts. Paged by cursor.

*Profile posts*

| Parameter | Required | Description |
| --- | --- | --- |
| `handle` | yes | Instagram username. An optional leading @ is accepted and removed before lookup. — e.g. `nasa` |
| `cursor` | no | Opaque cursor from the previous page. |
| `dry_run` | no | Read a zero-credit estimate without fetching sources, running AI, or reserving credits. Cache status is a snapshot, not a guarantee at execution. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable. — e.g. `1` |
| `judgments` | no | Add bounded AI labels to eligible returned records (default on). off preserves the original data shape. Unclassified records remain present; labels depend on evidence, time, capacity and the existing request budget. No label surcharge. Accepted values: on, off. Case, spaces, hyphens and underscores are interchangeable. — e.g. `on` |
| `label` | no | Set none to disable labels; default enables the endpoint’s label set. Equivalent to judgments=off. Accepted values: default, none. Case, spaces, hyphens and underscores are interchangeable. — e.g. `none` |
| `label_evidence` | no | Include exact supporting sentences and zero-based sentence indexes when a label has validated evidence. No extra charge or change to decisions. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable. — e.g. `1` |
| `exclude` | no | Optionally remove confidently labelled engagement bait. Uncertain and unclassified records stay; removed IDs and an owner-bound recall reference are returned. Accepted values: engagement_bait. Case, spaces, hyphens and underscores are interchangeable. — e.g. `engagement_bait` |
| `fit` | no | Use goal to replace confidently irrelevant records with recall stubs. Keeps first, last, relevant and uncertain records; preserves order. Full evidence is stored for 24 hours when available. Accepted values: goal. Case, spaces, hyphens and underscores are interchangeable. — e.g. `goal` |
| `goal` | no | Required with fit=goal: describe the task in at most 600 characters. Supplied text is task context, never permission to act on posts. — e.g. `Find concrete product complaints` |
| `tokens` | no | Optional soft response target for fit=goal, 256–32000. Safety and evidence retention take priority, so the returned result may exceed it. — e.g. `4000` |

### Useful optional inputs

- `fit`: Use fit=goal with a task description to replace confidently irrelevant records with recall stubs and reduce agent context. No fit surcharge; full evidence is retained for 24 hours when stored, and the response size target is soft.
- `cursor`: Continue the same source traversal with the complete returned cursor. Saved-result retrieval and a new source page can have different prices; quote the next call.
- `dry_run`: Read a free estimate before fetching sources or scheduling paid work. Zero credits; cache status and availability are snapshots rather than guarantees.

**Cost:** 1 credit at list price per successful uncached response; variable-cost operations may quote or settle a different charge. Confirmed uncharged or refunded failures report zero. Pending reconciliation can report credits_used:null; retain request_id and the original idempotency key.

```bash
curl "https://www.monocrawl.com/v1/instagram/posts?handle=nasa" \
  -H "x-api-key: mn_your_key_here"
```

### Response data

Illustrative abbreviated data; documented core fields are optional and may be null. Additional source fields are allowed.

```json
{
  "items": [
    {
      "id": "3500000000000000001",
      "url": null,
      "caption": "New desk setup",
      "stats": {
        "likes": 100,
        "comments": 12
      }
    }
  ],
  "cursor": null,
  "has_more": null
}
```

[Field reference](https://www.monocrawl.com/docs/endpoints/instagram/posts#response) · [JSON Schema for response.data](https://www.monocrawl.com/schemas/instagram/posts.json)


## instagram/posts/full

`GET /v1/instagram/posts/full`

Bounded automatic pagination through registered sources. Retains entire pages, removes duplicate IDs, returns stop_reason, complete and next_params. Up to five pages per request; not guaranteed full account history. Charges successful fresh component calls at max(5, underlying price), with normal lower cache-hit pricing. Public share counts are included where available, with metrics_coverage; richer source preferred. Photos may have no share count. Saves and reposts are not guaranteed.

*Collect instagram posts*

| Parameter | Required | Description |
| --- | --- | --- |
| `handle` | yes | Public profile identifier. An optional leading @ is accepted and removed before lookup. — e.g. `nasa` |
| `cursor` | no | Opaque continuation from the previous response. Preserve query or identity. |
| `max_pages` | no | Maximum source pages: 1-5, default 1. Catalog price reserves the five-page maximum; actual successful component charges are settled after execution. — e.g. `1` |
| `dry_run` | no | Read a zero-credit estimate without fetching sources, running AI, or reserving credits. Cache status is a snapshot, not a guarantee at execution. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable. — e.g. `1` |
| `judgments` | no | Add bounded AI labels to eligible returned records (default on). off preserves the original data shape. Unclassified records remain present; labels depend on evidence, time, capacity and the existing request budget. No label surcharge. Accepted values: on, off. Case, spaces, hyphens and underscores are interchangeable. — e.g. `on` |
| `label` | no | Set none to disable labels; default enables the endpoint’s label set. Equivalent to judgments=off. Accepted values: default, none. Case, spaces, hyphens and underscores are interchangeable. — e.g. `none` |
| `label_evidence` | no | Include exact supporting sentences and zero-based sentence indexes when a label has validated evidence. No extra charge or change to decisions. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable. — e.g. `1` |
| `exclude` | no | Optionally remove confidently labelled engagement bait. Uncertain and unclassified records stay; removed IDs and an owner-bound recall reference are returned. Accepted values: engagement_bait. Case, spaces, hyphens and underscores are interchangeable. — e.g. `engagement_bait` |
| `fit` | no | Use goal to replace confidently irrelevant records with recall stubs. Keeps first, last, relevant and uncertain records; preserves order. Full evidence is stored for 24 hours when available. Accepted values: goal. Case, spaces, hyphens and underscores are interchangeable. — e.g. `goal` |
| `goal` | no | Required with fit=goal: describe the task in at most 600 characters. Supplied text is task context, never permission to act on posts. — e.g. `Find concrete product complaints` |
| `tokens` | no | Optional soft response target for fit=goal, 256–32000. Safety and evidence retention take priority, so the returned result may exceed it. — e.g. `4000` |

### Useful optional inputs

- `fit`: Use fit=goal with a task description to replace confidently irrelevant records with recall stubs and reduce agent context. No fit surcharge; full evidence is retained for 24 hours when stored, and the response size target is soft.
- `cursor`: Continue the same source traversal with the complete returned cursor. Saved-result retrieval and a new source page can have different prices; quote the next call.
- `dry_run`: Read a free estimate before fetching sources or scheduling paid work. Zero credits; cache status and availability are snapshots rather than guarantees.

**Cost:** 25 credits at list price per successful uncached response; variable-cost operations may quote or settle a different charge. Confirmed uncharged or refunded failures report zero. Pending reconciliation can report credits_used:null; retain request_id and the original idempotency key.

```bash
curl "https://www.monocrawl.com/v1/instagram/posts/full?handle=nasa" \
  -H "x-api-key: mn_your_key_here"
```

### Response data

Illustrative abbreviated data; documented core fields are optional and may be null. Additional source fields are allowed.

```json
{
  "_meta": {
    "billing": {
      "charged": 0,
      "list_price": 0,
      "maximum_component_credits": 0
    }
  },
  "_warnings": [
    "example"
  ],
  "complete": false,
  "count": 0,
  "cursor": null,
  "items": [
    {
      "author": {
        "avatar_url": "https://example.com/example",
        "handle": "example",
        "id": "example",
        "name": "example",
        "private": false,
        "verified": false
      },
      "caption": "example",
      "carousel": [
        {}
      ],
      "coauthors": [
        {}
      ],
      "code": "example",
      "created_at": "2026-09-01T12:00:00Z",
      "display_url": "https://example.com/example",
      "duration_s": 0,
      "has_audio": false,
      "id": "example",
      "is_paid_partnership": false,
      "is_video": false,
      "location": {
        "address": "example",
        "id": "example",
        "latitude": 0,
        "longitude": 0,
        "name": "example"
      },
      "media_urls": [
        "example"
      ],
      "platform": "example",
      "product_type": "example",
      "stats": {
        "comments": 0,
        "likes": 0,
        "plays": 0
      },
      "thumbnail_url": "https://example.com/example",
      "url": "https://example.com/example",
      "video_url": "https://example.com/example"
    }
  ],
  "legs": [
    {
      "attempts": 0,
      "credits": 0,
      "endpoint": "example",
      "ok": false,
      "served_by": "example",
      "status": 0
    }
  ],
  "metrics_coverage": {
    "posts": 0,
    "shares": 0
  },
  "next_params": {
    "cursor": null,
    "handle": "example",
    "max_pages": 0
  },
  "pages_fetched": 0,
  "partial": false,
  "platform": "example",
  "source_metadata": {
    "cursor": null,
    "has_more": false
  },
  "stop_reason": "example"
}
```

[Field reference](https://www.monocrawl.com/docs/endpoints/instagram/posts/full#response) · [JSON Schema for response.data](https://www.monocrawl.com/schemas/instagram/posts/full.json)


## instagram/profile

`GET /v1/instagram/profile`

Public Instagram profile: identity, bio, follower/following/post counts.

*Instagram profile*

| Parameter | Required | Description |
| --- | --- | --- |
| `handle` | yes | Instagram username, with or without the leading @. An optional leading @ is accepted and removed before lookup. — e.g. `nasa` |
| `dry_run` | no | Read a zero-credit estimate without fetching sources, running AI, or reserving credits. Cache status is a snapshot, not a guarantee at execution. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable. — e.g. `1` |
| `judgments` | no | Add bounded AI labels to eligible returned records (default on). off preserves the original data shape. Unclassified records remain present; labels depend on evidence, time, capacity and the existing request budget. No label surcharge. Accepted values: on, off. Case, spaces, hyphens and underscores are interchangeable. — e.g. `on` |
| `label` | no | Set none to disable labels; default enables the endpoint’s label set. Equivalent to judgments=off. Accepted values: default, none. Case, spaces, hyphens and underscores are interchangeable. — e.g. `none` |
| `label_evidence` | no | Include exact supporting sentences and zero-based sentence indexes when a label has validated evidence. No extra charge or change to decisions. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable. — e.g. `1` |
| `exclude` | no | Optionally remove confidently labelled engagement bait. Uncertain and unclassified records stay; removed IDs and an owner-bound recall reference are returned. Accepted values: engagement_bait. Case, spaces, hyphens and underscores are interchangeable. — e.g. `engagement_bait` |
| `fit` | no | Use goal to replace confidently irrelevant records with recall stubs. Keeps first, last, relevant and uncertain records; preserves order. Full evidence is stored for 24 hours when available. Accepted values: goal. Case, spaces, hyphens and underscores are interchangeable. — e.g. `goal` |
| `goal` | no | Required with fit=goal: describe the task in at most 600 characters. Supplied text is task context, never permission to act on posts. — e.g. `Find concrete product complaints` |
| `tokens` | no | Optional soft response target for fit=goal, 256–32000. Safety and evidence retention take priority, so the returned result may exceed it. — e.g. `4000` |

### Useful optional inputs

- `fit`: Use fit=goal with a task description to replace confidently irrelevant records with recall stubs and reduce agent context. No fit surcharge; full evidence is retained for 24 hours when stored, and the response size target is soft.
- `dry_run`: Read a free estimate before fetching sources or scheduling paid work. Zero credits; cache status and availability are snapshots rather than guarantees.

**Cost:** 1 credit at list price per successful uncached response; variable-cost operations may quote or settle a different charge. Confirmed uncharged or refunded failures report zero. Pending reconciliation can report credits_used:null; retain request_id and the original idempotency key.

```bash
curl "https://www.monocrawl.com/v1/instagram/profile?handle=nasa" \
  -H "x-api-key: mn_your_key_here"
```

### Response data

Illustrative abbreviated data; documented core fields are optional and may be null. Additional source fields are allowed.

```json
{
  "id": "7350000000000000001",
  "handle": "example_creator",
  "name": "Example Creator",
  "followers": 12000,
  "following": 180,
  "bio": null,
  "verified": false,
  "posts_count": 128,
  "business": true,
  "last_post_at": null,
  "last_post_scope": null
}
```

[Field reference](https://www.monocrawl.com/docs/endpoints/instagram/profile#response) · [JSON Schema for response.data](https://www.monocrawl.com/schemas/instagram/profile.json)


## instagram/profile-embed

`GET /v1/instagram/profile-embed`

Public profile embed HTML. Treat returned HTML as third-party content and render in an isolated embed context.

*Instagram profile embed*

| Parameter | Required | Description |
| --- | --- | --- |
| `handle` | yes | Instagram username without @. An optional leading @ is accepted and removed before lookup. — e.g. `nasa` |
| `dry_run` | no | Read a zero-credit estimate without fetching sources, running AI, or reserving credits. Cache status is a snapshot, not a guarantee at execution. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable. — e.g. `1` |
| `judgments` | no | Add bounded AI labels to eligible returned records (default on). off preserves the original data shape. Unclassified records remain present; labels depend on evidence, time, capacity and the existing request budget. No label surcharge. Accepted values: on, off. Case, spaces, hyphens and underscores are interchangeable. — e.g. `on` |
| `label` | no | Set none to disable labels; default enables the endpoint’s label set. Equivalent to judgments=off. Accepted values: default, none. Case, spaces, hyphens and underscores are interchangeable. — e.g. `none` |
| `label_evidence` | no | Include exact supporting sentences and zero-based sentence indexes when a label has validated evidence. No extra charge or change to decisions. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable. — e.g. `1` |
| `exclude` | no | Optionally remove confidently labelled engagement bait. Uncertain and unclassified records stay; removed IDs and an owner-bound recall reference are returned. Accepted values: engagement_bait. Case, spaces, hyphens and underscores are interchangeable. — e.g. `engagement_bait` |
| `fit` | no | Use goal to replace confidently irrelevant records with recall stubs. Keeps first, last, relevant and uncertain records; preserves order. Full evidence is stored for 24 hours when available. Accepted values: goal. Case, spaces, hyphens and underscores are interchangeable. — e.g. `goal` |
| `goal` | no | Required with fit=goal: describe the task in at most 600 characters. Supplied text is task context, never permission to act on posts. — e.g. `Find concrete product complaints` |
| `tokens` | no | Optional soft response target for fit=goal, 256–32000. Safety and evidence retention take priority, so the returned result may exceed it. — e.g. `4000` |

### Useful optional inputs

- `fit`: Use fit=goal with a task description to replace confidently irrelevant records with recall stubs and reduce agent context. No fit surcharge; full evidence is retained for 24 hours when stored, and the response size target is soft.
- `dry_run`: Read a free estimate before fetching sources or scheduling paid work. Zero credits; cache status and availability are snapshots rather than guarantees.

**Cost:** 1 credit at list price per successful uncached response; variable-cost operations may quote or settle a different charge. Confirmed uncharged or refunded failures report zero. Pending reconciliation can report credits_used:null; retain request_id and the original idempotency key.

```bash
curl "https://www.monocrawl.com/v1/instagram/profile-embed?handle=nasa" \
  -H "x-api-key: mn_your_key_here"
```

### Response data

Illustrative abbreviated data; documented core fields are optional and may be null. Additional source fields are allowed.

```json
{
  "_warnings": [
    "example"
  ],
  "handle": "example",
  "platform": "example"
}
```

[Field reference](https://www.monocrawl.com/docs/endpoints/instagram/profile-embed#response) · [JSON Schema for response.data](https://www.monocrawl.com/schemas/instagram/profile-embed.json)


## instagram/profile-followers

`GET /v1/instagram/profile-followers`

Public follower accounts, subject to the source platform's available sample. Returns an opaque continuation when another page is available; this is not a guaranteed complete follower export.

*Instagram followers*

| Parameter | Required | Description |
| --- | --- | --- |
| `handle` | yes | Instagram username, with or without the leading @ An optional leading @ is accepted and removed before lookup. — e.g. `nasa` |
| `limit` | no | Accounts per page, at most 50 — e.g. `50` |
| `cursor` | no | Opaque cursor from the previous response; keep the same handle and query |
| `query` | no | Filter names and handles within each fetched page; a matching page may be short |
| `dry_run` | no | Read a zero-credit estimate without fetching sources, running AI, or reserving credits. Cache status is a snapshot, not a guarantee at execution. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable. — e.g. `1` |

### Useful optional inputs

- `limit`: Bound the returned rows to what your task needs. A smaller limit does not necessarily reduce source calls or price; inspect the quote.
- `cursor`: Continue the same source traversal with the complete returned cursor. Saved-result retrieval and a new source page can have different prices; quote the next call.
- `dry_run`: Read a free estimate before fetching sources or scheduling paid work. Zero credits; cache status and availability are snapshots rather than guarantees.

**Cost:** 10 credits at list price per successful uncached response; variable-cost operations may quote or settle a different charge. Confirmed uncharged or refunded failures report zero. Pending reconciliation can report credits_used:null; retain request_id and the original idempotency key.

```bash
curl "https://www.monocrawl.com/v1/instagram/profile-followers?handle=nasa" \
  -H "x-api-key: mn_your_key_here"
```

### Response data

Illustrative abbreviated data; documented core fields are optional and may be null. Additional source fields are allowed.

```json
{
  "_warnings": [
    "example"
  ],
  "count": 0,
  "cursor": null,
  "dropped": 0,
  "handle": "example",
  "has_more": false,
  "is_sample": false,
  "items": [
    {
      "avatar_url": "https://example.com/example",
      "handle": "example",
      "id": "example",
      "name": "example",
      "platform": "example",
      "private": false,
      "url": "https://example.com/example",
      "verified": false
    }
  ],
  "user_id": "example"
}
```

[Field reference](https://www.monocrawl.com/docs/endpoints/instagram/profile-followers#response) · [JSON Schema for response.data](https://www.monocrawl.com/schemas/instagram/profile-followers.json)


## instagram/profile-following

`GET /v1/instagram/profile-following`

Accounts a public account follows, fifty per page with handle, name, verification and privacy flags; paged by offset.

*Instagram following*

| Parameter | Required | Description |
| --- | --- | --- |
| `handle` | yes | Instagram username, with or without the leading @ An optional leading @ is accepted and removed before lookup. — e.g. `nasa` |
| `limit` | no | Accounts per page, at most 50 — e.g. `50` |
| `cursor` | no | Opaque cursor from the previous response; keep the same handle and query |
| `query` | no | Filter names and handles within each fetched page; a matching page may be short |
| `dry_run` | no | Read a zero-credit estimate without fetching sources, running AI, or reserving credits. Cache status is a snapshot, not a guarantee at execution. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable. — e.g. `1` |

### Useful optional inputs

- `limit`: Bound the returned rows to what your task needs. A smaller limit does not necessarily reduce source calls or price; inspect the quote.
- `cursor`: Continue the same source traversal with the complete returned cursor. Saved-result retrieval and a new source page can have different prices; quote the next call.
- `dry_run`: Read a free estimate before fetching sources or scheduling paid work. Zero credits; cache status and availability are snapshots rather than guarantees.

**Cost:** 10 credits at list price per successful uncached response; variable-cost operations may quote or settle a different charge. Confirmed uncharged or refunded failures report zero. Pending reconciliation can report credits_used:null; retain request_id and the original idempotency key.

```bash
curl "https://www.monocrawl.com/v1/instagram/profile-following?handle=nasa" \
  -H "x-api-key: mn_your_key_here"
```

### Response data

Illustrative abbreviated data; documented core fields are optional and may be null. Additional source fields are allowed.

```json
{
  "count": 0,
  "cursor": null,
  "dropped": 0,
  "handle": "example",
  "has_more": false,
  "is_sample": false,
  "items": [
    {
      "avatar_url": "https://example.com/example",
      "handle": "example",
      "id": "example",
      "name": "example",
      "platform": "example",
      "private": false,
      "url": "https://example.com/example",
      "verified": false
    }
  ],
  "user_id": "example"
}
```

[Field reference](https://www.monocrawl.com/docs/endpoints/instagram/profile-following#response) · [JSON Schema for response.data](https://www.monocrawl.com/schemas/instagram/profile-following.json)


## instagram/profile/full

`GET /v1/instagram/profile/full`

A real public profile plus one page of posts/videos, preserving original normalized component fields and source order. HTTP 200 may be partial: inspect complete, partial and legs. Failed profile: no posts requested, zero charge. Failed posts: profile retained and only that successful component charged. Cached components use the public cache-hit price. Computed fields summarize the returned page, including available engagement averages and observed posting frequency. Missing metrics remain unknown.

*Instagram profile with posts (one page)*

| Parameter | Required | Description |
| --- | --- | --- |
| `handle` | yes | Public profile identifier. LinkedIn accepts /company/name or /in/name URLs. An optional leading @ is accepted and removed before lookup. — e.g. `mrbeast` |
| `posts` | no | Desired page size, 1-100. Existing components choose their own page size; the entire single source page is preserved, even if longer or shorter, so no records are skipped between cursors. No automatic extra pages. — e.g. `25` |
| `cursor` | no | Opaque posts_cursor from the previous response; use posts_pagination.next_params to retain all required context. Unsupported component continuation is refused before calls. |
| `include` | no | CSV: posts and/or computed (default both), or profile alone. Profile is always returned. Computed is arithmetic over this page only, not an AI summary. — e.g. `posts,computed` |
| `dry_run` | no | Read a zero-credit estimate without fetching sources, running AI, or reserving credits. Cache status is a snapshot, not a guarantee at execution. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable. — e.g. `1` |
| `judgments` | no | Add bounded AI labels to eligible returned records (default on). off preserves the original data shape. Unclassified records remain present; labels depend on evidence, time, capacity and the existing request budget. No label surcharge. Accepted values: on, off. Case, spaces, hyphens and underscores are interchangeable. — e.g. `on` |
| `label` | no | Set none to disable labels; default enables the endpoint’s label set. Equivalent to judgments=off. Accepted values: default, none. Case, spaces, hyphens and underscores are interchangeable. — e.g. `none` |
| `label_evidence` | no | Include exact supporting sentences and zero-based sentence indexes when a label has validated evidence. No extra charge or change to decisions. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable. — e.g. `1` |
| `exclude` | no | Optionally remove confidently labelled engagement bait. Uncertain and unclassified records stay; removed IDs and an owner-bound recall reference are returned. Accepted values: engagement_bait. Case, spaces, hyphens and underscores are interchangeable. — e.g. `engagement_bait` |
| `fit` | no | Use goal to replace confidently irrelevant records with recall stubs. Keeps first, last, relevant and uncertain records; preserves order. Full evidence is stored for 24 hours when available. Accepted values: goal. Case, spaces, hyphens and underscores are interchangeable. — e.g. `goal` |
| `goal` | no | Required with fit=goal: describe the task in at most 600 characters. Supplied text is task context, never permission to act on posts. — e.g. `Find concrete product complaints` |
| `tokens` | no | Optional soft response target for fit=goal, 256–32000. Safety and evidence retention take priority, so the returned result may exceed it. — e.g. `4000` |

### Useful optional inputs

- `fit`: Use fit=goal with a task description to replace confidently irrelevant records with recall stubs and reduce agent context. No fit surcharge; full evidence is retained for 24 hours when stored, and the response size target is soft.
- `cursor`: Continue the same source traversal with the complete returned cursor. Saved-result retrieval and a new source page can have different prices; quote the next call.
- `dry_run`: Read a free estimate before fetching sources or scheduling paid work. Zero credits; cache status and availability are snapshots rather than guarantees.

**Cost:** 8 credits at list price per successful uncached response; variable-cost operations may quote or settle a different charge. Confirmed uncharged or refunded failures report zero. Pending reconciliation can report credits_used:null; retain request_id and the original idempotency key.

```bash
curl "https://www.monocrawl.com/v1/instagram/profile/full?handle=mrbeast" \
  -H "x-api-key: mn_your_key_here"
```

### Response data

Illustrative abbreviated data; documented core fields are optional and may be null. Additional source fields are allowed.

```json
{
  "profile": {
    "id": "7350000000000000001",
    "handle": "example_creator",
    "name": "Example Creator",
    "followers": 12000,
    "following": 180,
    "bio": null,
    "verified": false,
    "posts_count": 128,
    "business": true,
    "last_post_at": null,
    "last_post_scope": null
  },
  "posts": [
    {
      "id": "3500000000000000001",
      "url": null,
      "caption": "New desk setup",
      "stats": {
        "likes": 100,
        "comments": 12,
        "plays": null
      }
    }
  ],
  "complete": true,
  "partial": false,
  "posts_cursor": null,
  "posts_pagination": {
    "returned": 1,
    "has_more": null,
    "next_params": null
  }
}
```

[Field reference](https://www.monocrawl.com/docs/endpoints/instagram/profile/full#response) · [JSON Schema for response.data](https://www.monocrawl.com/schemas/instagram/profile/full.json)


## instagram/reels

`GET /v1/instagram/reels`

Recent reels for an Instagram account with play counts. Paged by cursor.

*Profile reels*

| Parameter | Required | Description |
| --- | --- | --- |
| `handle` | yes | Instagram username. An optional leading @ is accepted and removed before lookup. — e.g. `nasa` |
| `cursor` | no | Opaque cursor from the previous page. |
| `dry_run` | no | Read a zero-credit estimate without fetching sources, running AI, or reserving credits. Cache status is a snapshot, not a guarantee at execution. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable. — e.g. `1` |
| `judgments` | no | Add bounded AI labels to eligible returned records (default on). off preserves the original data shape. Unclassified records remain present; labels depend on evidence, time, capacity and the existing request budget. No label surcharge. Accepted values: on, off. Case, spaces, hyphens and underscores are interchangeable. — e.g. `on` |
| `label` | no | Set none to disable labels; default enables the endpoint’s label set. Equivalent to judgments=off. Accepted values: default, none. Case, spaces, hyphens and underscores are interchangeable. — e.g. `none` |
| `label_evidence` | no | Include exact supporting sentences and zero-based sentence indexes when a label has validated evidence. No extra charge or change to decisions. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable. — e.g. `1` |
| `exclude` | no | Optionally remove confidently labelled engagement bait. Uncertain and unclassified records stay; removed IDs and an owner-bound recall reference are returned. Accepted values: engagement_bait. Case, spaces, hyphens and underscores are interchangeable. — e.g. `engagement_bait` |
| `fit` | no | Use goal to replace confidently irrelevant records with recall stubs. Keeps first, last, relevant and uncertain records; preserves order. Full evidence is stored for 24 hours when available. Accepted values: goal. Case, spaces, hyphens and underscores are interchangeable. — e.g. `goal` |
| `goal` | no | Required with fit=goal: describe the task in at most 600 characters. Supplied text is task context, never permission to act on posts. — e.g. `Find concrete product complaints` |
| `tokens` | no | Optional soft response target for fit=goal, 256–32000. Safety and evidence retention take priority, so the returned result may exceed it. — e.g. `4000` |

### Useful optional inputs

- `fit`: Use fit=goal with a task description to replace confidently irrelevant records with recall stubs and reduce agent context. No fit surcharge; full evidence is retained for 24 hours when stored, and the response size target is soft.
- `cursor`: Continue the same source traversal with the complete returned cursor. Saved-result retrieval and a new source page can have different prices; quote the next call.
- `dry_run`: Read a free estimate before fetching sources or scheduling paid work. Zero credits; cache status and availability are snapshots rather than guarantees.

**Cost:** 1 credit at list price per successful uncached response; variable-cost operations may quote or settle a different charge. Confirmed uncharged or refunded failures report zero. Pending reconciliation can report credits_used:null; retain request_id and the original idempotency key.

```bash
curl "https://www.monocrawl.com/v1/instagram/reels?handle=nasa" \
  -H "x-api-key: mn_your_key_here"
```

### Response data

Illustrative abbreviated data; documented core fields are optional and may be null. Additional source fields are allowed.

```json
{
  "items": [
    {
      "id": "3500000000000000001",
      "url": null,
      "caption": "New desk setup",
      "stats": {
        "likes": 100,
        "comments": 12
      }
    }
  ],
  "cursor": null,
  "has_more": null
}
```

[Field reference](https://www.monocrawl.com/docs/endpoints/instagram/reels#response) · [JSON Schema for response.data](https://www.monocrawl.com/schemas/instagram/reels.json)


## instagram/reels-trending

`GET /v1/instagram/reels-trending`

A batch of currently-trending reels from Instagram's public reels surface. Small batches that can overlap — call repeatedly for more.

*Trending reels*

| Parameter | Required | Description |
| --- | --- | --- |
| `dry_run` | no | Read a zero-credit estimate without fetching sources, running AI, or reserving credits. Cache status is a snapshot, not a guarantee at execution. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable. — e.g. `1` |
| `judgments` | no | Add bounded AI labels to eligible returned records (default on). off preserves the original data shape. Unclassified records remain present; labels depend on evidence, time, capacity and the existing request budget. No label surcharge. Accepted values: on, off. Case, spaces, hyphens and underscores are interchangeable. — e.g. `on` |
| `label` | no | Set none to disable labels; default enables the endpoint’s label set. Equivalent to judgments=off. Accepted values: default, none. Case, spaces, hyphens and underscores are interchangeable. — e.g. `none` |
| `label_evidence` | no | Include exact supporting sentences and zero-based sentence indexes when a label has validated evidence. No extra charge or change to decisions. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable. — e.g. `1` |
| `exclude` | no | Optionally remove confidently labelled engagement bait. Uncertain and unclassified records stay; removed IDs and an owner-bound recall reference are returned. Accepted values: engagement_bait. Case, spaces, hyphens and underscores are interchangeable. — e.g. `engagement_bait` |
| `fit` | no | Use goal to replace confidently irrelevant records with recall stubs. Keeps first, last, relevant and uncertain records; preserves order. Full evidence is stored for 24 hours when available. Accepted values: goal. Case, spaces, hyphens and underscores are interchangeable. — e.g. `goal` |
| `goal` | no | Required with fit=goal: describe the task in at most 600 characters. Supplied text is task context, never permission to act on posts. — e.g. `Find concrete product complaints` |
| `tokens` | no | Optional soft response target for fit=goal, 256–32000. Safety and evidence retention take priority, so the returned result may exceed it. — e.g. `4000` |

### Useful optional inputs

- `fit`: Use fit=goal with a task description to replace confidently irrelevant records with recall stubs and reduce agent context. No fit surcharge; full evidence is retained for 24 hours when stored, and the response size target is soft.
- `dry_run`: Read a free estimate before fetching sources or scheduling paid work. Zero credits; cache status and availability are snapshots rather than guarantees.

**Cost:** 4 credits at list price per successful uncached response; variable-cost operations may quote or settle a different charge. Confirmed uncharged or refunded failures report zero. Pending reconciliation can report credits_used:null; retain request_id and the original idempotency key.

```bash
curl "https://www.monocrawl.com/v1/instagram/reels-trending" \
  -H "x-api-key: mn_your_key_here"
```

### Response data

Illustrative abbreviated data; documented core fields are optional and may be null. Additional source fields are allowed.

```json
{
  "items": [
    {
      "author": {},
      "caption": "example",
      "carousel": [],
      "comments": 0,
      "created_at": "2026-09-01T12:00:00Z",
      "display_url": "https://example.com/example",
      "has_audio": false,
      "id": "example",
      "likes": 0,
      "media_urls": [
        "example"
      ],
      "platform": "example",
      "shortcode": "example",
      "thumbnail_url": "https://example.com/example",
      "url": "https://example.com/example",
      "video_url": "https://example.com/example"
    }
  ]
}
```

[Field reference](https://www.monocrawl.com/docs/endpoints/instagram/reels-trending#response) · [JSON Schema for response.data](https://www.monocrawl.com/schemas/instagram/reels-trending.json)


## instagram/reels/full

`GET /v1/instagram/reels/full`

Bounded automatic pagination through registered sources. Retains entire pages, removes duplicate IDs, returns stop_reason, complete and next_params. Up to five pages per request; not guaranteed full account history. Charges successful fresh component calls at max(5, underlying price), with normal lower cache-hit pricing. Public share counts are included where available, with metrics_coverage; richer source preferred. Photos may have no share count. Saves and reposts are not guaranteed.

*Collect instagram reels*

| Parameter | Required | Description |
| --- | --- | --- |
| `handle` | yes | Public profile identifier. An optional leading @ is accepted and removed before lookup. — e.g. `nasa` |
| `cursor` | no | Opaque continuation from the previous response. Preserve query or identity. |
| `max_pages` | no | Maximum source pages: 1-5, default 1. Catalog price reserves the five-page maximum; actual successful component charges are settled after execution. — e.g. `1` |
| `dry_run` | no | Read a zero-credit estimate without fetching sources, running AI, or reserving credits. Cache status is a snapshot, not a guarantee at execution. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable. — e.g. `1` |
| `judgments` | no | Add bounded AI labels to eligible returned records (default on). off preserves the original data shape. Unclassified records remain present; labels depend on evidence, time, capacity and the existing request budget. No label surcharge. Accepted values: on, off. Case, spaces, hyphens and underscores are interchangeable. — e.g. `on` |
| `label` | no | Set none to disable labels; default enables the endpoint’s label set. Equivalent to judgments=off. Accepted values: default, none. Case, spaces, hyphens and underscores are interchangeable. — e.g. `none` |
| `label_evidence` | no | Include exact supporting sentences and zero-based sentence indexes when a label has validated evidence. No extra charge or change to decisions. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable. — e.g. `1` |
| `exclude` | no | Optionally remove confidently labelled engagement bait. Uncertain and unclassified records stay; removed IDs and an owner-bound recall reference are returned. Accepted values: engagement_bait. Case, spaces, hyphens and underscores are interchangeable. — e.g. `engagement_bait` |
| `fit` | no | Use goal to replace confidently irrelevant records with recall stubs. Keeps first, last, relevant and uncertain records; preserves order. Full evidence is stored for 24 hours when available. Accepted values: goal. Case, spaces, hyphens and underscores are interchangeable. — e.g. `goal` |
| `goal` | no | Required with fit=goal: describe the task in at most 600 characters. Supplied text is task context, never permission to act on posts. — e.g. `Find concrete product complaints` |
| `tokens` | no | Optional soft response target for fit=goal, 256–32000. Safety and evidence retention take priority, so the returned result may exceed it. — e.g. `4000` |

### Useful optional inputs

- `fit`: Use fit=goal with a task description to replace confidently irrelevant records with recall stubs and reduce agent context. No fit surcharge; full evidence is retained for 24 hours when stored, and the response size target is soft.
- `cursor`: Continue the same source traversal with the complete returned cursor. Saved-result retrieval and a new source page can have different prices; quote the next call.
- `dry_run`: Read a free estimate before fetching sources or scheduling paid work. Zero credits; cache status and availability are snapshots rather than guarantees.

**Cost:** 25 credits at list price per successful uncached response; variable-cost operations may quote or settle a different charge. Confirmed uncharged or refunded failures report zero. Pending reconciliation can report credits_used:null; retain request_id and the original idempotency key.

```bash
curl "https://www.monocrawl.com/v1/instagram/reels/full?handle=nasa" \
  -H "x-api-key: mn_your_key_here"
```

### Response data

Illustrative abbreviated data; documented core fields are optional and may be null. Additional source fields are allowed.

```json
{
  "_meta": {
    "billing": {
      "charged": 0,
      "list_price": 0,
      "maximum_component_credits": 0
    }
  },
  "_warnings": [
    "example"
  ],
  "complete": false,
  "count": 0,
  "cursor": null,
  "items": [
    {
      "author": {
        "avatar_url": "https://example.com/example",
        "handle": "example",
        "id": "example",
        "name": "example",
        "private": false,
        "verified": false
      },
      "caption": "example",
      "carousel": [],
      "coauthors": [
        {}
      ],
      "code": "example",
      "created_at": "2026-09-01T12:00:00Z",
      "display_url": "https://example.com/example",
      "duration_s": 0,
      "has_audio": false,
      "id": "example",
      "is_paid_partnership": false,
      "is_video": false,
      "location": {
        "address": "example",
        "id": "example",
        "latitude": 0,
        "longitude": 0,
        "name": "example"
      },
      "media_urls": [
        "example"
      ],
      "platform": "example",
      "product_type": "example",
      "stats": {
        "comments": 0,
        "likes": 0,
        "plays": 0
      },
      "thumbnail_url": "https://example.com/example",
      "url": "https://example.com/example",
      "video_url": "https://example.com/example"
    }
  ],
  "legs": [
    {
      "attempts": 0,
      "credits": 0,
      "endpoint": "example",
      "ok": false,
      "served_by": "example",
      "status": 0
    }
  ],
  "metrics_coverage": {
    "posts": 0,
    "shares": 0
  },
  "next_params": {
    "cursor": null,
    "handle": "example",
    "max_pages": 0
  },
  "pages_fetched": 0,
  "partial": false,
  "platform": "example",
  "source_metadata": {
    "cursor": null,
    "has_more": false
  },
  "stop_reason": "example"
}
```

[Field reference](https://www.monocrawl.com/docs/endpoints/instagram/reels/full#response) · [JSON Schema for response.data](https://www.monocrawl.com/schemas/instagram/reels/full.json)


## instagram/reposts

`GET /v1/instagram/reposts`

Posts an account has reposted to its own feed from other accounts, with captions, counts and original authors; paged by cursor.

*Instagram reposts*

| Parameter | Required | Description |
| --- | --- | --- |
| `handle` | no | Instagram username (or pass user_id) An optional leading @ is accepted and removed before lookup. — e.g. `nasa` |
| `user_id` | no | Numeric account id — alternative to handle — e.g. `528817151` |
| `cursor` | no | Cursor from the previous page |
| `dry_run` | no | Read a zero-credit estimate without fetching sources, running AI, or reserving credits. Cache status is a snapshot, not a guarantee at execution. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable. — e.g. `1` |

### Useful optional inputs

- `cursor`: Continue the same source traversal with the complete returned cursor. Saved-result retrieval and a new source page can have different prices; quote the next call.
- `dry_run`: Read a free estimate before fetching sources or scheduling paid work. Zero credits; cache status and availability are snapshots rather than guarantees.

**Cost:** 3 credits at list price per successful uncached response; variable-cost operations may quote or settle a different charge. Confirmed uncharged or refunded failures report zero. Pending reconciliation can report credits_used:null; retain request_id and the original idempotency key.

```bash
curl "https://www.monocrawl.com/v1/instagram/reposts?handle=nasa" \
  -H "x-api-key: mn_your_key_here"
```

### Response data

Illustrative abbreviated data; documented core fields are optional and may be null. Additional source fields are allowed.

```json
{
  "_meta": {
    "billing": {
      "charged": 0,
      "list_price": 0,
      "reason": "example"
    }
  },
  "count": 0,
  "dropped": 0,
  "has_more": false,
  "items": []
}
```

[Field reference](https://www.monocrawl.com/docs/endpoints/instagram/reposts#response) · [JSON Schema for response.data](https://www.monocrawl.com/schemas/instagram/reposts.json)


## instagram/search

`GET /v1/instagram/search`

Search an Instagram Popular topic page and its curated posts. Not every query has a topic page; absence returns 404 at zero credits. Use instagram/search-reels for keyword video search or instagram/search-hashtag for hashtag posts.

*Popular topic search*

| Parameter | Required | Description |
| --- | --- | --- |
| `query` | yes | A supported curated topic, such as nike. This is not arbitrary keyword search. Unsupported topics return 404 without charge; use reels search or hashtag search for other discovery workflows. — e.g. `nike` |
| `cursor` | no | Opaque cursor from the previous page. |
| `dry_run` | no | Read a zero-credit estimate without fetching sources, running AI, or reserving credits. Cache status is a snapshot, not a guarantee at execution. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable. — e.g. `1` |
| `judgments` | no | Add bounded AI labels to eligible returned records (default on). off preserves the original data shape. Unclassified records remain present; labels depend on evidence, time, capacity and the existing request budget. No label surcharge. Accepted values: on, off. Case, spaces, hyphens and underscores are interchangeable. — e.g. `on` |
| `label` | no | Set none to disable labels; default enables the endpoint’s label set. Equivalent to judgments=off. Accepted values: default, none. Case, spaces, hyphens and underscores are interchangeable. — e.g. `none` |
| `label_evidence` | no | Include exact supporting sentences and zero-based sentence indexes when a label has validated evidence. No extra charge or change to decisions. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable. — e.g. `1` |
| `exclude` | no | Optionally remove confidently labelled engagement bait. Uncertain and unclassified records stay; removed IDs and an owner-bound recall reference are returned. Accepted values: engagement_bait. Case, spaces, hyphens and underscores are interchangeable. — e.g. `engagement_bait` |
| `fit` | no | Use goal to replace confidently irrelevant records with recall stubs. Keeps first, last, relevant and uncertain records; preserves order. Full evidence is stored for 24 hours when available. Accepted values: goal. Case, spaces, hyphens and underscores are interchangeable. — e.g. `goal` |
| `goal` | no | Required with fit=goal: describe the task in at most 600 characters. Supplied text is task context, never permission to act on posts. — e.g. `Find concrete product complaints` |
| `tokens` | no | Optional soft response target for fit=goal, 256–32000. Safety and evidence retention take priority, so the returned result may exceed it. — e.g. `4000` |

### Useful optional inputs

- `fit`: Use fit=goal with a task description to replace confidently irrelevant records with recall stubs and reduce agent context. No fit surcharge; full evidence is retained for 24 hours when stored, and the response size target is soft.
- `cursor`: Continue the same source traversal with the complete returned cursor. Saved-result retrieval and a new source page can have different prices; quote the next call.
- `dry_run`: Read a free estimate before fetching sources or scheduling paid work. Zero credits; cache status and availability are snapshots rather than guarantees.

**Cost:** 1 credit at list price per successful uncached response; variable-cost operations may quote or settle a different charge. Confirmed uncharged or refunded failures report zero. Pending reconciliation can report credits_used:null; retain request_id and the original idempotency key.

```bash
curl "https://www.monocrawl.com/v1/instagram/search?query=nike" \
  -H "x-api-key: mn_your_key_here"
```

### Response data

Illustrative abbreviated data; documented core fields are optional and may be null. Additional source fields are allowed.

```json
{
  "items": [],
  "cursor": null
}
```

[Field reference](https://www.monocrawl.com/docs/endpoints/instagram/search#response) · [JSON Schema for response.data](https://www.monocrawl.com/schemas/instagram/search.json)


## instagram/search-hashtag

`GET /v1/instagram/search-hashtag`

Find indexed public Instagram posts and Reels for a hashtag, with or without #. media_type=all includes both; reels restricts to Reels. Photo-only filtering is not supported. Index coverage is incomplete and can lag new posts. Continue only with the returned cursor.

*Hashtag search*

| Parameter | Required | Description |
| --- | --- | --- |
| `hashtag` | yes | Hashtag without the #. — e.g. `makeup` |
| `date_posted` | no | Restrict by post date, e.g. last-week. Accepted values: last-hour, last-day, last-week, last-month, last-year. Case, spaces, hyphens and underscores are interchangeable. |
| `media_type` | no | Search public posts and Reels (all), or only Reels (reels). Accepted values: all, reels. Case, spaces, hyphens and underscores are interchangeable. Photo-only filtering is not supported. |
| `cursor` | no | Opaque cursor from the previous page. |
| `dry_run` | no | Read a zero-credit estimate without fetching sources, running AI, or reserving credits. Cache status is a snapshot, not a guarantee at execution. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable. — e.g. `1` |
| `judgments` | no | Add bounded AI labels to eligible returned records (default on). off preserves the original data shape. Unclassified records remain present; labels depend on evidence, time, capacity and the existing request budget. No label surcharge. Accepted values: on, off. Case, spaces, hyphens and underscores are interchangeable. — e.g. `on` |
| `label` | no | Set none to disable labels; default enables the endpoint’s label set. Equivalent to judgments=off. Accepted values: default, none. Case, spaces, hyphens and underscores are interchangeable. — e.g. `none` |
| `label_evidence` | no | Include exact supporting sentences and zero-based sentence indexes when a label has validated evidence. No extra charge or change to decisions. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable. — e.g. `1` |
| `exclude` | no | Optionally remove confidently labelled engagement bait. Uncertain and unclassified records stay; removed IDs and an owner-bound recall reference are returned. Accepted values: engagement_bait. Case, spaces, hyphens and underscores are interchangeable. — e.g. `engagement_bait` |
| `fit` | no | Use goal to replace confidently irrelevant records with recall stubs. Keeps first, last, relevant and uncertain records; preserves order. Full evidence is stored for 24 hours when available. Accepted values: goal. Case, spaces, hyphens and underscores are interchangeable. — e.g. `goal` |
| `goal` | no | Required with fit=goal: describe the task in at most 600 characters. Supplied text is task context, never permission to act on posts. — e.g. `Find concrete product complaints` |
| `tokens` | no | Optional soft response target for fit=goal, 256–32000. Safety and evidence retention take priority, so the returned result may exceed it. — e.g. `4000` |

### Useful optional inputs

- `date_posted`: Choose the documented source window for recent results; coverage can still be incomplete. The normal endpoint price applies; this does not buy a complete date archive.
- `media_type`: Restrict returned content to the supported media types for your task. Filtering can return fewer results; the normal endpoint price still applies.
- `dry_run`: Read a free estimate before fetching sources or scheduling paid work. Zero credits; cache status and availability are snapshots rather than guarantees.

**Cost:** 3 credits at list price per successful uncached response; variable-cost operations may quote or settle a different charge. Confirmed uncharged or refunded failures report zero. Pending reconciliation can report credits_used:null; retain request_id and the original idempotency key.

```bash
curl "https://www.monocrawl.com/v1/instagram/search-hashtag?hashtag=makeup" \
  -H "x-api-key: mn_your_key_here"
```

### Response data

Illustrative abbreviated data; documented core fields are optional and may be null. Additional source fields are allowed.

```json
{
  "cursor": null,
  "dropped": 0,
  "items": [
    {
      "author": {
        "avatar_url": "https://example.com/example",
        "handle": "example",
        "id": "example",
        "name": "example",
        "verified": false
      },
      "caption": "example",
      "carousel": [],
      "comments": 0,
      "created_at": "2026-09-01T12:00:00Z",
      "display_url": "https://example.com/example",
      "has_audio": false,
      "id": "example",
      "image": "https://example.com/example",
      "is_ad": false,
      "is_paid_partnership": false,
      "likes": 0,
      "location": {
        "id": "example",
        "latitude": 0,
        "longitude": 0,
        "name": "example"
      },
      "media_urls": [
        "example"
      ],
      "platform": "example",
      "product_type": "example",
      "shortcode": "example",
      "thumbnail_url": "https://example.com/example",
      "url": "https://example.com/example",
      "video_url": "https://example.com/example"
    }
  ]
}
```

[Field reference](https://www.monocrawl.com/docs/endpoints/instagram/search-hashtag#response) · [JSON Schema for response.data](https://www.monocrawl.com/schemas/instagram/search-hashtag.json)


## instagram/search-locations

`GET /v1/instagram/search-locations`

Instagram places matching a name: the location id, address, city and coordinates, as Instagram's own place search suggests them.

*Instagram location search*

| Parameter | Required | Description |
| --- | --- | --- |
| `query` | yes | A place name — e.g. `Louvre` |
| `limit` | no | Places to return, up to 50 — e.g. `25` |
| `dry_run` | no | Read a zero-credit estimate without fetching sources, running AI, or reserving credits. Cache status is a snapshot, not a guarantee at execution. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable. — e.g. `1` |

### Useful optional inputs

- `limit`: Bound the returned rows to what your task needs. A smaller limit does not necessarily reduce source calls or price; inspect the quote.
- `dry_run`: Read a free estimate before fetching sources or scheduling paid work. Zero credits; cache status and availability are snapshots rather than guarantees.

**Cost:** 5 credits at list price per successful uncached response; variable-cost operations may quote or settle a different charge. Confirmed uncharged or refunded failures report zero. Pending reconciliation can report credits_used:null; retain request_id and the original idempotency key.

```bash
curl "https://www.monocrawl.com/v1/instagram/search-locations?query=Louvre" \
  -H "x-api-key: mn_your_key_here"
```

### Response data

Illustrative abbreviated data; documented core fields are optional and may be null. Additional source fields are allowed.

```json
{
  "count": 0,
  "has_more": false,
  "items": [
    {
      "address": "example",
      "city": "example",
      "facebook_places_id": "example",
      "id": "example",
      "latitude": 0,
      "longitude": 0,
      "name": "example",
      "platform": "example",
      "subtitle": "example",
      "title": "example",
      "url": "https://example.com/example"
    }
  ],
  "query": "example"
}
```

[Field reference](https://www.monocrawl.com/docs/endpoints/instagram/search-locations#response) · [JSON Schema for response.data](https://www.monocrawl.com/schemas/instagram/search-locations.json)


## instagram/search-music

`GET /v1/instagram/search-music`

Instagram audio tracks matching a keyword: title, artist, duration, the Reels count label, trending rank and the public 30-second preview link. Served from 6 September 2026 by the fourth Instagram listing (Ultra plan).

*Instagram music search*

| Parameter | Required | Description |
| --- | --- | --- |
| `query` | yes | Keyword: a title, an artist or a lyric fragment — e.g. `espresso` |
| `dry_run` | no | Read a zero-credit estimate without fetching sources, running AI, or reserving credits. Cache status is a snapshot, not a guarantee at execution. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable. — e.g. `1` |

### Useful optional inputs

- `dry_run`: Read a free estimate before fetching sources or scheduling paid work. Zero credits; cache status and availability are snapshots rather than guarantees.

**Cost:** 5 credits at list price per successful uncached response; variable-cost operations may quote or settle a different charge. Confirmed uncharged or refunded failures report zero. Pending reconciliation can report credits_used:null; retain request_id and the original idempotency key.

```bash
curl "https://www.monocrawl.com/v1/instagram/search-music?query=espresso" \
  -H "x-api-key: mn_your_key_here"
```

### Response data

Illustrative abbreviated data; documented core fields are optional and may be null. Additional source fields are allowed.

```json
{
  "_warnings": [
    "example"
  ],
  "count": 0,
  "has_more": false,
  "items": [
    {
      "artist": "example",
      "cluster_id": "example",
      "cover_url": "https://example.com/example",
      "duration_ms": 0,
      "explicit": false,
      "has_lyrics": false,
      "id": "example",
      "platform": "example",
      "reels_count_label": "example",
      "thumbnail_url": "https://example.com/example",
      "title": "example",
      "trending": false,
      "type": "example"
    }
  ],
  "query": "example"
}
```

[Field reference](https://www.monocrawl.com/docs/endpoints/instagram/search-music#response) · [JSON Schema for response.data](https://www.monocrawl.com/schemas/instagram/search-music.json)


## instagram/search-profiles

`GET /v1/instagram/search-profiles`

Search Instagram accounts by keyword, with follower counts inline.

*Profile search*

| Parameter | Required | Description |
| --- | --- | --- |
| `query` | yes | Search term. — e.g. `nasa` |
| `cursor` | no | Opaque cursor from the previous page. |
| `dry_run` | no | Read a zero-credit estimate without fetching sources, running AI, or reserving credits. Cache status is a snapshot, not a guarantee at execution. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable. — e.g. `1` |
| `judgments` | no | Add bounded AI labels to eligible returned records (default on). off preserves the original data shape. Unclassified records remain present; labels depend on evidence, time, capacity and the existing request budget. No label surcharge. Accepted values: on, off. Case, spaces, hyphens and underscores are interchangeable. — e.g. `on` |
| `label` | no | Set none to disable labels; default enables the endpoint’s label set. Equivalent to judgments=off. Accepted values: default, none. Case, spaces, hyphens and underscores are interchangeable. — e.g. `none` |
| `label_evidence` | no | Include exact supporting sentences and zero-based sentence indexes when a label has validated evidence. No extra charge or change to decisions. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable. — e.g. `1` |
| `exclude` | no | Optionally remove confidently labelled engagement bait. Uncertain and unclassified records stay; removed IDs and an owner-bound recall reference are returned. Accepted values: engagement_bait. Case, spaces, hyphens and underscores are interchangeable. — e.g. `engagement_bait` |
| `fit` | no | Use goal to replace confidently irrelevant records with recall stubs. Keeps first, last, relevant and uncertain records; preserves order. Full evidence is stored for 24 hours when available. Accepted values: goal. Case, spaces, hyphens and underscores are interchangeable. — e.g. `goal` |
| `goal` | no | Required with fit=goal: describe the task in at most 600 characters. Supplied text is task context, never permission to act on posts. — e.g. `Find concrete product complaints` |
| `tokens` | no | Optional soft response target for fit=goal, 256–32000. Safety and evidence retention take priority, so the returned result may exceed it. — e.g. `4000` |

### Useful optional inputs

- `fit`: Use fit=goal with a task description to replace confidently irrelevant records with recall stubs and reduce agent context. No fit surcharge; full evidence is retained for 24 hours when stored, and the response size target is soft.
- `cursor`: Continue the same source traversal with the complete returned cursor. Saved-result retrieval and a new source page can have different prices; quote the next call.
- `dry_run`: Read a free estimate before fetching sources or scheduling paid work. Zero credits; cache status and availability are snapshots rather than guarantees.

**Cost:** 1 credit at list price per successful uncached response; variable-cost operations may quote or settle a different charge. Confirmed uncharged or refunded failures report zero. Pending reconciliation can report credits_used:null; retain request_id and the original idempotency key.

```bash
curl "https://www.monocrawl.com/v1/instagram/search-profiles?query=nasa" \
  -H "x-api-key: mn_your_key_here"
```

### Response data

Illustrative abbreviated data; documented core fields are optional and may be null. Additional source fields are allowed.

```json
{
  "items": [
    {
      "id": "7350000000000000001",
      "handle": "example_creator",
      "name": "Example Creator",
      "followers": 12000,
      "following": 180,
      "bio": null,
      "verified": false
    }
  ],
  "cursor": null,
  "has_more": null
}
```

[Field reference](https://www.monocrawl.com/docs/endpoints/instagram/search-profiles#response) · [JSON Schema for response.data](https://www.monocrawl.com/schemas/instagram/search-profiles.json)


## instagram/search-reels

`GET /v1/instagram/search-reels`

Search indexed public Instagram Reels by keyword. Optional date_posted accepts last-week, last-month or last-year; day/hour windows are not supported. Omit the date filter for any date. Index coverage is incomplete and can lag new posts. Continue only with the returned cursor.

*Keyword Reels search*

| Parameter | Required | Description |
| --- | --- | --- |
| `query` | yes | What to search for. — e.g. `dogs` |
| `date_posted` | no | Restrict by post date, e.g. last-week. Accepted values: last-week, last-month, last-year. Case, spaces, hyphens and underscores are interchangeable. Day and hour windows are not supported. Omit this field for any date. |
| `cursor` | no | Page number, starting at 1. |
| `search_mode` | no | default preserves indexed search. native reads up to three native source pages at the same price, retaining every distinct fetched record and continuation. Page sizes and ranking vary; 30 distinct results are not guaranteed. Native mode does not support date_posted. Keep this option with its cursor. Accepted values: default, native. Case, spaces, hyphens and underscores are interchangeable. — e.g. `native` |
| `dry_run` | no | Read a zero-credit estimate without fetching sources, running AI, or reserving credits. Cache status is a snapshot, not a guarantee at execution. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable. — e.g. `1` |
| `judgments` | no | Add bounded AI labels to eligible returned records (default on). off preserves the original data shape. Unclassified records remain present; labels depend on evidence, time, capacity and the existing request budget. No label surcharge. Accepted values: on, off. Case, spaces, hyphens and underscores are interchangeable. — e.g. `on` |
| `label` | no | Set none to disable labels; default enables the endpoint’s label set. Equivalent to judgments=off. Accepted values: default, none. Case, spaces, hyphens and underscores are interchangeable. — e.g. `none` |
| `label_evidence` | no | Include exact supporting sentences and zero-based sentence indexes when a label has validated evidence. No extra charge or change to decisions. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable. — e.g. `1` |
| `exclude` | no | Optionally remove confidently labelled engagement bait. Uncertain and unclassified records stay; removed IDs and an owner-bound recall reference are returned. Accepted values: engagement_bait. Case, spaces, hyphens and underscores are interchangeable. — e.g. `engagement_bait` |
| `fit` | no | Use goal to replace confidently irrelevant records with recall stubs. Keeps first, last, relevant and uncertain records; preserves order. Full evidence is stored for 24 hours when available. Accepted values: goal. Case, spaces, hyphens and underscores are interchangeable. — e.g. `goal` |
| `goal` | no | Required with fit=goal: describe the task in at most 600 characters. Supplied text is task context, never permission to act on posts. — e.g. `Find concrete product complaints` |
| `tokens` | no | Optional soft response target for fit=goal, 256–32000. Safety and evidence retention take priority, so the returned result may exceed it. — e.g. `4000` |

### Useful optional inputs

- `date_posted`: Choose the documented source window for recent results; coverage can still be incomplete. The normal endpoint price applies; this does not buy a complete date archive.
- `fit`: Use fit=goal with a task description to replace confidently irrelevant records with recall stubs and reduce agent context. No fit surcharge; full evidence is retained for 24 hours when stored, and the response size target is soft.
- `dry_run`: Read a free estimate before fetching sources or scheduling paid work. Zero credits; cache status and availability are snapshots rather than guarantees.

**Cost:** 1 credit at list price per successful uncached response; variable-cost operations may quote or settle a different charge. Confirmed uncharged or refunded failures report zero. Pending reconciliation can report credits_used:null; retain request_id and the original idempotency key.

```bash
curl "https://www.monocrawl.com/v1/instagram/search-reels?query=dogs" \
  -H "x-api-key: mn_your_key_here"
```

### Response data

Illustrative abbreviated data; documented core fields are optional and may be null. Additional source fields are allowed.

```json
{
  "count": 0,
  "cursor": null,
  "dropped": 0,
  "items": [
    {
      "author": {
        "avatar_url": "https://example.com/example",
        "handle": "example",
        "id": "example",
        "name": "example",
        "verified": false
      },
      "caption": "example",
      "carousel": [],
      "comments": 0,
      "created_at": "2026-09-01T12:00:00Z",
      "display_url": "https://example.com/example",
      "has_audio": false,
      "id": "example",
      "image": "https://example.com/example",
      "is_ad": false,
      "is_paid_partnership": false,
      "likes": 0,
      "location": {
        "id": "example",
        "latitude": 0,
        "longitude": 0,
        "name": "example"
      },
      "media_urls": [
        "example"
      ],
      "platform": "example",
      "product_type": "example",
      "shortcode": "example",
      "thumbnail_url": "https://example.com/example",
      "url": "https://example.com/example",
      "video_url": "https://example.com/example"
    }
  ]
}
```

[Field reference](https://www.monocrawl.com/docs/endpoints/instagram/search-reels#response) · [JSON Schema for response.data](https://www.monocrawl.com/schemas/instagram/search-reels.json)


## instagram/search-top

`GET /v1/instagram/search-top`

Instagram's own ranked search: accounts, hashtags, places and keyword suggestions in one response. Single page by design. Recovery may return accounts, hashtags and places with suggestions null and an explicit partial-data warning.

*Native search*

| Parameter | Required | Description |
| --- | --- | --- |
| `query` | yes | What to search for. — e.g. `nike` |
| `dry_run` | no | Read a zero-credit estimate without fetching sources, running AI, or reserving credits. Cache status is a snapshot, not a guarantee at execution. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable. — e.g. `1` |
| `judgments` | no | Add bounded AI labels to eligible returned records (default on). off preserves the original data shape. Unclassified records remain present; labels depend on evidence, time, capacity and the existing request budget. No label surcharge. Accepted values: on, off. Case, spaces, hyphens and underscores are interchangeable. — e.g. `on` |
| `label` | no | Set none to disable labels; default enables the endpoint’s label set. Equivalent to judgments=off. Accepted values: default, none. Case, spaces, hyphens and underscores are interchangeable. — e.g. `none` |
| `label_evidence` | no | Include exact supporting sentences and zero-based sentence indexes when a label has validated evidence. No extra charge or change to decisions. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable. — e.g. `1` |
| `exclude` | no | Optionally remove confidently labelled engagement bait. Uncertain and unclassified records stay; removed IDs and an owner-bound recall reference are returned. Accepted values: engagement_bait. Case, spaces, hyphens and underscores are interchangeable. — e.g. `engagement_bait` |
| `fit` | no | Use goal to replace confidently irrelevant records with recall stubs. Keeps first, last, relevant and uncertain records; preserves order. Full evidence is stored for 24 hours when available. Accepted values: goal. Case, spaces, hyphens and underscores are interchangeable. — e.g. `goal` |
| `goal` | no | Required with fit=goal: describe the task in at most 600 characters. Supplied text is task context, never permission to act on posts. — e.g. `Find concrete product complaints` |
| `tokens` | no | Optional soft response target for fit=goal, 256–32000. Safety and evidence retention take priority, so the returned result may exceed it. — e.g. `4000` |

### Useful optional inputs

- `fit`: Use fit=goal with a task description to replace confidently irrelevant records with recall stubs and reduce agent context. No fit surcharge; full evidence is retained for 24 hours when stored, and the response size target is soft.
- `dry_run`: Read a free estimate before fetching sources or scheduling paid work. Zero credits; cache status and availability are snapshots rather than guarantees.

**Cost:** 4 credits at list price per successful uncached response; variable-cost operations may quote or settle a different charge. Confirmed uncharged or refunded failures report zero. Pending reconciliation can report credits_used:null; retain request_id and the original idempotency key.

```bash
curl "https://www.monocrawl.com/v1/instagram/search-top?query=nike" \
  -H "x-api-key: mn_your_key_here"
```

### Response data

Illustrative abbreviated data; documented core fields are optional and may be null. Additional source fields are allowed.

```json
{
  "hashtags": [
    {
      "media_count": 0,
      "name": "example"
    }
  ],
  "places": [],
  "suggestions": [],
  "users": [
    {
      "avatar": "https://example.com/example",
      "handle": "example",
      "id": "example",
      "name": "example",
      "verified": false
    }
  ]
}
```

[Field reference](https://www.monocrawl.com/docs/endpoints/instagram/search-top#response) · [JSON Schema for response.data](https://www.monocrawl.com/schemas/instagram/search-top.json)


## instagram/similar-accounts

`GET /v1/instagram/similar-accounts`

Accounts the platform surfaces as similar to a given account (its suggested follows). Large verified accounts may surface none.

*Instagram similar accounts*

| Parameter | Required | Description |
| --- | --- | --- |
| `handle` | no | Instagram username (or pass user_id) An optional leading @ is accepted and removed before lookup. — e.g. `nasa` |
| `user_id` | no | Numeric account id — alternative to handle — e.g. `528817151` |
| `dry_run` | no | Read a zero-credit estimate without fetching sources, running AI, or reserving credits. Cache status is a snapshot, not a guarantee at execution. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable. — e.g. `1` |

### Useful optional inputs

- `dry_run`: Read a free estimate before fetching sources or scheduling paid work. Zero credits; cache status and availability are snapshots rather than guarantees.

**Cost:** 3 credits at list price per successful uncached response; variable-cost operations may quote or settle a different charge. Confirmed uncharged or refunded failures report zero. Pending reconciliation can report credits_used:null; retain request_id and the original idempotency key.

```bash
curl "https://www.monocrawl.com/v1/instagram/similar-accounts?handle=nasa" \
  -H "x-api-key: mn_your_key_here"
```

### Response data

Illustrative abbreviated data; documented core fields are optional and may be null. Additional source fields are allowed.

```json
{
  "account_id": "example",
  "count": 0,
  "has_more": false,
  "items": [
    {
      "avatar_url": "https://example.com/example",
      "handle": "example",
      "id": "example",
      "name": "example",
      "platform": "example",
      "private": false,
      "url": "https://example.com/example",
      "verified": false
    }
  ]
}
```

[Field reference](https://www.monocrawl.com/docs/endpoints/instagram/similar-accounts#response) · [JSON Schema for response.data](https://www.monocrawl.com/schemas/instagram/similar-accounts.json)


## instagram/stories

`GET /v1/instagram/stories`

A public account's stories live right now: media URLs, posting and expiry times, mentions, hashtags, link and music stickers. Empty when nothing is live.

*Instagram stories*

| Parameter | Required | Description |
| --- | --- | --- |
| `handle` | yes | Instagram username, with or without the leading @ An optional leading @ is accepted and removed before lookup. — e.g. `nasa` |
| `dry_run` | no | Read a zero-credit estimate without fetching sources, running AI, or reserving credits. Cache status is a snapshot, not a guarantee at execution. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable. — e.g. `1` |
| `judgments` | no | Add bounded AI labels to eligible returned records (default on). off preserves the original data shape. Unclassified records remain present; labels depend on evidence, time, capacity and the existing request budget. No label surcharge. Accepted values: on, off. Case, spaces, hyphens and underscores are interchangeable. — e.g. `on` |
| `label` | no | Set none to disable labels; default enables the endpoint’s label set. Equivalent to judgments=off. Accepted values: default, none. Case, spaces, hyphens and underscores are interchangeable. — e.g. `none` |
| `label_evidence` | no | Include exact supporting sentences and zero-based sentence indexes when a label has validated evidence. No extra charge or change to decisions. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable. — e.g. `1` |
| `exclude` | no | Optionally remove confidently labelled engagement bait. Uncertain and unclassified records stay; removed IDs and an owner-bound recall reference are returned. Accepted values: engagement_bait. Case, spaces, hyphens and underscores are interchangeable. — e.g. `engagement_bait` |
| `fit` | no | Use goal to replace confidently irrelevant records with recall stubs. Keeps first, last, relevant and uncertain records; preserves order. Full evidence is stored for 24 hours when available. Accepted values: goal. Case, spaces, hyphens and underscores are interchangeable. — e.g. `goal` |
| `goal` | no | Required with fit=goal: describe the task in at most 600 characters. Supplied text is task context, never permission to act on posts. — e.g. `Find concrete product complaints` |
| `tokens` | no | Optional soft response target for fit=goal, 256–32000. Safety and evidence retention take priority, so the returned result may exceed it. — e.g. `4000` |

### Useful optional inputs

- `fit`: Use fit=goal with a task description to replace confidently irrelevant records with recall stubs and reduce agent context. No fit surcharge; full evidence is retained for 24 hours when stored, and the response size target is soft.
- `dry_run`: Read a free estimate before fetching sources or scheduling paid work. Zero credits; cache status and availability are snapshots rather than guarantees.

**Cost:** 5 credits at list price per successful uncached response; variable-cost operations may quote or settle a different charge. Confirmed uncharged or refunded failures report zero. Pending reconciliation can report credits_used:null; retain request_id and the original idempotency key.

```bash
curl "https://www.monocrawl.com/v1/instagram/stories?handle=nasa" \
  -H "x-api-key: mn_your_key_here"
```

### Response data

Illustrative abbreviated data; documented core fields are optional and may be null. Additional source fields are allowed.

```json
{
  "_meta": {
    "billing": {
      "charged": 0,
      "list_price": 0,
      "reason": "example"
    }
  },
  "count": 0,
  "handle": "example",
  "has_more": false,
  "items": []
}
```

[Field reference](https://www.monocrawl.com/docs/endpoints/instagram/stories#response) · [JSON Schema for response.data](https://www.monocrawl.com/schemas/instagram/stories.json)


## instagram/story

`GET /v1/instagram/story`

One Instagram story by id while it is live: media links at every size, whether it is a video, when it was taken, the author and the caption. Stories expire after a day; an expired one is a 404.

*Instagram story*

| Parameter | Required | Description |
| --- | --- | --- |
| `story_id` | yes | The story id from instagram/stories (with or without the _userid suffix) — e.g. `3979517011039436364` |
| `dry_run` | no | Read a zero-credit estimate without fetching sources, running AI, or reserving credits. Cache status is a snapshot, not a guarantee at execution. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable. — e.g. `1` |

### Useful optional inputs

- `dry_run`: Read a free estimate before fetching sources or scheduling paid work. Zero credits; cache status and availability are snapshots rather than guarantees.

**Cost:** 5 credits at list price per successful uncached response; variable-cost operations may quote or settle a different charge. Confirmed uncharged or refunded failures report zero. Pending reconciliation can report credits_used:null; retain request_id and the original idempotency key.

```bash
curl "https://www.monocrawl.com/v1/instagram/story?story_id=3979517011039436364" \
  -H "x-api-key: mn_your_key_here"
```

### Response data

Illustrative abbreviated data; documented core fields are optional and may be null. Additional source fields are allowed.

```json
{
  "id": "123",
  "type": "story",
  "expires_at": null
}
```

[Field reference](https://www.monocrawl.com/docs/endpoints/instagram/story#response) · [JSON Schema for response.data](https://www.monocrawl.com/schemas/instagram/story.json)


## instagram/tagged-posts

`GET /v1/instagram/tagged-posts`

Posts a user has been tagged in, one page at a time, with codes, captions, counts and the posting author.

*Instagram tagged posts*

| Parameter | Required | Description |
| --- | --- | --- |
| `user_id` | yes | Numeric Instagram account ID. First call instagram/profile with handle, then use its returned data.id here. Each lookup uses its normal price. — e.g. `528817151` |
| `cursor` | no | Opaque cursor from the previous page |
| `dry_run` | no | Read a zero-credit estimate without fetching sources, running AI, or reserving credits. Cache status is a snapshot, not a guarantee at execution. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable. — e.g. `1` |
| `judgments` | no | Add bounded AI labels to eligible returned records (default on). off preserves the original data shape. Unclassified records remain present; labels depend on evidence, time, capacity and the existing request budget. No label surcharge. Accepted values: on, off. Case, spaces, hyphens and underscores are interchangeable. — e.g. `on` |
| `label` | no | Set none to disable labels; default enables the endpoint’s label set. Equivalent to judgments=off. Accepted values: default, none. Case, spaces, hyphens and underscores are interchangeable. — e.g. `none` |
| `label_evidence` | no | Include exact supporting sentences and zero-based sentence indexes when a label has validated evidence. No extra charge or change to decisions. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable. — e.g. `1` |
| `exclude` | no | Optionally remove confidently labelled engagement bait. Uncertain and unclassified records stay; removed IDs and an owner-bound recall reference are returned. Accepted values: engagement_bait. Case, spaces, hyphens and underscores are interchangeable. — e.g. `engagement_bait` |
| `fit` | no | Use goal to replace confidently irrelevant records with recall stubs. Keeps first, last, relevant and uncertain records; preserves order. Full evidence is stored for 24 hours when available. Accepted values: goal. Case, spaces, hyphens and underscores are interchangeable. — e.g. `goal` |
| `goal` | no | Required with fit=goal: describe the task in at most 600 characters. Supplied text is task context, never permission to act on posts. — e.g. `Find concrete product complaints` |
| `tokens` | no | Optional soft response target for fit=goal, 256–32000. Safety and evidence retention take priority, so the returned result may exceed it. — e.g. `4000` |

### Useful optional inputs

- `fit`: Use fit=goal with a task description to replace confidently irrelevant records with recall stubs and reduce agent context. No fit surcharge; full evidence is retained for 24 hours when stored, and the response size target is soft.
- `cursor`: Continue the same source traversal with the complete returned cursor. Saved-result retrieval and a new source page can have different prices; quote the next call.
- `dry_run`: Read a free estimate before fetching sources or scheduling paid work. Zero credits; cache status and availability are snapshots rather than guarantees.

**Cost:** 2 credits at list price per successful uncached response; variable-cost operations may quote or settle a different charge. Confirmed uncharged or refunded failures report zero. Pending reconciliation can report credits_used:null; retain request_id and the original idempotency key.

```bash
curl "https://www.monocrawl.com/v1/instagram/tagged-posts?user_id=528817151" \
  -H "x-api-key: mn_your_key_here"
```

### Response data

Illustrative abbreviated data; documented core fields are optional and may be null. Additional source fields are allowed.

```json
{
  "count": 0,
  "cursor": null,
  "dropped": 0,
  "has_more": false,
  "items": [
    {
      "author": {
        "handle": "example",
        "id": "example"
      },
      "caption": "example",
      "carousel": [],
      "code": "example",
      "display_url": "https://example.com/example",
      "id": "example",
      "is_video": false,
      "media_urls": [
        "example"
      ],
      "platform": "example",
      "stats": {
        "comments": 0,
        "likes": 0,
        "plays": 0
      },
      "thumbnail_url": "https://example.com/example",
      "url": "https://example.com/example"
    }
  ]
}
```

[Field reference](https://www.monocrawl.com/docs/endpoints/instagram/tagged-posts#response) · [JSON Schema for response.data](https://www.monocrawl.com/schemas/instagram/tagged-posts.json)


## instagram/username-suggestions

`GET /v1/instagram/username-suggestions`

Matching existing public accounts through profile search. Not username availability checks or generated handle suggestions. Fresh search costs at least 5 credits; cache hits use their lower normal price.

*Find matching Instagram usernames*

| Parameter | Required | Description |
| --- | --- | --- |
| `query` | yes | Search phrase; ranked platform search, not a strict local substring match. — e.g. `NASA` |
| `cursor` | no | Opaque continuation from the previous response. Preserve query or identity. |
| `dry_run` | no | Read a zero-credit estimate without fetching sources, running AI, or reserving credits. Cache status is a snapshot, not a guarantee at execution. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable. — e.g. `1` |

### Useful optional inputs

- `cursor`: Continue the same source traversal with the complete returned cursor. Saved-result retrieval and a new source page can have different prices; quote the next call.
- `dry_run`: Read a free estimate before fetching sources or scheduling paid work. Zero credits; cache status and availability are snapshots rather than guarantees.

**Cost:** 5 credits at list price per successful uncached response; variable-cost operations may quote or settle a different charge. Confirmed uncharged or refunded failures report zero. Pending reconciliation can report credits_used:null; retain request_id and the original idempotency key.

```bash
curl "https://www.monocrawl.com/v1/instagram/username-suggestions?query=NASA" \
  -H "x-api-key: mn_your_key_here"
```

### Response data

Illustrative abbreviated data; documented core fields are optional and may be null. Additional source fields are allowed.

```json
{
  "_meta": {
    "billing": {
      "charged": 0,
      "list_price": 0,
      "maximum_component_credits": 0
    }
  },
  "_warnings": [
    "example"
  ],
  "complete": false,
  "count": 0,
  "items": [
    {
      "avatar_url": "https://example.com/example",
      "bio": "example",
      "followers": 0,
      "following": 0,
      "handle": "example",
      "id": "example",
      "name": "example",
      "platform": "example",
      "posts_count": 0,
      "private": false,
      "url": "https://example.com/example",
      "verified": false
    }
  ],
  "legs": [
    {
      "attempts": 0,
      "credits": 0,
      "endpoint": "example",
      "ok": false,
      "served_by": "example",
      "status": 0
    }
  ],
  "pages_fetched": 0,
  "partial": false,
  "platform": "example",
  "source_metadata": {},
  "stop_reason": "example"
}
```

[Field reference](https://www.monocrawl.com/docs/endpoints/instagram/username-suggestions#response) · [JSON Schema for response.data](https://www.monocrawl.com/schemas/instagram/username-suggestions.json)

