Instagram Highlights Download/Stories Archive Scraper, No Login avatar

Instagram Highlights Download/Stories Archive Scraper, No Login

Pricing

from $2.70 / 1,000 highlight items

Go to Apify Store
Instagram Highlights Download/Stories Archive Scraper, No Login

Instagram Highlights Download/Stories Archive Scraper, No Login

Scrape and download Instagram highlights from public profiles without login: photo and video URLs, posting dates, link stickers, hashtags, sponsor tags and paid-partnership labels. Archive mode returns only new stories on scheduled runs and can save the media.

Pricing

from $2.70 / 1,000 highlight items

Rating

0.0

(0)

Developer

Mayowa Ogedengbe

Mayowa Ogedengbe

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

Instagram Highlights Scraper & Downloader (No Login)

Scrape and download Instagram highlights from any public profile, without logging in. Paste usernames and get every story saved in their highlights: photo and video download links, the date each story was posted, link stickers with the real destination URL, hashtags, sponsor tags and Instagram's paid-partnership label. Schedule it to keep an Instagram story archive that only adds what is new, and save the photos and videos before Instagram's links expire.

  • ✅ No Instagram account, no login, no cookies. Your accounts are never at risk.
  • ✅ Photos and videos in the highest resolution Instagram serves, with direct download links.
  • ✅ Proof of sponsored stories: link stickers, sponsor tags and the paid-partnership flag, with posting dates.
  • ✅ Archive mode: scheduled runs return (and charge for) only new highlight items.
  • ✅ Save media files: keep copies of the photos and videos in your Apify storage.
  • ✅ Fast and cheap: about 1,000 highlight items a minute, from $2.70 per 1,000.

What can you do with Instagram highlights data?

  • Influencer marketing and proof of posting. Agencies and brands check that a creator's paid story ran: the link sticker (with the real URL and UTM tags), the sponsor tag and Instagram's paid-partnership label, with the date it was posted. Highlights are where creators keep the stories they want to last.
  • Competitor monitoring. Brands pin launches, offers, FAQs, reviews and campaigns to their highlights. Run this Actor on a schedule and get only what they added since last time.
  • Instagram story archiving. Download highlight photos and videos in bulk, with dates, titles and links, for research, compliance or your own backups.
  • Content and trend research. Compare what creators and brands highlight across a list of profiles: formats, video lengths, hashtags and where their links point.

How to scrape Instagram highlights

  1. Open the Actor and add Instagram profiles: usernames like nasa or @nike, or profile URLs like https://www.instagram.com/redbull/.
  2. Optional: turn on Only new items for scheduled archiving, and Save media files to keep copies.
  3. Click Start. Each profile takes a few seconds.
  4. Download the results as JSON, CSV, Excel or HTML, or get them through the Apify API.

Input example

{
"profiles": ["nasa", "nba", "https://www.instagram.com/redbull/"],
"onlyNew": true,
"monitorName": "competitors",
"downloadMedia": true
}
FieldWhat it does
Instagram profilesUsernames or profile URLs, one per line. Public profiles only.
Highlights per profile1 to 10. Instagram shows logged-out visitors the first 10 highlights of a profile.
Max items per profileStop after this many story items per profile (0 = no limit).
Only new items (archive mode)Return only items not returned before for the same profile and monitor name. The first run returns everything.
Monitor nameKeeps separate archives, for example one per client.
Save media filesCopy each photo and video into the run's storage and add the links to the record.

Output: what data you get

One record per story in a highlight. This is a real record (links shortened) from NBA's "MEDIA DAY" highlight, a story Instagram labels as a paid partnership with American Express:

