Instagram Highlight API
Pass a highlight id and get the highlight plus every story inside it, as the same media object every v2 list uses.
GET /v2/instagram/highlights/{highlightId}1 credit Failed requests are free
About this endpoint
GET /v2/instagram/highlights/{highlightId} takes the numeric Instagram highlight id (or an instagram.com /stories/highlights/ URL). Read data.lookupStatus (found or not_found), then data.highlight and data.media. The highlight has id, title, coverUrl, mediaCount, createdAt and updatedAt. Each story in data.media is the media object every v2 list returns, with kind: story, its owner, and its extras under story: expiresAt, linkStickers and mentions. Every field is always present and null when Instagram doesn't say. meta.version is v2.
This route is one highlight by id. To list a profile's highlights first, use GET /v2/instagram/profiles/{profile}/highlights. Live 24-hour stories are GET /v2/instagram/profiles/{profile}/stories. Bill from meta.creditsCharged.
Instagram Highlight API FAQ
How do I get the stories in an Instagram highlight with the v2 API?
Call GET /v2/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.media.
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 highlight id?
From data.highlights[].id on GET /v2/instagram/profiles/{profile}/highlights, or from a public highlight URL. Pass the digits in the path, not a username.
What is in each story of a highlight?
The shared media object: id, kind: story, mediaType, createdAt, the account that posted it as owner, image, thumbnail and video URLs, duration and size. Under story: expiresAt (when the story expired, as it was live for 24 hours), linkStickers and mentions. Stories have no shortcode, URL or public counts, so those are null.
What does not_found mean for a highlight lookup?
not_found means the highlight id could not be resolved into a public highlight, for example because it was deleted or its account is private. data.highlight is null and data.media is empty. It is still a completed lookup. Keep meta.requestId if you need support on that row.
Other Instagram endpoints
- ProfileGET /v2/instagram/profiles/{profile}
- Profile mediaGET /v2/instagram/profiles/{profile}/media
- Profile highlightsGET /v2/instagram/profiles/{profile}/highlights
- Profile storiesGET /v2/instagram/profiles/{profile}/stories
- Profile followingGET /v2/instagram/profiles/{profile}/following
- Profile engagementGET /v2/instagram/profiles/{profile}/engagement
- Search reelsGET /v2/instagram/reels/search
- Search profilesGET /v2/instagram/profiles/search