Back to Blog
General

Instagram Highlights API: Extract Story Highlights & Content

February 6, 2026
3 min read
S
By SociaVault Team
instagramhighlightsstoriesapi

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:

EndpointDescription
HighlightsGet all highlights from a profile
Highlight DetailGet 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;
}

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.