Instagram hub

Instagram Highlight API

Pass a numeric highlight id and get the album card plus the story items inside it — media URLs, timestamps, owner fields when present — in the shared Social Fetch envelope.

GET /v1/instagram/highlights/{highlightId}

1 credit per successful request.

About this endpoint

Once you already have a highlight album id (from a profile highlights list, a saved URL, or your own store), the next step is the stories inside that tray: cover art, title, when items were added, and each story's image or video URLs. Listing albums by handle only gives you the tray index. Pulling the contents yourself means another signed GraphQL path that Meta rotates without notice.

`GET /v1/instagram/highlights/{highlightId}` takes the numeric Instagram highlight id in the path (the same id that appears in a highlight URL). On a completed lookup, read `data.lookupStatus`, then `data.highlight` and `data.items`. When status is `found`, the album can include `id`, `title`, `createdAt`, `latestItemAt`, `mediaCount`, `cover` (mediaId, url, width, height), and optional `owner` fields (`platformUserId`, `handle`, `fullName`, `verified`, `avatarUrl`, `privateAccount`). Each item can include id, mediaId, mediaType, takenAt, display/thumbnail/video URLs, duration, dimensions, and link stickers when Instagram exposes them.

This route is one album by id. To list a handle's public trays first, use `GET /v1/instagram/profiles/{handle}/highlights`. Live 24-hour stories (not saved trays) are a separate Instagram path. Pricing is on the credit badge for this operation; bill from `meta.creditsCharged` on every response.

Instagram Highlight API FAQ

How do I get Instagram highlight stories by highlight id via API?

Call `GET /v1/instagram/highlights/{highlightId}` with your Social Fetch API key (`x-api-key`) and the numeric highlight id in the path. Read `data.lookupStatus`, then `data.highlight` and `data.items`. Full parameters and examples are in the API docs.

How much does the Instagram Highlight 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.

Where do I get an Instagram highlightId?

Use the numeric id from a public highlight URL, or from `data.highlights[].id` on `GET /v1/instagram/profiles/{handle}/highlights`. Pass that string in the path — not a username.

What fields are in the Instagram highlight response?

When `lookupStatus` is `found`, `data.highlight` can include id, title, createdAt, latestItemAt, mediaCount, cover media, and optional owner metadata. `data.items` is the story list: media type, takenAt, display/thumbnail/video URLs, dimensions, duration, and link stickers when present.

Highlight by id vs profile highlights list vs live stories?

Use this route when you already have a highlight album id and need the stories inside. Use `GET /v1/instagram/profiles/{handle}/highlights` to list albums for a username. Live stories (not saved trays) are a different Instagram path. They are separate operations on the Instagram hub.

What does not_found mean for an Instagram highlight lookup?

`lookupStatus` of `not_found` means the highlight id could not be resolved into a public album payload. `data.highlight` is null and `data.items` is empty. Keep `meta.requestId` if you need support on that row.

Do I need Instagram Graph API access to read a public highlight?

No. Social Fetch returns publicly visible highlight albums and their story items for enrichment-style lookups. Meta's Instagram Graph API is for accounts you manage or that grant your app access — not arbitrary public creator trays.