# Instagram API Reference

Canonical: https://monsterapi.co/docs/api/instagram

Read the Instagram API reference. Review parameters, response fields, examples, and current credit prices.

OpenAPI specification: [Instagram](https://monsterapi.co/docs/openapi/platforms/instagram.yaml).

---

Current operation prices: [public catalog](https://monsterapi.co/account/api/v1/public/api-prices). Prices use credits per request.

---

# Instagram: Audio track reels

`GET /instagram/api/audio/{id}`

Documentation: https://monsterapi.co/docs/api/instagram#audio-track-reels

Operation ID: `instagram_audio_read`

Returns available track information and a page of reels using the track. An unavailable track or empty page without continuation returns not_found (404).

## Authentication

Send your billing API key in the `Authorization: Bearer <YOUR_API_KEY>` header. Your account login is separate.

## Inputs

- `id` (path, required): Audio cluster ID, 1 to 32 decimal digits. Copy `data.items[].media.clips_metadata.audio_ranking_info.best_audio_cluster_id` from GET `/user/{id}/reels` when present. [Account reels reference](https://monsterapi.co/docs/api/instagram-media).

- `cursor` (query, optional): Continuation from `next_cursor` in GET `/audio/{id}` for the same `id`; pass it as `cursor` to that endpoint. URL-safe Base64 with optional trailing = padding; invalid format returns bad_request (400), while an incompatible continuation can return the first page or upstream_shape (500). [Audio reference](https://monsterapi.co/docs/api/instagram-discovery).

## Responses

- 200:

- 400: Refusal envelope.

Refused at the gateway: the request target, path and query string together, is longer than 8,192 bytes; or the headers, the target counted among them, exceed 16,384 bytes or 64 fields

- 401: Refusal envelope.

Refused at the gateway: the `Authorization` header carries no API key, or a malformed one

- 402: Refusal envelope.

Refused at the gateway: the credits of the account do not cover the price of the operation

- 403: Refusal envelope.

Refused at the gateway: the API key is unknown or revoked

- 405: `method_not_allowed`: the endpoint answers GET alone, and any other method, HEAD included, is refused

Refused at the gateway: the path exists, but no operation on it takes the method of the request, HEAD included; `Allow` names the methods that do

- 409: Refusal envelope.

Refused at the gateway: a repeat of a request the gateway already checked differs from the original

- 429: Refusal envelope.

Refused at the gateway: the account calls faster than its rate limit allows

- 500: upstream_shape: the requested audio page could not be returned. A syntactically valid foreign cursor may cause this refusal.

- 503: Temporary unavailability or a rate limit. Retry-After is included when applicable.

Refused at the gateway: the check could not complete, the account is suspended, or the platform did not answer; each may pass later, and `Retry-After` comes only when the platform did not answer

- default: Refusal envelope.

## Credits

Check the live price in the documentation before sending. Platform 2xx and 4xx responses can use credits, including empty data. Gateway refusals and 5xx responses do not use credits. Each pagination request is a separate call.

https://monsterapi.co/docs/pricing

## Request template

Replace path placeholders and add the required query parameters from the Inputs section before sending.

```shell

curl --get 'https://api.monsterapi.co/instagram/api/audio/{id}' \
  -H 'Authorization: Bearer <YOUR_API_KEY>'

```

---

# Instagram: Discovery sections

`GET /instagram/api/explore`

Documentation: https://monsterapi.co/docs/api/instagram#discovery-sections

Operation ID: `instagram_explore_read`

Returns discovery sections, their entries, section IDs and available continuation cursors.

## Authentication

Send your billing API key in the `Authorization: Bearer <YOUR_API_KEY>` header. Your account login is separate.

## Inputs

## Responses

- 200:

- 400: Refusal envelope.

Refused at the gateway: the request target, path and query string together, is longer than 8,192 bytes; or the headers, the target counted among them, exceed 16,384 bytes or 64 fields

- 401: Refusal envelope.

Refused at the gateway: the `Authorization` header carries no API key, or a malformed one

- 402: Refusal envelope.

Refused at the gateway: the credits of the account do not cover the price of the operation

- 403: Refusal envelope.

Refused at the gateway: the API key is unknown or revoked

- 405: `method_not_allowed`: the endpoint answers GET alone, and any other method, HEAD included, is refused

Refused at the gateway: the path exists, but no operation on it takes the method of the request, HEAD included; `Allow` names the methods that do

- 409: Refusal envelope.

Refused at the gateway: a repeat of a request the gateway already checked differs from the original

- 429: Refusal envelope.

Refused at the gateway: the account calls faster than its rate limit allows

- 503: Temporary unavailability or a rate limit. Retry-After is included when applicable.

Refused at the gateway: the check could not complete, the account is suspended, or the platform did not answer; each may pass later, and `Retry-After` comes only when the platform did not answer

- default: Refusal envelope.

## Credits

Check the live price in the documentation before sending. Platform 2xx and 4xx responses can use credits, including empty data. Gateway refusals and 5xx responses do not use credits. Each pagination request is a separate call.

https://monsterapi.co/docs/pricing

## Request template

Replace path placeholders and add the required query parameters from the Inputs section before sending.

```shell

curl --get 'https://api.monsterapi.co/instagram/api/explore' \
  -H 'Authorization: Bearer <YOUR_API_KEY>'

```

---

# Instagram: Discovery section entries

`GET /instagram/api/explore/sections`

Documentation: https://monsterapi.co/docs/api/instagram#discovery-section-entries

Operation ID: `instagram_explore_section_list`

Returns a page of entries for a discovery section. An unavailable section or empty page without continuation returns not_found (404); an empty page with continuation remains 200.

## Authentication

Send your billing API key in the `Authorization: Bearer <YOUR_API_KEY>` header. Your account login is separate.

## Inputs

- `section` (query, required): Section ID from `sections[].id` in GET `/explore`: `PolarisPopularSearchHomeSection:` followed by a nonempty ASCII-letter, digit or underscore name, at most 128 characters total. Preserve the value exactly. [Discovery reference](https://monsterapi.co/docs/api/instagram-discovery).

- `cursor` (query, optional): Continuation from `sections[].next_cursor` in GET `/explore` for this section, or `next_cursor` in GET `/explore/sections` for the same `section`; pass it as `cursor` to GET `/explore/sections`. ASCII digits only; omit for the first page. [Section reference](https://monsterapi.co/docs/api/instagram-discovery).

## Responses

- 200:

- 400: Refusal envelope.

Refused at the gateway: the request target, path and query string together, is longer than 8,192 bytes; or the headers, the target counted among them, exceed 16,384 bytes or 64 fields

- 401: Refusal envelope.

Refused at the gateway: the `Authorization` header carries no API key, or a malformed one

- 402: Refusal envelope.

Refused at the gateway: the credits of the account do not cover the price of the operation

- 403: Refusal envelope.

Refused at the gateway: the API key is unknown or revoked

- 405: `method_not_allowed`: the endpoint answers GET alone, and any other method, HEAD included, is refused

Refused at the gateway: the path exists, but no operation on it takes the method of the request, HEAD included; `Allow` names the methods that do

- 409: Refusal envelope.

Refused at the gateway: a repeat of a request the gateway already checked differs from the original

- 429: Refusal envelope.

Refused at the gateway: the account calls faster than its rate limit allows

- 503: Temporary unavailability or a rate limit. Retry-After is included when applicable.

Refused at the gateway: the check could not complete, the account is suspended, or the platform did not answer; each may pass later, and `Retry-After` comes only when the platform did not answer

- default: Refusal envelope.

## Credits

Check the live price in the documentation before sending. Platform 2xx and 4xx responses can use credits, including empty data. Gateway refusals and 5xx responses do not use credits. Each pagination request is a separate call.

https://monsterapi.co/docs/pricing

## Request template

Replace path placeholders and add the required query parameters from the Inputs section before sending.

```shell

curl --get 'https://api.monsterapi.co/instagram/api/explore/sections' \
  -H 'Authorization: Bearer <YOUR_API_KEY>'

```

---

# Instagram: Saved highlight stories

`GET /instagram/api/highlight/{id}`

Documentation: https://monsterapi.co/docs/api/instagram#saved-highlight-stories

Operation ID: `instagram_highlight_read`

Returns the stories saved in a highlight. Access restrictions can return requires_auth (501); an unavailable highlight returns not_found (404).

## Authentication

Send your billing API key in the `Authorization: Bearer <YOUR_API_KEY>` header. Your account login is separate.

## Inputs

- `id` (path, required): Highlight ID, 1 to 32 decimal digits. Copy `highlights[].id` from GET `/profile/{username}`. [Profile highlights reference](https://monsterapi.co/docs/api/instagram-profile).

## Responses

- 200:

- 400: Refusal envelope.

Refused at the gateway: the request target, path and query string together, is longer than 8,192 bytes; or the headers, the target counted among them, exceed 16,384 bytes or 64 fields

- 401: Refusal envelope.

Refused at the gateway: the `Authorization` header carries no API key, or a malformed one

- 402: Refusal envelope.

Refused at the gateway: the credits of the account do not cover the price of the operation

- 403: Refusal envelope.

Refused at the gateway: the API key is unknown or revoked

- 405: `method_not_allowed`: the endpoint answers GET alone, and any other method, HEAD included, is refused

Refused at the gateway: the path exists, but no operation on it takes the method of the request, HEAD included; `Allow` names the methods that do

- 409: Refusal envelope.

Refused at the gateway: a repeat of a request the gateway already checked differs from the original

- 429: Refusal envelope.

Refused at the gateway: the account calls faster than its rate limit allows

- 503: Temporary unavailability or a rate limit. Retry-After is included when applicable.

Refused at the gateway: the check could not complete, the account is suspended, or the platform did not answer; each may pass later, and `Retry-After` comes only when the platform did not answer

- default: Refusal envelope.

## Credits

Check the live price in the documentation before sending. Platform 2xx and 4xx responses can use credits, including empty data. Gateway refusals and 5xx responses do not use credits. Each pagination request is a separate call.

https://monsterapi.co/docs/pricing

## Request template

Replace path placeholders and add the required query parameters from the Inputs section before sending.

```shell

curl --get 'https://api.monsterapi.co/instagram/api/highlight/{id}' \
  -H 'Authorization: Bearer <YOUR_API_KEY>'

```

---

# Instagram: Location details

`GET /instagram/api/location/{id}`

Documentation: https://monsterapi.co/docs/api/instagram#location-details

Operation ID: `instagram_location_read`

Returns available location details, including name, category, address, coordinates and post count. An unavailable location returns not_found (404).

## Authentication

Send your billing API key in the `Authorization: Bearer <YOUR_API_KEY>` header. Your account login is separate.

## Inputs

- `id` (path, required): Location ID, 1 to 32 decimal digits: the ID segment in an Instagram location URL. `location.id` in GET `/location/{id}` can be reused for this location. [Location reference](https://monsterapi.co/docs/api/instagram-discovery).

## Responses

- 200:

- 400: Refusal envelope.

Refused at the gateway: the request target, path and query string together, is longer than 8,192 bytes; or the headers, the target counted among them, exceed 16,384 bytes or 64 fields

- 401: Refusal envelope.

Refused at the gateway: the `Authorization` header carries no API key, or a malformed one

- 402: Refusal envelope.

Refused at the gateway: the credits of the account do not cover the price of the operation

- 403: Refusal envelope.

Refused at the gateway: the API key is unknown or revoked

- 405: `method_not_allowed`: the endpoint answers GET alone, and any other method, HEAD included, is refused

Refused at the gateway: the path exists, but no operation on it takes the method of the request, HEAD included; `Allow` names the methods that do

- 409: Refusal envelope.

Refused at the gateway: a repeat of a request the gateway already checked differs from the original

- 429: Refusal envelope.

Refused at the gateway: the account calls faster than its rate limit allows

- 503: Temporary unavailability or a rate limit. Retry-After is included when applicable.

Refused at the gateway: the check could not complete, the account is suspended, or the platform did not answer; each may pass later, and `Retry-After` comes only when the platform did not answer

- default: Refusal envelope.

## Credits

Check the live price in the documentation before sending. Platform 2xx and 4xx responses can use credits, including empty data. Gateway refusals and 5xx responses do not use credits. Each pagination request is a separate call.

https://monsterapi.co/docs/pricing

## Request template

Replace path placeholders and add the required query parameters from the Inputs section before sending.

```shell

curl --get 'https://api.monsterapi.co/instagram/api/location/{id}' \
  -H 'Authorization: Bearer <YOUR_API_KEY>'

```

---

# Instagram: Location posts

`GET /instagram/api/location/{id}/posts`

Documentation: https://monsterapi.co/docs/api/instagram#location-posts

Operation ID: `instagram_location_posts_list`

Returns the first page of posts for a location and selected tab; continuation is not available. An empty or unavailable page returns not_found (404).

## Authentication

Send your billing API key in the `Authorization: Bearer <YOUR_API_KEY>` header. Your account login is separate.

## Inputs

- `id` (path, required): Location ID, 1 to 32 decimal digits: the ID segment in an Instagram location URL. `location.id` in GET `/location/{id}` can be reused for this location. [Location reference](https://monsterapi.co/docs/api/instagram-discovery).

- `tab` (query, optional): Which tab to read: ranked or recent. Defaults to ranked.

- `limit` (query, optional): Requested page size, 1 to 50; defaults to 12. The returned page may contain a different number of items.

## Responses

- 200:

- 400: Refusal envelope.

Refused at the gateway: the request target, path and query string together, is longer than 8,192 bytes; or the headers, the target counted among them, exceed 16,384 bytes or 64 fields

- 401: Refusal envelope.

Refused at the gateway: the `Authorization` header carries no API key, or a malformed one

- 402: Refusal envelope.

Refused at the gateway: the credits of the account do not cover the price of the operation

- 403: Refusal envelope.

Refused at the gateway: the API key is unknown or revoked

- 405: `method_not_allowed`: the endpoint answers GET alone, and any other method, HEAD included, is refused

Refused at the gateway: the path exists, but no operation on it takes the method of the request, HEAD included; `Allow` names the methods that do

- 409: Refusal envelope.

Refused at the gateway: a repeat of a request the gateway already checked differs from the original

- 429: Refusal envelope.

Refused at the gateway: the account calls faster than its rate limit allows

- 503: Temporary unavailability or a rate limit. Retry-After is included when applicable.

Refused at the gateway: the check could not complete, the account is suspended, or the platform did not answer; each may pass later, and `Retry-After` comes only when the platform did not answer

- default: Refusal envelope.

## Credits

Check the live price in the documentation before sending. Platform 2xx and 4xx responses can use credits, including empty data. Gateway refusals and 5xx responses do not use credits. Each pagination request is a separate call.

https://monsterapi.co/docs/pricing

## Request template

Replace path placeholders and add the required query parameters from the Inputs section before sending.

```shell

curl --get 'https://api.monsterapi.co/instagram/api/location/{id}/posts' \
  -H 'Authorization: Bearer <YOUR_API_KEY>'

```

---

# Instagram: Post details

`GET /instagram/api/media/{shortcode}`

Documentation: https://monsterapi.co/docs/api/instagram#post-details

Operation ID: `instagram_media_read`

Returns details of a post, reel or video, with author information and available comment previews.

## Authentication

Send your billing API key in the `Authorization: Bearer <YOUR_API_KEY>` header. Your account login is separate.

## Inputs

- `shortcode` (path, required): Post or reel code, 1 to 40 letters, digits, underscores or hyphens. Copy `posts[].shortcode` from GET `/user/{id}/posts` or `reels[].shortcode` from GET `/user/{id}/reels`, or use the code in a post/reel URL. [Reels reference](https://monsterapi.co/docs/api/instagram-media).

## Responses

- 200:

- 400: Refusal envelope.

Refused at the gateway: the request target, path and query string together, is longer than 8,192 bytes; or the headers, the target counted among them, exceed 16,384 bytes or 64 fields

- 401: Refusal envelope.

Refused at the gateway: the `Authorization` header carries no API key, or a malformed one

- 402: Refusal envelope.

Refused at the gateway: the credits of the account do not cover the price of the operation

- 403: Refusal envelope.

Refused at the gateway: the API key is unknown or revoked

- 405: `method_not_allowed`: the endpoint answers GET alone, and any other method, HEAD included, is refused

Refused at the gateway: the path exists, but no operation on it takes the method of the request, HEAD included; `Allow` names the methods that do

- 409: Refusal envelope.

Refused at the gateway: a repeat of a request the gateway already checked differs from the original

- 429: Refusal envelope.

Refused at the gateway: the account calls faster than its rate limit allows

- 503: Temporary unavailability or a rate limit. Retry-After is included when applicable.

Refused at the gateway: the check could not complete, the account is suspended, or the platform did not answer; each may pass later, and `Retry-After` comes only when the platform did not answer

- default: Refusal envelope.

## Credits

Check the live price in the documentation before sending. Platform 2xx and 4xx responses can use credits, including empty data. Gateway refusals and 5xx responses do not use credits. Each pagination request is a separate call.

https://monsterapi.co/docs/pricing

## Request template

Replace path placeholders and add the required query parameters from the Inputs section before sending.

```shell

curl --get 'https://api.monsterapi.co/instagram/api/media/{shortcode}' \
  -H 'Authorization: Bearer <YOUR_API_KEY>'

```

---

# Instagram: Post comments

`GET /instagram/api/media/{shortcode}/comments`

Documentation: https://monsterapi.co/docs/api/instagram#post-comments

Operation ID: `instagram_media_comments_list`

Returns a page of comments without replies. No comments or disabled comments without continuation returns not_found (404); an empty page with continuation remains 200.

## Authentication

Send your billing API key in the `Authorization: Bearer <YOUR_API_KEY>` header. Your account login is separate.

## Inputs

- `shortcode` (path, required): Post or reel code, 1 to 40 letters, digits, underscores or hyphens. Copy `posts[].shortcode` from GET `/user/{id}/posts` or `reels[].shortcode` from GET `/user/{id}/reels`, or use the code in a post/reel URL. [Reels reference](https://monsterapi.co/docs/api/instagram-media).

- `cursor` (query, optional): Continuation from `next_cursor` in GET `/media/{shortcode}/comments` for the same `shortcode`; pass it as `cursor` to that endpoint. Omit for the first page. [Comments reference](https://monsterapi.co/docs/api/instagram-media).

## Responses

- 200:

- 400: Refusal envelope.

Refused at the gateway: the request target, path and query string together, is longer than 8,192 bytes; or the headers, the target counted among them, exceed 16,384 bytes or 64 fields

- 401: Refusal envelope.

Refused at the gateway: the `Authorization` header carries no API key, or a malformed one

- 402: Refusal envelope.

Refused at the gateway: the credits of the account do not cover the price of the operation

- 403: Refusal envelope.

Refused at the gateway: the API key is unknown or revoked

- 405: `method_not_allowed`: the endpoint answers GET alone, and any other method, HEAD included, is refused

Refused at the gateway: the path exists, but no operation on it takes the method of the request, HEAD included; `Allow` names the methods that do

- 409: Refusal envelope.

Refused at the gateway: a repeat of a request the gateway already checked differs from the original

- 429: Refusal envelope.

Refused at the gateway: the account calls faster than its rate limit allows

- 503: Temporary unavailability or a rate limit. Retry-After is included when applicable.

Refused at the gateway: the check could not complete, the account is suspended, or the platform did not answer; each may pass later, and `Retry-After` comes only when the platform did not answer

- default: Refusal envelope.

## Credits

Check the live price in the documentation before sending. Platform 2xx and 4xx responses can use credits, including empty data. Gateway refusals and 5xx responses do not use credits. Each pagination request is a separate call.

https://monsterapi.co/docs/pricing

## Request template

Replace path placeholders and add the required query parameters from the Inputs section before sending.

```shell

curl --get 'https://api.monsterapi.co/instagram/api/media/{shortcode}/comments' \
  -H 'Authorization: Bearer <YOUR_API_KEY>'

```

---

# Instagram: Post overview

`GET /instagram/api/media/{shortcode}/embed`

Documentation: https://monsterapi.co/docs/api/instagram#post-overview

Operation ID: `instagram_media_embed_read`

Returns a post overview with its author, caption, reaction and comment counts, and available video views and duration. An unavailable post returns not_found (404).

## Authentication

Send your billing API key in the `Authorization: Bearer <YOUR_API_KEY>` header. Your account login is separate.

## Inputs

- `shortcode` (path, required): Post or reel code, 1 to 40 letters, digits, underscores or hyphens. Copy `posts[].shortcode` from GET `/user/{id}/posts` or `reels[].shortcode` from GET `/user/{id}/reels`, or use the code in a post/reel URL. [Reels reference](https://monsterapi.co/docs/api/instagram-media).

## Responses

- 200:

- 400: Refusal envelope.

Refused at the gateway: the request target, path and query string together, is longer than 8,192 bytes; or the headers, the target counted among them, exceed 16,384 bytes or 64 fields

- 401: Refusal envelope.

Refused at the gateway: the `Authorization` header carries no API key, or a malformed one

- 402: Refusal envelope.

Refused at the gateway: the credits of the account do not cover the price of the operation

- 403: Refusal envelope.

Refused at the gateway: the API key is unknown or revoked

- 405: `method_not_allowed`: the endpoint answers GET alone, and any other method, HEAD included, is refused

Refused at the gateway: the path exists, but no operation on it takes the method of the request, HEAD included; `Allow` names the methods that do

- 409: Refusal envelope.

Refused at the gateway: a repeat of a request the gateway already checked differs from the original

- 429: Refusal envelope.

Refused at the gateway: the account calls faster than its rate limit allows

- 503: Temporary unavailability or a rate limit. Retry-After is included when applicable.

Refused at the gateway: the check could not complete, the account is suspended, or the platform did not answer; each may pass later, and `Retry-After` comes only when the platform did not answer

- default: Refusal envelope.

## Credits

Check the live price in the documentation before sending. Platform 2xx and 4xx responses can use credits, including empty data. Gateway refusals and 5xx responses do not use credits. Each pagination request is a separate call.

https://monsterapi.co/docs/pricing

## Request template

Replace path placeholders and add the required query parameters from the Inputs section before sending.

```shell

curl --get 'https://api.monsterapi.co/instagram/api/media/{shortcode}/embed' \
  -H 'Authorization: Bearer <YOUR_API_KEY>'

```

---

# Instagram: Popular term overview

`GET /instagram/api/popular`

Documentation: https://monsterapi.co/docs/api/instagram#popular-term-overview

Operation ID: `instagram_popular_read`

Returns a popular term's title, reel count expressed as text, related terms and first reels. An empty reel page without continuation returns not_found (404).

## Authentication

Send your billing API key in the `Authorization: Bearer <YOUR_API_KEY>` header. Your account login is separate.

## Inputs

- `keyword` (query, required): Term of Instagram's popular searches, 1 to 256 characters: letters and digits of any script, hyphens and spaces, with at least one letter or digit. Preserves case and spaces. Copy `sections[].entries[].keyword` from GET `/explore` or `entries[].keyword` from GET `/explore/sections`. [Discovery reference](https://monsterapi.co/docs/api/instagram-discovery).

## Responses

- 200:

- 400: Refusal envelope.

Refused at the gateway: the request target, path and query string together, is longer than 8,192 bytes; or the headers, the target counted among them, exceed 16,384 bytes or 64 fields

- 401: Refusal envelope.

Refused at the gateway: the `Authorization` header carries no API key, or a malformed one

- 402: Refusal envelope.

Refused at the gateway: the credits of the account do not cover the price of the operation

- 403: Refusal envelope.

Refused at the gateway: the API key is unknown or revoked

- 405: `method_not_allowed`: the endpoint answers GET alone, and any other method, HEAD included, is refused

Refused at the gateway: the path exists, but no operation on it takes the method of the request, HEAD included; `Allow` names the methods that do

- 409: Refusal envelope.

Refused at the gateway: a repeat of a request the gateway already checked differs from the original

- 429: Refusal envelope.

Refused at the gateway: the account calls faster than its rate limit allows

- 503: Temporary unavailability or a rate limit. Retry-After is included when applicable.

Refused at the gateway: the check could not complete, the account is suspended, or the platform did not answer; each may pass later, and `Retry-After` comes only when the platform did not answer

- default: Refusal envelope.

## Credits

Check the live price in the documentation before sending. Platform 2xx and 4xx responses can use credits, including empty data. Gateway refusals and 5xx responses do not use credits. Each pagination request is a separate call.

https://monsterapi.co/docs/pricing

## Request template

Replace path placeholders and add the required query parameters from the Inputs section before sending.

```shell

curl --get 'https://api.monsterapi.co/instagram/api/popular' \
  -H 'Authorization: Bearer <YOUR_API_KEY>'

```

---

# Instagram: Popular term reels and counters

`GET /instagram/api/popular/reels`

Documentation: https://monsterapi.co/docs/api/instagram#popular-term-reels-and-counters

Operation ID: `instagram_popular_reels_list`

Returns a page of reels with available reaction and comment counts and publication times for a term. A terminal empty page returns not_found (404); an invalid continuation returns bad_request (400).

## Authentication

Send your billing API key in the `Authorization: Bearer <YOUR_API_KEY>` header. Your account login is separate.

## Inputs

- `keyword` (query, required): Term of Instagram's popular searches, 1 to 256 characters: letters and digits of any script, hyphens and spaces, with at least one letter or digit. Preserves case and spaces. Copy `sections[].entries[].keyword` from GET `/explore` or `entries[].keyword` from GET `/explore/sections`. [Discovery reference](https://monsterapi.co/docs/api/instagram-discovery).

- `cursor` (query, optional): Continuation from `next_cursor` in GET `/popular/reels` for the same `keyword`; pass it as `cursor` to that endpoint. Omit for the first page. [Popular reels reference](https://monsterapi.co/docs/api/instagram-discovery).

## Responses

- 200:

- 400: Invalid keyword or a cursor Instagram rejects

Refused at the gateway: the request target, path and query string together, is longer than 8,192 bytes; or the headers, the target counted among them, exceed 16,384 bytes or 64 fields

- 401: Refusal envelope.

Refused at the gateway: the `Authorization` header carries no API key, or a malformed one

- 402: Refusal envelope.

Refused at the gateway: the credits of the account do not cover the price of the operation

- 403: Refusal envelope.

Refused at the gateway: the API key is unknown or revoked

- 404: Empty reel page without continuation

- 405: `method_not_allowed`: the endpoint answers GET alone, and any other method, HEAD included, is refused

Refused at the gateway: the path exists, but no operation on it takes the method of the request, HEAD included; `Allow` names the methods that do

- 409: Refusal envelope.

Refused at the gateway: a repeat of a request the gateway already checked differs from the original

- 429: Refusal envelope.

Refused at the gateway: the account calls faster than its rate limit allows

- 503: Temporary unavailability or a rate limit. Retry-After is included when applicable.

Refused at the gateway: the check could not complete, the account is suspended, or the platform did not answer; each may pass later, and `Retry-After` comes only when the platform did not answer

- default: Refusal envelope.

## Credits

Check the live price in the documentation before sending. Platform 2xx and 4xx responses can use credits, including empty data. Gateway refusals and 5xx responses do not use credits. Each pagination request is a separate call.

https://monsterapi.co/docs/pricing

## Request template

Replace path placeholders and add the required query parameters from the Inputs section before sending.

```shell

curl --get 'https://api.monsterapi.co/instagram/api/popular/reels' \
  -H 'Authorization: Bearer <YOUR_API_KEY>'

```

---

# Instagram: Profile by ID

`GET /instagram/api/profile/id/{id}`

Documentation: https://monsterapi.co/docs/api/instagram#profile-by-id

Operation ID: `instagram_profile_read_by_id`

Returns profile details for an account ID, including its current username.

## Authentication

Send your billing API key in the `Authorization: Bearer <YOUR_API_KEY>` header. Your account login is separate.

## Inputs

- `id` (path, required): Account ID, 1 to 32 decimal digits. Copy `user.id` from GET `/profile/{username}`. [Profile reference](https://monsterapi.co/docs/api/instagram-profile).

## Responses

- 200:

- 400: Refusal envelope.

Refused at the gateway: the request target, path and query string together, is longer than 8,192 bytes; or the headers, the target counted among them, exceed 16,384 bytes or 64 fields

- 401: Refusal envelope.

Refused at the gateway: the `Authorization` header carries no API key, or a malformed one

- 402: Refusal envelope.

Refused at the gateway: the credits of the account do not cover the price of the operation

- 403: Refusal envelope.

Refused at the gateway: the API key is unknown or revoked

- 405: `method_not_allowed`: the endpoint answers GET alone, and any other method, HEAD included, is refused

Refused at the gateway: the path exists, but no operation on it takes the method of the request, HEAD included; `Allow` names the methods that do

- 409: Refusal envelope.

Refused at the gateway: a repeat of a request the gateway already checked differs from the original

- 429: Refusal envelope.

Refused at the gateway: the account calls faster than its rate limit allows

- 503: Temporary unavailability or a rate limit. Retry-After is included when applicable.

Refused at the gateway: the check could not complete, the account is suspended, or the platform did not answer; each may pass later, and `Retry-After` comes only when the platform did not answer

- default: Refusal envelope.

## Credits

Check the live price in the documentation before sending. Platform 2xx and 4xx responses can use credits, including empty data. Gateway refusals and 5xx responses do not use credits. Each pagination request is a separate call.

https://monsterapi.co/docs/pricing

## Request template

Replace path placeholders and add the required query parameters from the Inputs section before sending.

```shell

curl --get 'https://api.monsterapi.co/instagram/api/profile/id/{id}' \
  -H 'Authorization: Bearer <YOUR_API_KEY>'

```

---

# Instagram: Profile counts and first media

`GET /instagram/api/profile/info/{username}`

Documentation: https://monsterapi.co/docs/api/instagram#profile-counts-and-first-media

Operation ID: `instagram_profile_info_read`

Returns profile counts, category and available first posts and videos for a username. upstream_error (503) or upstream_shape (500) does not establish whether the account exists.

## Authentication

Send your billing API key in the `Authorization: Bearer <YOUR_API_KEY>` header. Your account login is separate.

## Inputs

- `username` (path, required): Account username without @, 1 to 64 letters, digits, dots, underscores or hyphens. A username may also be copied from `user.username` in GET `/profile/id/{id}`. [Profile reference](https://monsterapi.co/docs/api/instagram-profile).

## Responses

- 200:

- 400: Refusal envelope.

Refused at the gateway: the request target, path and query string together, is longer than 8,192 bytes; or the headers, the target counted among them, exceed 16,384 bytes or 64 fields

- 401: Refusal envelope.

Refused at the gateway: the `Authorization` header carries no API key, or a malformed one

- 402: Refusal envelope.

Refused at the gateway: the credits of the account do not cover the price of the operation

- 403: Refusal envelope.

Refused at the gateway: the API key is unknown or revoked

- 405: `method_not_allowed`: the endpoint answers GET alone, and any other method, HEAD included, is refused

Refused at the gateway: the path exists, but no operation on it takes the method of the request, HEAD included; `Allow` names the methods that do

- 409: Refusal envelope.

Refused at the gateway: a repeat of a request the gateway already checked differs from the original

- 429: Refusal envelope.

Refused at the gateway: the account calls faster than its rate limit allows

- 503: Temporary unavailability or a rate limit. Retry-After is included when applicable.

Refused at the gateway: the check could not complete, the account is suspended, or the platform did not answer; each may pass later, and `Retry-After` comes only when the platform did not answer

- default: Refusal envelope.

## Credits

Check the live price in the documentation before sending. Platform 2xx and 4xx responses can use credits, including empty data. Gateway refusals and 5xx responses do not use credits. Each pagination request is a separate call.

https://monsterapi.co/docs/pricing

## Request template

Replace path placeholders and add the required query parameters from the Inputs section before sending.

```shell

curl --get 'https://api.monsterapi.co/instagram/api/profile/info/{username}' \
  -H 'Authorization: Bearer <YOUR_API_KEY>'

```

---

# Instagram: Profile and highlights

`GET /instagram/api/profile/{username}`

Documentation: https://monsterapi.co/docs/api/instagram#profile-and-highlights

Operation ID: `instagram_profile_read`

Returns a profile and its available highlights for an account username.

## Authentication

Send your billing API key in the `Authorization: Bearer <YOUR_API_KEY>` header. Your account login is separate.

## Inputs

- `username` (path, required): Account username without @, 1 to 64 letters, digits, dots, underscores or hyphens. A username may also be copied from `user.username` in GET `/profile/id/{id}`. [Profile reference](https://monsterapi.co/docs/api/instagram-profile).

## Responses

- 200:

- 400: Refusal envelope.

Refused at the gateway: the request target, path and query string together, is longer than 8,192 bytes; or the headers, the target counted among them, exceed 16,384 bytes or 64 fields

- 401: Refusal envelope.

Refused at the gateway: the `Authorization` header carries no API key, or a malformed one

- 402: Refusal envelope.

Refused at the gateway: the credits of the account do not cover the price of the operation

- 403: Refusal envelope.

Refused at the gateway: the API key is unknown or revoked

- 405: `method_not_allowed`: the endpoint answers GET alone, and any other method, HEAD included, is refused

Refused at the gateway: the path exists, but no operation on it takes the method of the request, HEAD included; `Allow` names the methods that do

- 409: Refusal envelope.

Refused at the gateway: a repeat of a request the gateway already checked differs from the original

- 429: Refusal envelope.

Refused at the gateway: the account calls faster than its rate limit allows

- 503: Temporary unavailability or a rate limit. Retry-After is included when applicable.

Refused at the gateway: the check could not complete, the account is suspended, or the platform did not answer; each may pass later, and `Retry-After` comes only when the platform did not answer

- default: Refusal envelope.

## Credits

Check the live price in the documentation before sending. Platform 2xx and 4xx responses can use credits, including empty data. Gateway refusals and 5xx responses do not use credits. Each pagination request is a separate call.

https://monsterapi.co/docs/pricing

## Request template

Replace path placeholders and add the required query parameters from the Inputs section before sending.

```shell

curl --get 'https://api.monsterapi.co/instagram/api/profile/{username}' \
  -H 'Authorization: Bearer <YOUR_API_KEY>'

```

---

# Instagram: Reels by search term

`GET /instagram/api/search/reels`

Documentation: https://monsterapi.co/docs/api/instagram#reels-by-search-term

Operation ID: `instagram_reel_search`

Returns available reels for a search term. An empty page without continuation returns not_found (404); a blank query or invalid continuation returns bad_request (400).

## Authentication

Send your billing API key in the `Authorization: Bearer <YOUR_API_KEY>` header. Your account login is separate.

## Inputs

- `q` (query, required): Search term as supplied, 1 to 256 Unicode characters: letters, numbers, combining marks, punctuation, symbols and space separators. Controls, format and default-ignorable characters are invalid. Whitespace-only text is bad_request (400); accepted text keeps its spaces and case.

- `cursor` (query, optional): Continuation from `next_cursor` in GET `/search/reels` or GET `/popular` for the same term; pass it as `cursor` to GET `/search/reels` with that term as `q`. Omit for the first page. [Search reference](https://monsterapi.co/docs/api/instagram-search), [popular overview reference](https://monsterapi.co/docs/api/instagram-discovery).

## Responses

- 200:

- 400: Refusal envelope.

Refused at the gateway: the request target, path and query string together, is longer than 8,192 bytes; or the headers, the target counted among them, exceed 16,384 bytes or 64 fields

- 401: Refusal envelope.

Refused at the gateway: the `Authorization` header carries no API key, or a malformed one

- 402: Refusal envelope.

Refused at the gateway: the credits of the account do not cover the price of the operation

- 403: Refusal envelope.

Refused at the gateway: the API key is unknown or revoked

- 405: `method_not_allowed`: the endpoint answers GET alone, and any other method, HEAD included, is refused

Refused at the gateway: the path exists, but no operation on it takes the method of the request, HEAD included; `Allow` names the methods that do

- 409: Refusal envelope.

Refused at the gateway: a repeat of a request the gateway already checked differs from the original

- 429: Refusal envelope.

Refused at the gateway: the account calls faster than its rate limit allows

- 503: Temporary unavailability or a rate limit. Retry-After is included when applicable.

Refused at the gateway: the check could not complete, the account is suspended, or the platform did not answer; each may pass later, and `Retry-After` comes only when the platform did not answer

- default: Refusal envelope.

## Credits

Check the live price in the documentation before sending. Platform 2xx and 4xx responses can use credits, including empty data. Gateway refusals and 5xx responses do not use credits. Each pagination request is a separate call.

https://monsterapi.co/docs/pricing

## Request template

Replace path placeholders and add the required query parameters from the Inputs section before sending.

```shell

curl --get 'https://api.monsterapi.co/instagram/api/search/reels' \
  -H 'Authorization: Bearer <YOUR_API_KEY>'

```

---

# Instagram: Account posts

`GET /instagram/api/user/{id}/posts`

Documentation: https://monsterapi.co/docs/api/instagram#account-posts

Operation ID: `instagram_user_posts_list`

Returns a page of an account's posts. An empty page without continuation returns not_found (404); a private account returns private (403).

## Authentication

Send your billing API key in the `Authorization: Bearer <YOUR_API_KEY>` header. Your account login is separate.

## Inputs

- `id` (path, required): Account ID, 1 to 32 decimal digits. Copy `user.id` from GET `/profile/{username}`; the ID remains stable across username changes. [Profile reference](https://monsterapi.co/docs/api/instagram-profile).

- `cursor` (query, optional): Continuation from `next_cursor` in GET `/user/{id}/posts` for the same `id`; pass it as `cursor` to that endpoint. Two nonempty decimal numbers separated by an underscore; invalid format returns bad_request (400). [Posts reference](https://monsterapi.co/docs/api/instagram-media).

- `limit` (query, optional): Requested page size, 1 to 50; defaults to 12. The returned page may contain a different number of items.

## Responses

- 200:

- 400: Refusal envelope.

Refused at the gateway: the request target, path and query string together, is longer than 8,192 bytes; or the headers, the target counted among them, exceed 16,384 bytes or 64 fields

- 401: Refusal envelope.

Refused at the gateway: the `Authorization` header carries no API key, or a malformed one

- 402: Refusal envelope.

Refused at the gateway: the credits of the account do not cover the price of the operation

- 403: Refusal envelope.

Refused at the gateway: the API key is unknown or revoked

- 405: `method_not_allowed`: the endpoint answers GET alone, and any other method, HEAD included, is refused

Refused at the gateway: the path exists, but no operation on it takes the method of the request, HEAD included; `Allow` names the methods that do

- 409: Refusal envelope.

Refused at the gateway: a repeat of a request the gateway already checked differs from the original

- 429: Refusal envelope.

Refused at the gateway: the account calls faster than its rate limit allows

- 503: Temporary unavailability or a rate limit. Retry-After is included when applicable.

Refused at the gateway: the check could not complete, the account is suspended, or the platform did not answer; each may pass later, and `Retry-After` comes only when the platform did not answer

- default: Refusal envelope.

## Credits

Check the live price in the documentation before sending. Platform 2xx and 4xx responses can use credits, including empty data. Gateway refusals and 5xx responses do not use credits. Each pagination request is a separate call.

https://monsterapi.co/docs/pricing

## Request template

Replace path placeholders and add the required query parameters from the Inputs section before sending.

```shell

curl --get 'https://api.monsterapi.co/instagram/api/user/{id}/posts' \
  -H 'Authorization: Bearer <YOUR_API_KEY>'

```

---

# Instagram: Account reels

`GET /instagram/api/user/{id}/reels`

Documentation: https://monsterapi.co/docs/api/instagram#account-reels

Operation ID: `instagram_user_reels_list`

Returns a page of an account's reels. An empty page without continuation returns not_found (404), including for private or unavailable accounts.

## Authentication

Send your billing API key in the `Authorization: Bearer <YOUR_API_KEY>` header. Your account login is separate.

## Inputs

- `id` (path, required): Account ID, 1 to 32 decimal digits. Copy `user.id` from GET `/profile/{username}`; the ID remains stable across username changes. [Profile reference](https://monsterapi.co/docs/api/instagram-profile).

- `cursor` (query, optional): Continuation from `next_cursor` in GET `/user/{id}/reels` for the same `id`; pass it as `cursor` to that endpoint. Standard Base64, length divisible by four, at most two trailing = signs; invalid format returns bad_request (400). [Reels reference](https://monsterapi.co/docs/api/instagram-media).

- `limit` (query, optional): Requested page size, 1 to 50; defaults to 12. The returned page may contain a different number of items.

## Responses

- 200:

- 400: Refusal envelope.

Refused at the gateway: the request target, path and query string together, is longer than 8,192 bytes; or the headers, the target counted among them, exceed 16,384 bytes or 64 fields

- 401: Refusal envelope.

Refused at the gateway: the `Authorization` header carries no API key, or a malformed one

- 402: Refusal envelope.

Refused at the gateway: the credits of the account do not cover the price of the operation

- 403: Refusal envelope.

Refused at the gateway: the API key is unknown or revoked

- 405: `method_not_allowed`: the endpoint answers GET alone, and any other method, HEAD included, is refused

Refused at the gateway: the path exists, but no operation on it takes the method of the request, HEAD included; `Allow` names the methods that do

- 409: Refusal envelope.

Refused at the gateway: a repeat of a request the gateway already checked differs from the original

- 429: Refusal envelope.

Refused at the gateway: the account calls faster than its rate limit allows

- 503: Temporary unavailability or a rate limit. Retry-After is included when applicable.

Refused at the gateway: the check could not complete, the account is suspended, or the platform did not answer; each may pass later, and `Retry-After` comes only when the platform did not answer

- default: Refusal envelope.

## Credits

Check the live price in the documentation before sending. Platform 2xx and 4xx responses can use credits, including empty data. Gateway refusals and 5xx responses do not use credits. Each pagination request is a separate call.

https://monsterapi.co/docs/pricing

## Request template

Replace path placeholders and add the required query parameters from the Inputs section before sending.

```shell

curl --get 'https://api.monsterapi.co/instagram/api/user/{id}/reels' \
  -H 'Authorization: Bearer <YOUR_API_KEY>'

```

---

# Instagram: Suggested accounts

`GET /instagram/api/user/{id}/similar`

Documentation: https://monsterapi.co/docs/api/instagram#suggested-accounts

Operation ID: `instagram_user_similar_list`

Returns accounts suggested for an account. An empty list returns not_found (404) and does not distinguish private, unavailable or empty accounts.

## Authentication

Send your billing API key in the `Authorization: Bearer <YOUR_API_KEY>` header. Your account login is separate.

## Inputs

- `id` (path, required): Account ID, 1 to 32 decimal digits. Copy `user.id` from GET `/profile/{username}`; the ID remains stable across username changes. [Profile reference](https://monsterapi.co/docs/api/instagram-profile).

## Responses

- 200:

- 400: Refusal envelope.

Refused at the gateway: the request target, path and query string together, is longer than 8,192 bytes; or the headers, the target counted among them, exceed 16,384 bytes or 64 fields

- 401: Refusal envelope.

Refused at the gateway: the `Authorization` header carries no API key, or a malformed one

- 402: Refusal envelope.

Refused at the gateway: the credits of the account do not cover the price of the operation

- 403: Refusal envelope.

Refused at the gateway: the API key is unknown or revoked

- 405: `method_not_allowed`: the endpoint answers GET alone, and any other method, HEAD included, is refused

Refused at the gateway: the path exists, but no operation on it takes the method of the request, HEAD included; `Allow` names the methods that do

- 409: Refusal envelope.

Refused at the gateway: a repeat of a request the gateway already checked differs from the original

- 429: Refusal envelope.

Refused at the gateway: the account calls faster than its rate limit allows

- 503: Temporary unavailability or a rate limit. Retry-After is included when applicable.

Refused at the gateway: the check could not complete, the account is suspended, or the platform did not answer; each may pass later, and `Retry-After` comes only when the platform did not answer

- default: Refusal envelope.

## Credits

Check the live price in the documentation before sending. Platform 2xx and 4xx responses can use credits, including empty data. Gateway refusals and 5xx responses do not use credits. Each pagination request is a separate call.

https://monsterapi.co/docs/pricing

## Request template

Replace path placeholders and add the required query parameters from the Inputs section before sending.

```shell

curl --get 'https://api.monsterapi.co/instagram/api/user/{id}/similar' \
  -H 'Authorization: Bearer <YOUR_API_KEY>'

```
