Instagram Reels Search Scraper avatar

Instagram Reels Search Scraper

Pricing

from $1.50 / 1,000 reel founds

Go to Apify Store
Instagram Reels Search Scraper

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

Khadin Akbar

Maintained by Community

Actor stats

0

Bookmarked

50

Total users

30

Monthly active users

3 days ago

Last modified

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

FieldTypeDefaultPurpose
keywordsarray of string["nasa"]Search terms, hashtags with or without #, or direct handles such as @nasa. Each entry is one independent search.
maxResultsPerKeywordinteger20Caps saved Reels and dataset write events per keyword. Range: 1 to 500.
maxProviderPagesinteger5Limits provider pages fetched per keyword. Range: 1 to 60. Useful for controlled runs.
minimumLikesinteger0Keeps only Reels at or above the selected public like count.
minPlayCountinteger0Keeps only Reels at or above the selected play count when the provider exposes plays.
onlyReelsNewerThanstringemptyFilters out Reels posted before the selected ISO 8601 date or timestamp.
outputModestringfullChoose full for richer research rows or compact for smaller agent-friendly rows.
providerOrderstringscrapecreators-firstSelects which provider is tried first. Available values: scrapecreators-first, sociavault-first, scrapecreators-only, sociavault-only.
startCursorstringemptyContinues 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

FieldTypeMeaning
keywordstringSearch term that produced the Reel.
reel_idstring or nullProvider-stable internal Reel ID.
shortcodestring or nullBare Instagram shortcode used in the Reel URL.
reel_urlstring or nullCanonical Instagram Reel URL.
captionstring or nullFull caption text.
caption_hashtagsarray of stringHashtags extracted from the caption.
mentionsarray of stringLowercased @ mentions extracted from the caption.
like_countintegerPublic like count.
comment_countintegerPublic comment count.
play_countinteger or nullVideo play count when exposed by the provider.
author_usernamestring or nullAuthor handle.
author_follower_countinteger or nullAuthor follower count when available.
author_is_verifiedbooleanWhether the author is verified.
author_is_privatebooleanWhether the author profile is private.
music_titlestring or nullAudio title.
music_artiststring or nullAudio artist or creator.
engagement_countintegerLikes plus comments.
engagement_ratenumber or nullLikes plus comments divided by followers, expressed as a percent when available.
positioninteger1-based position in the full result set.
page_numberintegerProvider page where the Reel was returned.
source_providerstringProvider that served the Reel: scrapecreators or sociavault.
sourcestringAlways instagram-reels-search.
scraped_atstringISO 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 nasa and #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:

  • results points to the dataset items containing the Reel rows.
  • summary gives a compact terminal outcome, including saved items and warnings.
  • runSummary adds provider attempts, fallback history, filters, pagination, and observed default-dataset event counts.
  • source_provider identifies whether ScrapeCreators or SociaVault served the row.
  • source_cursor, next_cursor_at_fetch, and page_number help 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 maxResultsPerKeyword to control saved rows per keyword.
  • Use maxProviderPages for lighter test runs.
  • Use startCursor to 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 minimumLikes and minPlayCount to focus on higher-engagement rows.
  • Use onlyReelsNewerThan when you need a time-based slice of results.
  • Use startCursor when 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.

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.