Instagram Reels Search Scraper
Pricing
from $1.50 / 1,000 reel founds
Instagram Reels Search Scraper
Search public Instagram Reels by keyword or hashtag. Returns reel URL, caption, plays, likes, author, music, and engagement per Reel. Provider-backed (ScrapeCreators primary, SociaVault fallback), cookieless, no login. MCP-ready.
Pricing
from $1.50 / 1,000 reel founds
Rating
0.0
(0)
Developer
Khadin Akbar
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
2 days ago
Last modified
Categories
Share
Search public Instagram Reels by keyword, hashtag, or handle intent and export structured data: reel URL, caption, plays, likes, comments, engagement rate, author metadata, music info, and run diagnostics — with no Instagram login required.
Provider-backed: ScrapeCreators is the primary data source; SociaVault is a best-effort fallback route. The actor resolves keywords to public profile handles, then fetches public Reels for those handles. Provider order is configurable via providerOrder input and all fallbacks are recorded in RUN_SUMMARY.
What you get
| Field | Notes |
|---|---|
keyword | The search query that produced this Reel |
reel_url | Canonical /reel/ URL |
caption | Full caption text |
caption_hashtags | Hashtags parsed from caption |
like_count, comment_count | Public engagement counts |
play_count | Video plays (when provider exposes) |
engagement_rate | (likes + comments) / followers × 100 |
posted_at | ISO 8601 timestamp |
author_username, author_follower_count, author_is_verified | Author metadata |
music_title, music_artist | Audio attribution |
source_provider | scrapecreators or sociavault |
Who uses this
- Content marketers benchmarking competitor Reels in a niche
- Influencer agencies finding high-engagement creators by topic
- Brand managers monitoring brand mentions in Reel captions
- AI agents that need structured Reel data from a keyword (MCP-ready)
Quick start
{"keywords": ["nasa", "#space"],"maxResultsPerKeyword": 20,"outputMode": "compact"}
Input reference
| Parameter | Type | Default | Description |
|---|---|---|---|
keywords | string[] | ["nasa"] | Keywords, hashtags, or direct handles (e.g. "nasa", "#fitness", "@nasa") |
maxResultsPerKeyword | integer | 20 | Max Reels to save per keyword (1–500) |
maxProviderPages | integer | 5 | Max provider pages per keyword (1–60) |
minimumLikes | integer | 0 | Filter: skip Reels with fewer likes |
minPlayCount | integer | 0 | Filter: skip Reels with fewer plays |
onlyReelsNewerThan | ISO date | — | Filter: skip Reels posted before this date |
outputMode | full/compact | full | Field set returned per row |
providerOrder | enum | scrapecreators-first | Provider priority and fallback behavior |
startCursor | string | — | Resume pagination from a previous run cursor |
Output example (compact mode)
{"keyword": "nasa","reel_url": "https://www.instagram.com/reel/ABC123xyz/","caption": "Golden hour in Santorini ✨ #travel #reels","caption_hashtags": ["travel", "reels"],"like_count": 3840,"comment_count": 47,"play_count": 91200,"is_reel": true,"posted_at": "2024-06-15T10:22:00.000Z","author_username": "wanderlust_creator","author_follower_count": 128000,"author_is_verified": false,"engagement_count": 3887,"engagement_rate": 3.04,"source_provider": "scrapecreators","scraped_at": "2026-08-18T07:00:00.000Z"}
Provider fallback
The providerOrder input controls which provider is tried first:
scrapecreators-first(default): tries ScrapeCreators, falls back to SociaVault on failuresociavault-first: reverses the orderscrapecreators-only/sociavault-only: disables the other provider
If the primary provider fails, fallbacksUsed in RUN_SUMMARY increments and a warning records which keyword triggered the fallback. The row's source_provider field always tells you which provider served it.
Pricing
$0.0015 per Reel saved to the dataset + platform usage costs.
- 1,000 Reels = ~$1.50 in data events
- 10,000 Reels = ~$15.00 in data events
- Platform compute and proxy usage are additional (see Apify Console → Pricing tab)
Run outcomes
| Outcome | Meaning |
|---|---|
COMPLETE | All Reels saved successfully |
PARTIAL | Some Reels saved; provider errors or filters skipped others |
VALID_EMPTY | No Reels matched the request (try broader keywords or remove filters) |
INVALID_INPUT | Missing or malformed input |
CONFIG_ERROR | Both provider API keys missing or invalid |
UPSTREAM_FAILED | Provider failed on every keyword before any Reels were saved |
The OUTPUT key-value entry and RUN_SUMMARY are always written, even on failure.
API / MCP usage
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_TOKEN' });const run = await client.actor('khadinakbar/instagram-reels-search-scraper').call({keywords: ['coffee reels', '#barista'],maxResultsPerKeyword: 50,outputMode: 'compact',});const { items } = await client.dataset(run.defaultDatasetId).listItems();
Builder's note
Instagram's hashtag feed is served from Google-indexed public data, not a complete native feed. Results are best-effort: recent Reels may be sparse for niche topics, and very viral content may be over-represented. If you need a deeper or more complete feed, try the instagram-hashtag-scraper sibling actor.
Related actors
instagram-hashtag-scraper— hashtag posts (not keyword search)instagram-reels-scraper— Reels from specific profilesinstagram-posts-scraper— feed posts from profilesinstagram-profile-scraper— profile metadata
Legal disclaimer
This actor scrapes only publicly visible Instagram Reels data. It does not access private accounts, bypass login walls, or use Instagram credentials. Use responsibly and in compliance with Instagram's Terms of Service and applicable data protection laws.