Instagram Highlights API: Extract Story Highlight Content
Instagram Stories disappear after 24 hours, but Highlights persist forever. This guide shows you how to extract highlight data from any public Instagram profile.
What Are Instagram Highlights?
Highlights are curated collections of Stories that creators save to their profile. They typically contain:
- Product showcases
- FAQs and tutorials
- Behind-the-scenes content
- User testimonials
- Event coverage
Highlights API Endpoints
SociaVault offers two endpoints for highlights:
| Endpoint | Description |
|---|---|
| Highlights | Get all highlights from a profile |
| Highlight Detail | Get stories within a highlight |
Get Profile Highlights
List all highlights from an Instagram profile:
const response = await fetch('https://api.sociavault.com/instagram/highlights', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
handle: 'nike'
})
});
const highlights = await response.json();
Response
{
"highlights": [
{
"id": "18067016518767507",
"title": "New Arrivals",
"coverImage": "https://...",
"storiesCount": 15,
"createdAt": "2026-01-01T10:00:00Z"
},
{
"id": "18067016518767508",
"title": "Reviews",
"coverImage": "https://...",
"storiesCount": 8,
"createdAt": "2025-12-15T14:30:00Z"
}
]
}
Get Highlight Details
Extract the stories within a specific highlight:
const response = await fetch('https://api.sociavault.com/instagram/highlight-detail', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
id: '18067016518767507'
})
});
const highlightContent = await response.json();
Response
{
"id": "18067016518767507",
"title": "New Arrivals",
"stories": [
{
"id": "3123456789012345678",
"type": "image",
"mediaUrl": "https://...",
"timestamp": "2026-01-05T12:00:00Z",
"duration": null
},
{
"id": "3123456789012345679",
"type": "video",
"mediaUrl": "https://...",
"timestamp": "2026-01-05T12:05:00Z",
"duration": 15
}
]
}
Use Cases
Content Archival
Save competitor highlight content for analysis:
async function archiveHighlights(handle) {
const { highlights } = await getHighlights(handle);
for (const highlight of highlights) {
const detail = await getHighlightDetail(highlight.id);
// Download each story
for (const story of detail.stories) {
await downloadMedia(story.mediaUrl, `${handle}_${highlight.title}_${story.id}`);
}
}
}
Competitive Analysis
Compare highlight strategies across competitors:
async function analyzeHighlights(handles) {
const analysis = {};
for (const handle of handles) {
const { highlights } = await getHighlights(handle);
analysis[handle] = {
totalHighlights: highlights.length,
avgStoriesPerHighlight: highlights.reduce((s, h) => s + h.storiesCount, 0) / highlights.length,
categories: highlights.map(h => h.title)
};
}
return analysis;
}
Extract FAQ Content
Many brands use highlights for FAQs:
async function extractFAQs(handle) {
const { highlights } = await getHighlights(handle);
const faqHighlight = highlights.find(h =>
h.title.toLowerCase().includes('faq') ||
h.title.toLowerCase().includes('questions')
);
if (faqHighlight) {
const detail = await getHighlightDetail(faqHighlight.id);
return detail.stories;
}
return null;
}
Related Endpoints
- Instagram Profile Scraper - Profile data
- Instagram Posts Scraper - Feed posts
- Instagram Reels API - Reels content
- Instagram Transcript - Video transcripts
Frequently Asked Questions
Can I get current Stories (not Highlights)?
No, current Stories are only available for 24 hours and require different access. The API focuses on permanent Highlights.
Are Story Highlights public?
Highlights follow the account's privacy setting. Public accounts have public highlights; private accounts restrict access.
Can I download the images and videos?
Yes, the API returns direct media URLs that you can download for archival purposes.
How many stories can be in a Highlight?
Instagram allows up to 100 stories per Highlight. The API retrieves all available stories.
Do I get viewer analytics for Highlights?
No, view counts are only available to the account owner. The API extracts the content itself.
Get Started
Sign up free and start extracting Instagram Highlights.
Documentation: /docs/api-reference/instagram/highlights
Found this helpful?
Share it with others who might benefit
Ready to Try SociaVault?
Start extracting social media data with our powerful API. No credit card required.