Instagram Reels Search Scraper
Pricing
from $1.50 / 1,000 reel founds
Instagram Reels Search Scraper
Search public Instagram Reels by keyword or hashtag. Each Reel has URL, caption, plays, likes, author, music and engagement rate. No login or cookies needed.
Pricing
from $1.50 / 1,000 reel founds
Rating
0.0
(0)
Developer
Khadin Akbar
Maintained by CommunityActor stats
0
Bookmarked
50
Total users
30
Monthly active users
3 days ago
Last modified
Categories
Share
Instagram Reels Search Scraper — keyword & hashtag Reels with plays and author data
Use this Apify Actor to search public Instagram Reels by keyword, hashtag, or direct handle intent. It accepts a keyword list, then returns one dataset record per matching public Reel. Each record can include the Reel URL, caption, caption hashtags, mentions, like count, comment count, play count when available, author metadata, music metadata, engagement count, engagement rate, pagination provenance, and scrape timestamp. The output is designed for analysis, monitoring, and agent workflows through Apify and Apify MCP.
Best fit and connected workflows
This Actor fits workflows where a query needs to turn into structured public Reel data quickly and consistently.
Common uses include:
- topic tracking from keywords or hashtags
- creator discovery from public Reel results
- brand and mention monitoring in captions
- research pipelines that need Reel URL, caption, engagement, and author fields in rows
- AI agents that need a compact, tool-friendly result set via Apify MCP
Focused standalone workflow
Instagram Reels Search Scraper — keyword & hashtag Reels with plays and author data is designed as a focused standalone workflow.
Practical scenario
Maya, a social media analyst, starts with a list of public search terms such as nasa and #space. She runs the Actor and gets rows that include reel_url, caption, like_count, comment_count, play_count when the provider exposes it, author_username, author_follower_count, music_title, engagement_rate, and source_provider. She uses those fields to identify which Reels are most relevant for a weekly report, then shares the canonical Reel URLs with her team for review.
Input fields
| Field | Type | Default | Purpose |
|---|---|---|---|
keywords | array of string | ["nasa"] | Search terms, hashtags with or without #, or direct handles such as @nasa. Each entry is one independent search. |
maxResultsPerKeyword | integer | 20 | Caps saved Reels and dataset write events per keyword. Range: 1 to 500. |
maxProviderPages | integer | 5 | Limits provider pages fetched per keyword. Range: 1 to 60. Useful for controlled runs. |
minimumLikes | integer | 0 | Keeps only Reels at or above the selected public like count. |
minPlayCount | integer | 0 | Keeps only Reels at or above the selected play count when the provider exposes plays. |
onlyReelsNewerThan | string | empty | Filters out Reels posted before the selected ISO 8601 date or timestamp. |
outputMode | string | full | Choose full for richer research rows or compact for smaller agent-friendly rows. |
providerOrder | string | scrapecreators-first | Selects which provider is tried first. Available values: scrapecreators-first, sociavault-first, scrapecreators-only, sociavault-only. |
startCursor | string | empty | Continues a single keyword from a prior cursor saved in RUN_SUMMARY. |
Focused input example
{"keywords": ["nasa", "#space"],"maxResultsPerKeyword": 20,"maxProviderPages": 5,"minimumLikes": 100,"minPlayCount": 5000,"onlyReelsNewerThan": "2024-01-01","outputMode": "compact","providerOrder": "scrapecreators-first"}
Output fields
| Field | Type | Meaning |
|---|---|---|
keyword | string | Search term that produced the Reel. |
reel_id | string or null | Provider-stable internal Reel ID. |
shortcode | string or null | Bare Instagram shortcode used in the Reel URL. |
reel_url | string or null | Canonical Instagram Reel URL. |
caption | string or null | Full caption text. |
caption_hashtags | array of string | Hashtags extracted from the caption. |
mentions | array of string | Lowercased @ mentions extracted from the caption. |
like_count | integer | Public like count. |
comment_count | integer | Public comment count. |
play_count | integer or null | Video play count when exposed by the provider. |
author_username | string or null | Author handle. |
author_follower_count | integer or null | Author follower count when available. |
author_is_verified | boolean | Whether the author is verified. |
author_is_private | boolean | Whether the author profile is private. |
music_title | string or null | Audio title. |
music_artist | string or null | Audio artist or creator. |
engagement_count | integer | Likes plus comments. |
engagement_rate | number or null | Likes plus comments divided by followers, expressed as a percent when available. |
position | integer | 1-based position in the full result set. |
page_number | integer | Provider page where the Reel was returned. |
source_provider | string | Provider that served the Reel: scrapecreators or sociavault. |
source | string | Always instagram-reels-search. |
scraped_at | string | ISO 8601 timestamp for when the record was written. |
Illustrative output record
{"keyword": "nasa","reel_url": "https://www.instagram.com/reel/ABC123xyz/","caption": "Golden hour in Santorini #travel #reels","caption_hashtags": ["travel", "reels"],"mentions": [],"like_count": 3840,"comment_count": 47,"play_count": 91200,"is_reel": true,"author_username": "wanderlust_creator","author_follower_count": 128000,"author_is_verified": false,"author_is_private": false,"music_title": "Sunset Drive","music_artist": "A. Artist","engagement_count": 3887,"engagement_rate": 3.04,"position": 1,"page_number": 1,"source_provider": "scrapecreators","source": "instagram-reels-search","scraped_at": "2026-08-18T07:00:00.000Z"}
How it works
This Actor resolves each keyword, hashtag, or handle intent to matching public profile results, then fetches public Reels from those results. ScrapeCreators is tried first by default, with SociaVault available as a fallback route. Provider order is controlled by the providerOrder input.
The Actor is cookieless and works without login. It writes Reel records to the default dataset and writes execution summaries to the default key-value store. The run summary records provider attempts, pagination details, filters applied, warnings, and the observed default-dataset event counts.
Pricing
Instagram Reels Search Scraper — keyword & hashtag Reels with plays and author data uses Pay per event pricing plus Apify platform usage.
The dataset write event is charged per public Reel saved to the default dataset. An additional one-time Actor Start event is charged when the Actor starts. Platform compute and other Apify usage are billed separately according to your Apify plan and runtime usage.
For the current pricing details, open the live Pricing tab on the Apify Store page.
Example: if a run saves one hundred Reels, the dataset event is charged one hundred times, plus one Actor Start event, and Apify platform usage is billed separately.
Use with AI agents (MCP)
This Actor is MCP-ready and can be called as an Apify Actor tool through Apify MCP. The tool returns structured Reel search results that agents can interpret as rows, summaries, and provenance fields.
Exact Actor identity: khadinakbar/instagram-reels-search-scraper
A useful agent prompt:
Search public Instagram Reels for the keywords
nasaand#space. Return compact rows with Reel URLs, captions, engagement counts, author usernames, and source provider. Prefer the first page of results, and summarize any provider fallback or pagination details from the run summary.
How to read the output:
resultspoints to the dataset items containing the Reel rows.summarygives a compact terminal outcome, including saved items and warnings.runSummaryadds provider attempts, fallback history, filters, pagination, and observed default-dataset event counts.source_provideridentifies whether ScrapeCreators or SociaVault served the row.source_cursor,next_cursor_at_fetch, andpage_numberhelp agents continue a search or explain where a record came from.
Scope and provenance:
- The Actor works on public Instagram Reel search results.
- Each dataset row records its query keyword and provider source.
- Cursors are available for continuation when the provider exposes them.
Pagination and cost guidance:
- Use
maxResultsPerKeywordto control saved rows per keyword. - Use
maxProviderPagesfor lighter test runs. - Use
startCursorto continue a single keyword from a prior run.
Apify API example
import { ApifyClient } from 'apify-client';const client = new ApifyClient({token: process.env.APIFY_TOKEN,});const run = await client.actor('khadinakbar/instagram-reels-search-scraper').call({keywords: ['nasa', '#space'],maxResultsPerKeyword: 10,outputMode: 'compact',providerOrder: 'scrapecreators-first',});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Best results and outcome guidance
Use clear, query-shaped keywords when you want public Reel discovery around a topic or handle intent. Short keyword lists are easier to compare across runs, while separate keywords keep each search independent.
A few practical settings:
- Use
outputMode: "compact"for agents and quick reviews. - Use
outputMode: "full"for research workflows that need media URLs, music metadata, and provenance fields. - Use
minimumLikesandminPlayCountto focus on higher-engagement rows. - Use
onlyReelsNewerThanwhen you need a time-based slice of results. - Use
startCursorwhen you want to continue a single keyword from a prior run.
Focused standalone workflow
Instagram Reels Search Scraper — keyword & hashtag Reels with plays and author data is designed as a focused standalone workflow for the public input and structured output contract described above.
Design note
I found that the dataset contract includes both play_count and video_view_count, which makes it useful to preserve whichever count the provider exposes for a given Reel.
FAQ
Can I search by hashtag and handle in the same run?
Yes. The keywords array accepts plain keywords, hashtags with or without #, and direct handles. Each entry is treated as one independent search.
Which provider is used first?
By default, ScrapeCreators is tried first and SociaVault is used as a fallback. You can change that order with providerOrder.
What happens when I want a smaller output for an agent?
Use outputMode: "compact". It returns a smaller row shape focused on the most useful Reel and author fields.
Can I continue pagination from a previous search?
Yes, for a single keyword. Use the startCursor value from a prior RUN_SUMMARY record.
Where can I see the current pricing details?
Use the live Pricing tab on the Apify Store page for this Actor.
Responsible use
Instagram is a trademark of its owner. This independent Actor is not affiliated with, associated with, or endorsed by Instagram.
Use this Actor only for public Reel data and in ways that fit your legal, contractual, and policy requirements.