Instagram Highlights Scraper
Pricing
$14.99/month + usage
Instagram Highlights Scraper
Scrapes Instagram Story Highlights from any public profile, capturing highlight titles, cover images, story media, timestamps, and URLs. Ideal for content research, brand analysis, influencer insights, and automated extraction of long-term Instagram story archives
Pricing
$14.99/month + usage
Rating
0.0
(0)
Developer
Scrapio
Maintained by CommunityActor stats
0
Bookmarked
22
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Instagram Highlights Scraper Plus πΈβ¨
Extract Instagram story highlights from any public Instagram profile β in bulk, as clean structured data. Give it a profile URL or username and get every highlight's title, ID, media count, created date, last-updated date, deep link and full-resolution cover image, plus optional per-story media (image/video URLs, timestamps, duration, dimensions, accessibility captions) and profile metadata (followers, verified, bio, category, website).
This is an enhanced Instagram highlights scraper / Instagram stories scraper for marketing research, competitor analysis, content backup, and lead generation.
Features
- π― Bulk profiles β scrape highlights from many Instagram accounts in one run (URL,
username, or@handle). - β Highlight metadata β
id,title,mediaCount,createdAt(ISO),latestReelMediaAt(ISO),reelType,isPinned,highlightUrldeep link. - πΌοΈ Full-resolution covers β all cover image variants, not just the 150px thumbnail (
coverImageUrl,coverImageVariants,coverMediaId). - πΊ Story items (optional) β the individual stories inside each highlight:
mediaType,mediaUrl/videoUrl/imageUrl,takenAt,expiringAt,videoDuration,width,height,accessibilityCaption. Emitted as child rows linked to the parent highlight viaparentId, and mirrored to a per-runstories-<runId>dataset. - π€ Profile metadata (optional) β
profileFullName,profileBio,profileFollowers,profileFollowing,profileVerified,profileCategory,profileExternalUrl,profilePicUrl. - π Filters β include/exclude title keywords, minimum media count, and a max-highlights-per-profile cap (
maxItemscounts highlights, not stories). - πΌοΈ Media download (optional) β save cover images and story media to the run's key-value store.
- π‘οΈ Reliable fetching β resolves each profile live; primary private-API tray fetch (no fragile relay tokens) with a paginated GraphQL fallback; automatic proxy escalation (your selection β datacenter β residential) on Instagram rate-limits/blocks.
Input
| Field | Type | Description |
|---|---|---|
startUrls | array | Instagram profile URLs / usernames / @handles. |
maxItems | integer | Max highlights (parent rows) per profile. 0 = unlimited. Stories don't count against it. |
keywords | array | Keep only highlights whose title contains one of these words. |
excludeKeywords | array | Drop highlights whose title contains any of these words. |
minMediaCount | integer | Keep only highlights with at least this many stories. |
includeProfileMetadata | boolean | Attach owner profile metadata to each highlight row (default true). |
includeStories | boolean | Fetch the stories inside each highlight as child rows (default false). |
maxStoriesPerHighlight | integer | Cap stories fetched per highlight. 0 = all. |
downloadMedia | boolean | Save cover / story media to the key-value store (default false). |
proxyConfiguration | object | Proxy settings; automatic datacenter β residential fallback on blocks. |
Example input
{"startUrls": ["https://www.instagram.com/nasa/"],"maxItems": 5,"includeStories": true,"maxStoriesPerHighlight": 10,"includeProfileMetadata": true,"proxyConfiguration": { "useApifyProxy": true }}
Output
Each highlight is one parent row (type = "highlight", isChild = false). When includeStories is enabled, each story is a child row (type = "story", isChild = true, parentId = <highlight id>) interleaved right after its highlight and also written to the stories-<runId> dataset.
{"type": "highlight","isChild": false,"username": "nasa","userId": "528817151","id": "17895695668004550","title": "Artemis","mediaCount": 24,"createdAt": "2021-08-19T18:03:11Z","latestReelMediaAt": "2024-05-01T12:00:00Z","highlightUrl": "https://www.instagram.com/stories/highlights/17895695668004550/","coverImageUrl": "https://scontent.cdninstagram.com/....jpg","coverMediaId": "2648...","profileFollowers": 97000000,"profileVerified": true,"scrapedAt": "2026-07-02T10:00:00Z"}
Notes & compliance
- Only public profiles are supported (logged-out access). Private profiles return an error row (not billed).
- Instagram content URLs (covers, story media) are time-limited CDN links; use
downloadMediaif you need to keep the assets. - Scrape responsibly and in line with Instagram's terms and applicable laws; use scraped data lawfully.
Keywords
instagram highlights scraper, instagram stories scraper, instagram story highlights, instagram highlight downloader, instagram profile scraper, instagram cover image extractor, instagram highlight metadata, instagram data extraction, social media scraper, instagram marketing research, competitor analysis, instagram bulk scraper.