> **For coding agents and LLMs:** This is one Social Fetch marketing page (markdown export). For API orientation start with [`/llms.txt`](https://www.socialfetch.dev/llms.txt); for auth and crawl rules use [`/agents.txt`](https://www.socialfetch.dev/agents.txt); for every operation use [`/llms-endpoints.txt`](https://www.socialfetch.dev/llms-endpoints.txt).

## This page

- **On-site (HTML):** <https://www.socialfetch.dev/platforms/instagram/v2-instagram-profiles-profile-highlights>
- **Markdown (.mdx) URL:** <https://www.socialfetch.dev/platforms/instagram/v2-instagram-profiles-profile-highlights.mdx>

---

# Instagram Highlights API

List a profile's story highlights — id, title, cover, story count and dates — for a handle, a profile URL or a numeric user id.

`GET /v2/instagram/profiles/{profile}/highlights` takes a handle (with or without `@`), a profile URL or a numeric user id. Read `data.lookupStatus` (`found`, `private` or `not_found`), then `data.highlights`. Each highlight has `id`, `title`, `coverUrl`, `mediaCount`, `createdAt` and `updatedAt`, always present and `null` when Instagram doesn't say. Some fields can be `null` on a profile's first lookup and filled on later ones. `meta.version` is `v2`.

Every highlight comes in one response: `data.page.hasMore` is always false. An account with no highlights is `found` with an empty list. Pass a highlight's `id` to `GET /v2/instagram/highlights/{highlightId}` for the stories inside it. Bill from `meta.creditsCharged`.

## Request

- **Endpoint:** `GET /v2/instagram/profiles/{profile}/highlights`
- **Credits:** 1 credit
Failed requests are free
- **Input:** by handle or user id
- **Full reference:** [docs](https://www.socialfetch.dev/docs/api/v2/instagram/profiles/profile/highlights/get)
- **Platform page:** [/platforms/instagram](https://www.socialfetch.dev/platforms/instagram)

## FAQ

### How do I list an Instagram profile's highlights with the v2 API?

Call `GET /v2/instagram/profiles/{profile}/highlights` with your Social Fetch API key (`x-api-key`) and a handle, profile URL or numeric user id in the path. Read `data.lookupStatus`, then `data.highlights`.

### How much does the Instagram Highlights API cost?

Pricing is documented on the operation in the API registry (shown on this page). Confirm on every response with meta.creditsCharged — that field is the billing source of truth.

### How do I get the stories inside a highlight?

Pass a highlight's `id` to `GET /v2/instagram/highlights/{highlightId}`. It returns the highlight and each story as the same media object every v2 list uses, with `kind: story`.

### Why can mediaCount or the dates be null?

Instagram doesn't always send a highlight's size and dates, and some fields can be `null` on a profile's first lookup. When that happens, `mediaCount`, `createdAt` and `updatedAt` are `null` and the cover can be the small square one. A later lookup of the same profile usually fills them. The id and the title are always there.

### What does an empty highlights list mean?

`found` with an empty `data.highlights` means the account exists and has no highlights. Branch on `data.lookupStatus` first: `private` means the account is private, and `not_found` means the profile could not be resolved.
