Instagram Highlights Scraper — Albums & Media Links avatar

Instagram Highlights Scraper — Albums & Media Links

Pricing

from $7.00 / 1,000 account checkeds

Go to Apify Store
Instagram Highlights Scraper — Albums & Media Links

Instagram Highlights Scraper — Albums & Media Links

Scrape Instagram highlight albums: album title, cover and media count, then every photo and video inside with its file link, posted date, caption and the link, mention and hashtag stickers. Handles or profile links in, one row per media out. No login, no cookies.

Pricing

from $7.00 / 1,000 account checkeds

Rating

0.0

(0)

Developer

Matvey

Matvey

Maintained by Community

Actor stats

0

Bookmarked

10

Total users

5

Monthly active users

a day ago

Last modified

Share

Instagram Stories Scraper turns a list of public Instagram handles into a table of active stories and highlight albums. One row per media: the file link, when it was posted, when it expires, and the stickers on it — links, mentions, hashtags, locations, polls and questions. No login, no cookies, no Instagram account of yours at risk.

What you get

ModeWhat comes backOne row is
📸 Active storiesEverything the account posted in the last 24 hoursOne story
⭐ Highlight albumsThe permanent albums under the bio, opened media by mediaOne media inside an album
📸+⭐ BothBoth of the above in one runEither

Every row carries the account, the media file link in its largest size, photo-or-video, the posted and expiry time, the caption, and every sticker Instagram attached — including the link sticker, which is the one marketers actually want.

Why this needs us at all

Instagram does not show stories or highlights to a logged-out visitor from any address: the profile page answers with a redirect to the login screen, and its internal API answers 401 require_login. Checked on 28 October 2026. This Actor reads them through a paid data source that holds the sessions, so you never hand over your own cookies and never get an account banned.

What it costs

Two charges, and both are stated before you press Start:

What is chargedWhen
One account checkedOnce per handle in your list — whether or not it has active stories right now
One mediaFor every story or highlight media actually delivered, with its file link

There is also a run fee, and it is the smallest in this niche — below what every competitor charges to start a run.

On the Apify Free plan

A run collects the first account in your list in full — every story and every highlight media it has — and nothing is charged at all. The remaining accounts come back as a free note saying they were left alone. So you see the real shape and volume of the data before paying anything. Every account costs us a request to a paid data source, and the free plan does not cover it.

Why the account is charged even when it is empty: looking up an account costs us the same whether it has twenty stories or none. Measured on 25 real accounts on 28 October 2026, nine of them had no active stories at that moment — stories live 24 hours, so an empty answer is a normal answer, not a failure. Charging only for delivered media would mean the accounts that do post subsidise the ones that do not.

Input

FieldWhat it does
usernamesHandles, @handles or profile links, one per line
modestories, highlights or both; leave empty for this Actor's own default (Stories Scraper: both, Highlights Scraper: highlights)
includeHighlightItemsOff = one row per album (title, cover, media count), cheaper. On = one row per media inside it
maxHighlightsPerUserNewest albums first
maxItemsPerUser0 = no limit

Output

{
"type": "story",
"username": "natgeo",
"mediaType": "photo",
"takenAt": "2026-10-27T14:07:48.000Z",
"expiringAt": "2026-10-28T14:07:48.000Z",
"imageUrl": "https://…",
"videoUrl": null,
"caption": null,
"links": [], "mentions": ["natgeotravel"], "hashtags": [], "polls": []
}

Highlight rows add highlightId and highlightTitle, so you can group an album back together in a spreadsheet.

What it does not do

  • Private accounts. No media is returned; the account check itself is charged, like any other lookup.
  • Who viewed a story. Only the account owner can see that, and we are not the account owner.
  • Posting or replying. This Actor only reads.

For AI agents

  • Minimal input: {"usernames": ["natgeo"]} — handles, @handles or profile links; mode is stories, highlights or both.
  • Returns: one row per story or highlight media (or one row per highlight album when includeHighlightItems is off). An account with nothing to give — no active stories, no albums, wrong handle — gets one free type: "notice" row with the reason; filter it out with type != "notice".
  • Time: about 25 seconds for one account with stories and 10 highlight albums. A few accounts — call synchronously (run-sync-get-dataset-items); long lists — start the run and poll it.

Errors and empty runs

An empty run always says why in its own words — no active stories, no albums, wrong handle — in a free notice row. Filter it out with type != "notice". If our data source stops answering, the run says exactly what it answered, word for word, instead of guessing.

Your feedback

Found a bug or a missing field? Open an issue on the Actor page. Problems reported by buyers are fixed the same day.