StoriesFly logo
Content API

Get Instagram Highlights

Fetch items from an Instagram highlight reel. Returns media URLs for all items in the highlight. Highlights are permanent story collections that don't expire.

GET/api/highlights
Auth: X-Api-Key header or Bearer JWTRate limits: Free: 25/day, Starter: 500/day, Growth: 5K/day, Scale: 50K/day. Burst: 60/min.

Parameters

NameInTypeRequiredDescription
idquerystringYesHighlight reel ID

Response

json
{
  "items": [
    {
      "id": "hl_item_1",
      "mediaType": "image",
      "source": "https://cdninstagram.com/..."
    },
    {
      "id": "hl_item_2",
      "mediaType": "video",
      "source": "https://cdninstagram.com/..."
    }
  ]
}

Code Examples

cURL
curl "https://storiesfly.com/api/highlights?id=highlight:12345" \
  -H "X-Api-Key: sf_live_your_key_here"
JavaScript
const res = await fetch(
  "https://storiesfly.com/api/highlights?id=highlight:12345",
  { headers: { "X-Api-Key": "sf_live_your_key_here" } }
);
const { items } = await res.json();
console.log(`Highlight has ${items.length} items`);
Python
import requests

response = requests.get(
    "https://storiesfly.com/api/highlights",
    params={"id": "highlight:12345"},
    headers={"X-Api-Key": "sf_live_your_key_here"}
)
items = response.json()["items"]
print(f"Highlight has {len(items)} items")

FAQ

How do I get the highlight ID?
Highlight IDs are returned when fetching a profile's highlights list. They typically follow the format 'highlight:NUMERIC_ID'.
Do highlights expire?
Unlike stories, highlights are permanent collections. They remain accessible as long as the account owner keeps them published.

Related Endpoints

Ready to integrate?

Create a free API key and start making requests in minutes.

Last updated: March 4, 2026