🎬Instagram Single Reels Scraper with Video Hashtag Extractor
Pricing
$19.99/month + usage
🎬Instagram Single Reels Scraper with Video Hashtag Extractor
🚀Instagram Single Reels Scraper with Video Hashtag Extractor comprehensive data from Instagram reels including media information, comments, engagement metrics, and user details. Perfect for social media analysis, content research, and competitive intelligence.
Pricing
$19.99/month + usage
Rating
0.0
(0)
Developer
ScraperX
Maintained by CommunityActor stats
0
Bookmarked
20
Total users
7
Monthly active users
4 days ago
Last modified
Categories
Share
🎬 Instagram Single Reels Scraper with Video Hashtag Extractor
Scrape any Instagram Reel by URL, username/shortcode pair, or bare shortcode — and get the complete picture in one row: caption, every hashtag and @mention parsed out of it, likes, comments, views, video and thumbnail URLs, audio details, tagged users, co-authors, paid-partnership flags and external links pasted in the caption.
Hashtag and mention extraction costs zero extra requests — it is parsed from data already retrieved. And the whole thing runs fully logged out: no Instagram account, no cookies required.
What you get
| 🎬 Reel | 🏷️ Parsed from the caption | 🎵 Audio & people |
|---|---|---|
| Shortcode and media ID | All hashtags + hashtag count | Music asset ID and audio type |
| Full caption text | All mentioned usernames + count | Artist username |
| Publication time (ISO) | Structured mentions (tagged / co-author) | Original-audio flag |
| Likes, comments, views | External links found in the caption | Tagged users with position |
| Best-quality video URL | Co-authors | |
| Thumbnail URL | Paid-partnership flag | |
| Width, height, audio flag | Sponsor tags | |
| Media type and product type | Owner: username, name, ID, verified, private, avatar |
Key features
- Three input formats. Full reel URL,
username/shortcode, or just the bare shortcode. Mix them freely — and the legacyurlskey still works for existing integrations. - Hashtag and mention extraction with no extra requests. Captions are parsed for
#hashtagsand@mentionsduring processing, so you gethashtags,hashtagCount,mentionedUsernamesandmentionCountfor free — no second API call, no extra cost, no extra time. - Structured mentions. Beyond caption text,
structuredMentionsdistinguishes accounts that are tagged in the media from accounts that are co-authors — a real distinction that matters for collaboration and sponsorship analysis. - Filter at source.
filterByHashtagkeeps only reels whose caption contains a given hashtag;filterByMentionkeeps only reels that mention, tag or co-author a given account. Perfect for campaign tracking against a branded hashtag. - External links from captions. Call-to-action URLs pasted into captions are extracted into
externalLinks— the link creators actually want you to click. - Sponsorship signals.
isPaidPartnershipandsponsorTagsidentify commercial content explicitly. - Complete audio metadata. Music asset ID, audio type, artist username and whether the audio is original.
- Runs logged out by default. Tokens are taken from a public profile page rather than a session, so no account is required. An optional
sessionIdcan be attached for your own run, and is never stored. - Residential proxies always on. Every request goes through residential proxies for maximum reliability against rate limiting.
Use cases
- Campaign and hashtag tracking — filter to a branded hashtag and measure reach, engagement and who is participating.
- Influencer vetting — a reel's views, likes and comments alongside the owner's verification status, in one row.
- Sponsorship and brand-deal research —
isPaidPartnership,sponsorTagsandstructuredMentionsmap creator↔brand relationships. - Competitor content analysis — which hashtags and sounds competitors use, and what it earns them.
- Audio trend research — track which music assets are driving reach in a niche.
- UGC discovery — filter by mention to collect every reel tagging your brand.
- Content archiving — video and thumbnail URLs plus full metadata for a durable record.
- Link and funnel analysis — external links in captions show where creators send their audience.
How it works
- You supply reel inputs — URLs,
username/shortcodepairs, or bare shortcodes. - Public access tokens are obtained from a public profile page — no login, no session.
- Each reel's data is fetched through residential proxies.
- The caption is parsed for hashtags, mentions and external links, and structured mention data is built from the media's tagged users and co-authors.
- Your hashtag or mention filter is applied, dropping reels that do not match.
- Each reel is pushed to the dataset with the full field set.
Quick start
- Copy a reel URL from Instagram — e.g.
https://www.instagram.com/cristiano/reel/DOEMHa6iPoz/. - Paste it into Instagram Reel URLs / Shortcodes.
- (Optional) Set a hashtag or mention filter.
- Click Start, then export the Output tab as JSON (recommended) or CSV.
Minimal input
{"reelUrls": ["https://www.instagram.com/cristiano/reel/DOEMHa6iPoz/"]}
Input configuration
| Field | Type | Default | Description |
|---|---|---|---|
reelUrls | array | — | Reel inputs. Accepts full URLs (https://www.instagram.com/cristiano/reel/DOEMHa6iPoz/), username/shortcode (cristiano/DOEMHa6iPoz), or bare shortcodes (DOEMHa6iPoz). The legacy urls key is still accepted. |
filterByHashtag | string | — | Keep only reels whose caption contains this hashtag, with or without the #. Example: StayedForMore. |
filterByMention | string | — | Keep only reels that mention, tag or co-author this username, with or without the @. Example: visitsaudi. |
sessionId | string | — | Optional. An Instagram sessionid cookie. Not required — the Actor runs fully logged out by default. When supplied it is attached to this run's requests only, and never stored. |
proxyConfiguration | object | Apify Residential | The Actor always uses residential proxies regardless of selection, for reliability against rate limiting. |
Output data
One row per reel.
Reel
| Field | Type | Description |
|---|---|---|
shortcode | string | Reel shortcode. |
mediaId | string | Instagram media ID. |
captionText | string | Full caption. |
takenAtIso | string | Publication time (ISO). |
likeCount, commentCount, viewCount | number | Engagement metrics (view count falls back to play count). |
videoUrlBest | string | Best available video URL. |
thumbnailUrl | string | Thumbnail image URL. |
videoWidth, videoHeight | number | Original dimensions. |
hasAudio | boolean | Whether the reel has audio. |
mediaType, productType | string / number | Instagram media and product classification. |
Parsed from the caption
hashtags[], hashtagCount, mentionedUsernames[], mentionCount, externalLinks[].
People
ownerUsername, ownerFullName, ownerId, ownerIsVerified, ownerIsPrivate, ownerProfilePicUrl, taggedUsers[] (with username, id, fullName, isVerified, position), coauthors[], structuredMentions[] (each with source: taggedUser or coauthor).
Commercial
isPaidPartnership, sponsorTags.
Audio
musicAssetId, musicAudioType, musicArtistUsername, musicIsOriginalAudio.
Example output (trimmed)
{"shortcode": "DOEMHa6iPoz","mediaId": "3412345678901234567","ownerUsername": "examplecreator","ownerFullName": "Example Creator","ownerIsVerified": true,"captionText": "Three days in AlUla with @visitsaudi ✨ #StayedForMore #travel — full guide: https://example.com/alula","takenAtIso": "2026-08-04T14:03:22Z","likeCount": 284511,"commentCount": 1342,"viewCount": 4128900,"hashtags": ["StayedForMore", "travel"],"hashtagCount": 2,"mentionedUsernames": ["visitsaudi"],"mentionCount": 1,"externalLinks": ["https://example.com/alula"],"structuredMentions": [{ "username": "visitsaudi", "isVerified": true, "source": "coauthor" }],"taggedUsers": [{ "username": "visitsaudi", "fullName": "Visit Saudi", "isVerified": true, "position": [0.5, 0.5] }],"isPaidPartnership": true,"videoUrlBest": "https://scontent.cdninstagram.com/…","thumbnailUrl": "https://scontent.cdninstagram.com/…","videoWidth": 1080,"videoHeight": 1920,"hasAudio": true,"musicArtistUsername": "examplecreator","musicIsOriginalAudio": true}
Illustrative values — a live run returns current Instagram data.
Usage examples
Bulk reels, mixed input formats
{"reelUrls": ["https://www.instagram.com/cristiano/reel/DOEMHa6iPoz/","examplecreator/DAbCdEfGhIj","DXyZ12345Ab"]}
Campaign tracking by hashtag
{"reelUrls": ["…list of reel URLs…"],"filterByHashtag": "StayedForMore"}
Only reels actually carrying the campaign hashtag are kept — nothing to filter afterwards.
Find UGC that tags your brand
{"reelUrls": ["…list of reel URLs…"],"filterByMention": "yourbrand"}
This matches captions and tagged/co-author relationships, so it catches mentions a text search would miss.
Map creator↔brand relationships
Run without filters and pivot the export on structuredMentions and isPaidPartnership to see which creators are working with which brands.
Audio trend analysis
Group your export by musicAssetId and compare viewCount — the sounds pulling the most reach in your niche become obvious.
Run it from your own code
Python
from apify_client import ApifyClientclient = ApifyClient("<YOUR_APIFY_API_TOKEN>")run = client.actor("scraperx/instagram-single-reels-scraper").call(run_input={"reelUrls": ["https://www.instagram.com/cristiano/reel/DOEMHa6iPoz/"],})for reel in client.dataset(run["defaultDatasetId"]).iterate_items():print(reel["ownerUsername"], reel["viewCount"], reel["hashtags"])
JavaScript
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: '<YOUR_APIFY_API_TOKEN>' });const run = await client.actor('scraperx/instagram-single-reels-scraper').call({reelUrls: ['https://www.instagram.com/cristiano/reel/DOEMHa6iPoz/'],});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
cURL
curl -X POST "https://api.apify.com/v2/acts/scraperx~instagram-single-reels-scraper/runs?token=<YOUR_APIFY_API_TOKEN>" \-H "Content-Type: application/json" \-d '{"reelUrls":["https://www.instagram.com/cristiano/reel/DOEMHa6iPoz/"]}'
Integrations
Send reels into Google Sheets, Airtable, Slack, Make, Zapier, Google Drive or your own endpoint via webhooks, and use Schedules to track a campaign hashtag over time.
Pricing
Pricing for this Actor is shown on its Pricing tab on the Actor page, and Apify displays the applicable cost before you run it. Free Apify accounts include monthly platform credit that is enough to trial it.
Because the Actor always routes through Apify Residential proxies, that proxy traffic is billed separately by the platform according to your plan.
Limits & good to know
- This Actor targets individual reels. You supply the reel identifiers; it does not crawl a profile to discover them. Pair it with a profile or hashtag scraper to build the input list.
- Public content only. Reels from private accounts are not accessible.
- Filters drop rows, they do not search.
filterByHashtagandfilterByMentionnarrow the reels you supplied — they do not find new ones. - Media URLs expire. Video and thumbnail URLs point at Instagram's CDN — download assets promptly if you need the files.
viewCountfalls back to play count when Instagram does not expose a view count for that reel.- Some fields depend on what Instagram publishes: sponsor tags, tagged users and music details are not present on every reel.
- The optional
sessionIdis used only for the current run's requests and is never stored. - Default run options are 4 GB memory and a 1-hour timeout — raise the timeout for long input lists.
FAQ
Do I need an Instagram account or cookies? No. The Actor runs fully logged out by default, taking public tokens from a public profile page.
What can I paste as input?
Full reel URLs, username/shortcode pairs, or bare shortcodes — mixed freely in the same list.
How do hashtags get extracted? From the caption, during processing — no extra request and no extra cost. You get both the list and the count.
What is the difference between mentionedUsernames and structuredMentions?
mentionedUsernames comes from the caption text. structuredMentions comes from Instagram's own data and tells you whether an account is a tagged user or a co-author.
Can I filter to one campaign hashtag?
Yes — filterByHashtag keeps only reels whose caption contains it.
Does it download the video? No, it returns the best available video URL. Fetch the file yourself if you need it.
Why is a field empty? Instagram does not publish it for that reel — sponsor tags and music details in particular vary by post.
Which export format should I use?
JSON — hashtags, taggedUsers, structuredMentions and externalLinks are arrays. CSV works if you only need metrics.
Legal & responsible use
This Actor collects only publicly available Instagram reel data — the same content any visitor can view without logging in. It does not log in by default, follow accounts, or access private content. Videos, captions and images remain the property of their creators, and usernames, avatars and tagged identities are personal data. Ensure your use complies with Instagram's terms, copyright, and GDPR or comparable regulations. If you supply a sessionId, you are responsible for that account, including Instagram's restrictions on automated access.
Support
Need profile-wide reel discovery, extra fields, or a custom Instagram pipeline? Open an issue on the Issues tab of this Actor.