{
"username": "nba",
"fullName": "NBA",
"highlightTitle": "MEDIA DAY",
"highlightUrl": "https://www.instagram.com/stories/highlights/18115732703087124/",
"position": 17,
"itemId": "3996969072692657518",
"mediaType": "video",
"takenAt": "2026-09-29T15:30:45.000Z",
"videoDurationSecs": 51.244,
"width": 1080,
"height": 1920,
"imageUrl": "https://scontent-lga3-3.cdninstagram.com/v/t51.71878-15/828939010_...jpg",
"videoUrl": "https://scontent-lga3-3.cdninstagram.com/o1/v/t2/f2/m78/AQN7ExyB...mp4",
"links": [],
"hashtags": [],
"sponsors": ["americanexpress"],
"isPaidPartnership": true,
"mediaUrlsExpireAt": "2026-10-07T02:52:23.000Z",
"archivedImageUrl": null,
"archivedVideoUrl": null
}
FieldDescription
username, fullName, userIdThe profile.
highlightTitle, highlightId, highlightUrl, highlightCoverUrlThe highlight the story belongs to.
positionThe story's place in the highlight (1 = first).
mediaType, imageUrl, videoUrl, width, height, videoDurationSecs, hasAudioThe media, in the highest resolution served. Videos also have a cover image.
takenAtWhen the story was originally posted.
links, linkStickersLink stickers, with the real destination URL (Instagram's redirect removed) and the original Instagram link.
sponsors, isPaidPartnershipBrands tagged as sponsors, and Instagram's paid-partnership label.
hashtagsHashtag stickers.
mentions, locations, musicMention, location and music stickers, when Instagram includes them for logged-out visitors (often it does not).
resharedFrom, sharedPostShortcodeThe author of a reshared story, and the post a story shares.
mediaUrlsExpireAtWhen Instagram's media links stop working.
archivedImageUrl, archivedVideoUrlYour saved copies (with Save media files).
isNewtrue on items returned by only-new mode.

The dataset has three views: Highlight items, Sponsorship proof and Archived media.

The run's key-value store also has:

  • PROFILES: one entry per profile with status (ok, private, not found), followers, verified badge, number of highlights, and whether the profile has an active story right now (hasActiveStory, latestStoryAt).
  • SUMMARY: counts, request statistics and anything that could not be loaded.

How much does it cost to scrape Instagram highlights?

You pay only for results. No start fee and no per-profile fee.

EventFree planBronzeSilverGold and up
Highlight item$3.50 / 1,000$3.20 / 1,000$3.00 / 1,000$2.70 / 1,000
Media saved (only with Save media files)$4.00 / 1,000$3.80 / 1,000$3.60 / 1,000$3.40 / 1,000
Profile checked with nothing new (only-new mode)$2.00 / 1,000$1.80 / 1,000$1.60 / 1,000$1.50 / 1,000

For example, a profile with 10 highlights usually holds 50 to 200 stories: about $0.18 to $0.70 on the Free plan. A daily only-new check of 100 quiet profiles costs $0.20. Items skipped as already returned are never charged. Set a maximum cost per run and the Actor stops cleanly when it is reached.

Schedule an Instagram story archive

  1. Save your input as a task with Only new items on, a Monitor name, and, if you want copies of the media, Save media files.
  2. Add a schedule (for example daily).
  3. The first run returns everything as a baseline. Every later run returns only stories added to the highlights since, so you build a complete archive and never pay twice for the same story.

Send the results anywhere with Apify integrations: Google Sheets, Slack, email, Make, Zapier, n8n, webhooks or the API.

Use it as an Instagram highlights API

Call the Actor from your code and get JSON back:

curl -X POST "https://api.apify.com/v2/acts/headply~instagram-highlights-scraper/run-sync-get-dataset-items?token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"profiles": ["nasa"]}'

The Apify API clients for JavaScript and Python work the same way, and the Actor also works from AI agents through the Apify MCP server.

Limits

  • Highlights only, not today's 24-hour stories. Instagram does not show active stories to visitors who are not logged in, and this Actor never logs in. It tells you whether a profile has an active story (hasActiveStory), but cannot read it. Stories a creator adds to a highlight are captured.
  • First 10 highlights per profile, which is what Instagram shows logged-out visitors. Most profiles have fewer.
  • Public profiles only. Private profiles are reported in PROFILES as private and skipped.
  • Instagram's media links expire after a few days (mediaUrlsExpireAt). Use Save media files to keep copies. Saved copies stay in the run's storage for as long as your Apify plan retains run data; download them if you need them longer.

FAQ

Do I need an Instagram account or cookies? No. The Actor reads what Instagram shows any visitor without logging in. You never share credentials and no account can be banned.

Can I download Instagram highlights anonymously? Yes. No Instagram account is used, so nothing ties the request to you.

Can it scrape Instagram stories that are live right now? No. Instagram shows active stories only to logged-in users. Use this Actor for highlights, and use hasActiveStory in the PROFILES record to see who has posted a story today.

Can it scrape private accounts? No. Only public profiles.

How do I download the photos and videos? Every record has imageUrl and videoUrl. They work for a few days. Turn on Save media files for copies that do not depend on Instagram's links.

How fast is it? About 1,000 highlight items a minute with the default settings, and a few seconds per profile.

Is scraping Instagram highlights legal? The Actor collects only public content that Instagram shows to any visitor. It does not log in, does not access private profiles and does not bypass any login. Results can contain personal data, so make sure you have a legitimate reason to process it and that your use complies with laws such as the GDPR and with Instagram's terms. If in doubt, ask a lawyer.

Something didn't work? Open an issue on the Actor's Issues tab with the run link and I'll look at it quickly.