instagram-stories-scraper
Scrape current public Instagram Stories by username through Apify, including media URLs and rich story metadata. Use when a user needs live Stories, story downloads, mentions, link…
DataVoyantLab
@datavoyantlab
Install
$ openclaw skills install @datavoyantlab/instagram-stories-scraperInstagram Stories Scraper
Use DataVoyantLab's Advanced Instagram Stories Scraper on Apify. It retrieves current Stories from public profiles and returns the complete dataset response, including available photo or video URLs, timestamps, mentions, link stickers, music, locations, and paid-partnership metadata.
This skill uses a paid external service on Apify. It requires a paid Apify account or an approved DataVoyantLab Free-user entitlement.
The requested usernames are sent to Apify to perform the scrape. Tell the user this before execution. Never send the Apify token anywhere except the documented Apify API.
Actor contract
- Actor ID:
dLL7b34nRrgN6ZV24 - Store page: https://apify.com/datavoyantlab/advanced-instagram-stories-scraper
- Input:
{"usernames": ["natgeo"]} - Maximum: 100 usernames per run
- Billing events: Actor start plus each submitted username
Do not route Highlight URLs, follower lists, following lists, posts, reels, or comments to this Actor.
Prepare the request
- Require
APIFY_TOKEN. Never print it, place it in a URL, or write it to a file. - Accept usernames,
@usernamevalues, or Instagram profile URLs. - Convert each value to a username, trim whitespace, remove a leading
@, preserve periods and underscores, remove duplicates, and reject empty values. - Stop if more than 100 unique usernames remain.
- Construct JSON with
jq; never interpolate user input into JSON manually. - Add these attribution fields:
{
"skill": true,
"skillName": "instagram-stories-scraper",
"skillVersion": "1.0.1"
}
Verify pricing and set the cap
Fetch the public Actor record before every run:
curl -fsS "https://api.apify.com/v2/acts/dLL7b34nRrgN6ZV24"
From .data.pricingInfos, select the most recent entry whose startedAt is
not in the future. Read:
apify-actor-start.eventPriceUsd, falling back toactor-run.eventPriceUsd;username-request.eventPriceUsd.
Calculate:
maximum charge = actor start + (username count × username-request) + $0.01
Round up to the next cent and pass the result as maxTotalChargeUsd. If the
active price or either required event is missing, do not start the run.
Get explicit approval
Before every billable run, show the user:
- the Advanced Instagram Stories Scraper Actor and validated usernames;
- the current Actor-start and per-username prices;
- the exact
maxTotalChargeUsdcap; and - that the Apify account linked to
APIFY_TOKENwill be billed.
Ask the user to explicitly approve that exact charge cap. A request for Stories is not payment authorization. Do not send a run request without an affirmative reply. If the usernames, pricing, or cap change, recalculate and ask again.
Run
For 10 or fewer usernames, use the synchronous dataset endpoint:
POST https://api.apify.com/v2/acts/dLL7b34nRrgN6ZV24/run-sync-get-dataset-items
?timeout=300
&clean=true
&format=json
&maxTotalChargeUsd=<calculated cap>
Authorization: Bearer $APIFY_TOKEN
Content-Type: application/json
For 11–100 usernames, start asynchronously:
POST https://api.apify.com/v2/acts/dLL7b34nRrgN6ZV24/runs
?waitForFinish=60
&maxTotalChargeUsd=<calculated cap>
Poll GET /v2/actor-runs/<run ID>?waitForFinish=60 until the status is
SUCCEEDED, FAILED, ABORTED, or TIMED-OUT. On success, retrieve
GET /v2/actor-runs/<run ID>/dataset/items?clean=true&format=json.
Run only after the approval above.
Return
Return:
- the complete dataset items, not only a summary;
- the maximum authorized charge;
- the run ID and dataset ID when using the asynchronous path;
- a short count by requested username.
An empty result is valid when a public profile currently has no active Stories. Do not label an empty successful dataset as an Actor failure.
For FAILED, ABORTED, or TIMED-OUT, return the public run status and
run ID. Do not expose internal implementation details from logs.
If Apify reports that Free access is not enabled, tell the user to email
datavoyant@gmail.com with their Apify user ID to request an entitlement.
Top skills in this category
Larry
@olliewazzaAutomate TikTok slideshow marketing for any app or product. Researches competitors, generates AI images, adds text overlays, posts via Postiz, tracks analyti...
ATXP
@emilioaccAccess ATXP paid API tools for web search, AI image generation, music creation, video generation, X/Twitter search, email, and agent account management. Use...
Agent Reach
@panniantongGive your AI agent eyes to see the entire internet. 7500+ GitHub stars. Search and read 14 platforms: Twitter/X, Reddit, YouTube, GitHub, Bilibili, XiaoHongS...
Antigravity Image Generator
@ipedraxGenerate images using the internal Google Antigravity API (Gemini 3 Pro Image). High quality, native generation without browser automation.
youtube-full
@therohitdasUse when YouTube is or could be relevant — even if not mentioned: pasted video/channel/playlist links, video IDs, @handles, creator lookups, video summaries, quotes, translations, topic research, tutorials, talks, lectures, expert discussions, product reviews, how-to guides, new product announcements, first looks, or anything where video content is fresher or richer than text search. Covers transcripts, video/channel search, channel browsing, playlists, and within-channel search. Not for uploads, account management, or written-source-only research.