All notable changes to this actor are documented here.
- Clarified wording in the README, the input form, the output column and storage record descriptions, and an earlier changelog entry. Nothing changes in how the actor runs, what it returns or what it costs.
- Clearer wording when nothing could be scraped. The end-of-run note no longer says "Nothing was charged" on runs where some accounts were read and then rejected by your filters — reading is what the charge is for, so the note now says which part was charged and which wasn't.
When a run cannot finish, it now says so in one plain sentence instead of passing along
raw error text. Input fields, output columns, defaults and pricing are unchanged from 0.0.1.
First build. Reads the stories an Instagram account has live right now, and the highlights it
keeps pinned to its profile.
Three modes: live stories by account name, highlights by account name, and a start-from-a-link
mode for a story or highlight you already have.
Every account you submit comes back as a row, including the ones with nothing to show. An account
with no story up right now says exactly that — stories are live for 24 hours, so an empty answer
is usually the true one rather than a failure. Reading an account costs the same whether or not
something is up, so that account counts as one read. Private accounts, misspelled names and
accounts that no longer exist each return their own row with the reason, and none of those is
charged at all.
For each story item you get the picture or video, when it was posted and when it expires, plus the
link stickers, @mentions, hashtags, location and music where the story carries them. For
highlights you get the highlight itself — cover, title, creation date, item count — and, if you
ask for it, every item inside.
The words on the picture. Instagram publishes a story's stickers, mentions and music as data,
but not the caption the author typed over the photo. This build reads the picture itself and fills
in four more columns: the text baked into it, one sentence about what it shows, the brands visible
in it, and the language of the text. On 32 frames out of 66 we measured, Instagram returned no text
field of any kind while the picture carried a whole paragraph.
It is a switch, and it is on by default. Turning it off leaves every other column exactly as it is.
Each frame that comes back readable is charged; a frame skipped by a cap, too large to send, or
unreadable arrives without those four columns and is not charged, with the reason named in its own
column rather than left blank. The default per-account ceiling is three frames, newest first. On the
free plan three frames per run are analyzed in total — the results say so on every other row.
Five more things in that output are worth naming, because they are the reason to read stories at all
rather than posts:
- The post a story is promoting. About two stories in five are a reshare of a reel or a post,
and you get its permanent link — stories expire in 24 hours, the post does not. You also get
whether it is the account's own post or someone else's. Most are someone else's, which makes
this a map of who an account amplifies: collaborations, barter, affiliate pushes.
- Where a link sticker actually goes. Instagram publishes two versions of every link: a
redirector, and a display copy that is lowercased and stripped of its query string. On short
links the capitals matter, so the display copy can be a dead link. This actor gives you the real
destination, with Instagram's own click-tracking removed, and keeps the redirector beside it.
- Whose sound it is. A story either carries a licensed track or a sound the account recorded
itself — and the second is how trends start. You get which of the two it is, who first published
an original sound, how far into the sound the story begins, and whether the credit sticker was
hidden from viewers.
- Who the account is. Display name, verified badge and the size of the original upload come
back on every row, so a list of handles reads as a list of people and brands without a second
lookup.
Leave the accounts field empty and the run does a small, capped demo so you can see the shape of
the output before spending anything. It says so in the results.