# Instagram Reels Search - Keyword to Top Reels, Plays & Creators (`tenfoldfleet/instagram-reels-search`) Actor

Search Instagram reels by keyword and get the top public reels for any topic: play count, caption, hashtags, creator username, post date, reel link and video URL, plus optional likes, comments and views. No login. $2.50 per 1,000 reels ($3.50 with likes and comments); empty keywords are free.

- **URL**: https://apify.com/tenfoldfleet/instagram-reels-search.md
- **Developed by:** [Tenfold Fleet](https://apify.com/tenfoldfleet) (community)
- **Categories:** Social media, Agents, MCP servers
- **Stats:** 1 total users, 0 monthly users, 0.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.50 / 1,000 reels

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

### What does Instagram Reels Search do?

**Instagram Reels Search** finds the **top public reels for any keyword** on Instagram. Type topics such as `cooking`, `street food` or `home workout` and get one row per reel with its **link, play count, caption, hashtags, creator username, post date, thumbnail and video URL**. Turn on details and each reel also gets its **likes, comments, views, duration, audio name and the creator's follower count**.

It works like an **Instagram reels search API** with **no login, no cookies and no Instagram account**: it reads the public keyword pages Instagram shows logged-out visitors (instagram.com/popular/...), so there is nothing to connect and no account to put at risk.

> Not affiliated with Instagram or Meta. Instagram is a trademark of Meta Platforms, Inc.

### Why use it?

- 🔥 **Trend and content research**: see which reels get the most plays in your niche before you script your own.
- 🤝 **Influencer discovery**: collect the creators behind the top reels for a topic, with verified badges and (with details) follower counts.
- 📊 **Competitor and hashtag analysis**: compare captions, hashtags and audio across the reels that win a keyword.
- 🤖 **AI pipelines**: hand an agent a topic and get structured reel data back as JSON, ready for summaries or scoring.
- 📝 **Reel transcripts**: feed the reel links into [Instagram Reels Transcript](https://apify.com/tenfoldfleet/instagram-reels-transcript) to get what each reel says as text.

It runs on the Apify platform, so you also get an **API**, scheduling, webhooks and integrations with Make, Zapier, n8n, LangChain and LlamaIndex.

### What data can it extract?

| Field | What it is |
|---|---|
| `searchKeyword`, `rank` | your keyword and the reel's position in its results |
| `sourceKeyword`, `sourceKeywordUrl`, `depth` | the keyword page the reel came from (`depth` 0 = your keyword or a close variant, 1+ = a related keyword) |
| `url`, `shortcode`, `mediaId` | `https://www.instagram.com/reel/DRFN52TiK3L/`, `DRFN52TiK3L` |
| `playCount` | plays Instagram shows for the reel |
| `caption`, `hashtags`, `mentions` | caption text and the #tags and @handles in it |
| `postedAt` | when the reel was posted, read from its ID (usually within minutes) |
| `ownerUsername`, `ownerId`, `ownerVerified`, `ownerProfileUrl`, `ownerProfilePicUrl` | the creator |
| `thumbnailUrl`, `videoUrl` | cover image and MP4 link |
| `likeCount`, `commentCount`, `viewCount`, `durationSec` | details option only |
| `ownerFollowers`, `audioTitle`, `audioArtist` | details option only |
| `detailsIncluded`, `detailsError`, `error` | what happened for this row |

### How to search Instagram reels by keyword

1. Click **Try for free**.
2. Enter one or more **keywords**, one per line.
3. Set **Max reels per keyword** (default 50).
4. Optional: turn on **Add likes, comments, views and duration**.
5. Click **Start** and download the reels as **JSON, CSV, Excel or HTML**, or read them through the API.

### How much does it cost to search Instagram reels?

Pay per event, no subscription:

- **$2.50 per 1,000 reels** ($0.0025 per reel) with the basic fields.
- **$3.50 per 1,000 reels** ($0.0035 per reel) when the details option adds likes and comments. A reel whose details are not public is charged at the basic price instead, never both.
- A tiny start fee of $0.00005 per run.

These are **free**: keywords Instagram has no page for, blocked requests and any other failure. Each reel is returned and charged once per run, even if it shows up for several keywords.

**Free Apify plan:** up to **30 reels per run**. Any paid Apify plan removes the limit. Set a maximum cost per run in Apify and the actor stops when it is reached.

### Input

```json
{
    "keywords": ["cooking", "street food"],
    "maxReelsPerKeyword": 50,
    "includeRelatedKeywords": true,
    "includeDetails": false
}
```

### Output

```json
{
    "searchKeyword": "cooking",
    "rank": 3,
    "sourceKeyword": "cooking",
    "sourceKeywordUrl": "https://www.instagram.com/popular/cooking/",
    "depth": 0,
    "shortcode": "DRFN52TiK3L",
    "url": "https://www.instagram.com/reel/DRFN52TiK3L/",
    "caption": "Would you eat this? ...",
    "hashtags": ["asmr", "cooking"],
    "playCount": 68995721,
    "likeCount": 1961157,
    "commentCount": 737,
    "viewCount": 39495927,
    "durationSec": 29.013,
    "postedAt": "2025-11-15T15:06:05.952Z",
    "ownerUsername": "zap_eat",
    "ownerVerified": false,
    "ownerFollowers": 633472,
    "audioTitle": "Original audio",
    "videoUrl": "https://instagram.fxxx.fna.fbcdn.net/o1/v/t2/...mp4?...",
    "detailsIncluded": true,
    "error": null
}
```

Each run also saves a `KEYWORDS` record in its key-value store with, for every keyword, the page title, Instagram's reel count for it ("362M reels"), its description and the related keywords Instagram suggests.

### Tips

- **Results drift into related keywords.** Instagram shows 12 reels per keyword page. To reach 50 reels the actor also opens related keyword pages, the ones that keep your words first, so later rows can be about nearby topics. `sourceKeyword` tells you where each reel came from; filter on `depth = 0` or turn off **Use related keywords** to stay on your exact keyword.
- **Only keywords Instagram has a page for work.** Common topics do; very rare words, brand-new slang and some broad single words do not. For those the actor tries `best <keyword>`, `<keyword> ideas` and `<keyword> tips`, and if none exists you get a free row with a note.
- **Likes and comments need the details option.** The keyword page carries plays but not likes or comments. Dates are read from each reel's ID in both modes.
- **Video and image links expire.** `videoUrl` and `thumbnailUrl` are signed Instagram CDN links that stop working after a few days. Download what you need soon after the run, or keep the reel `url`, which does not expire.
- Results reflect what Instagram shows a logged-out visitor today; the same keyword can return a different mix later.

### FAQ

#### Do I need an Instagram account or cookies?

No. The actor reads only public pages that Instagram shows anyone who is not logged in.

#### Why did my keyword return no reels?

Instagram keeps keyword pages only for searches people make often. If it has none for your keyword or its close variants, you get one free row explaining that. Try a more common phrase.

#### Can I get reels from a hashtag or a profile?

This actor searches by keyword. A keyword such as `streetfood` or `street food` usually covers the same topic as the hashtag.

#### Why do some reels have no likes even with details on?

Some creators turn off embedding, and the like count is only public through the embed page. Those rows have `detailsError` set and are charged at the basic price.

#### Can I get the transcript of these reels?

Yes. Pass the `url` values to [Instagram Reels Transcript](https://apify.com/tenfoldfleet/instagram-reels-transcript).

### Disclaimer

This actor collects only publicly available data that Instagram shows to logged-out visitors. You are responsible for using the data lawfully, including privacy laws such as the GDPR, and in line with Instagram's terms.

### More tools from Tenfold Fleet

| Actor | Output |
|---|---|
| [ALDI Australia Scraper - AU Products, Unit Prices & Catalogue](https://apify.com/tenfoldfleet/aldi-australia-scraper) | product |
| [Alibaba Image Search - Reverse Lookup of Suppliers by Photo](https://apify.com/tenfoldfleet/alibaba-image-search) | matched product |
| [Alibaba Products Scraper: Wholesale Suppliers, MOQ, Price Tiers](https://apify.com/tenfoldfleet/alibaba-products-scraper) | product |
| [AliExpress Keyword Scraper - Exact Sold Counts by Search Term](https://apify.com/tenfoldfleet/aliexpress-search-scraper) | product |
| [Amazon Product Scraper - Details, Prices & Search by ASIN](https://apify.com/tenfoldfleet/amazon-product-scraper) | product |
| [Applicant Tracking Jobs Scraper - Greenhouse, Lever & 6 More](https://apify.com/tenfoldfleet/ats-jobs-scraper) | job posting |
| [Backlinks Checker - Referring Domains, Anchors & Domain Rank](https://apify.com/tenfoldfleet/backlinks-checker) | backlink |
| [Bilibili Scraper - Videos, Comments, Danmaku & Search](https://apify.com/tenfoldfleet/bilibili-scraper) | video or comment |
| [Businesses Without Websites - Local Leads with Phone & Rating](https://apify.com/tenfoldfleet/businesses-without-websites) | lead |
| [Contact Details Scraper - One Lead Record per Company Website](https://apify.com/tenfoldfleet/company-contact-finder) | website with contacts |
| [Facebook Ads Library Scraper for Marketers](https://apify.com/tenfoldfleet/facebook-ads-library-scraper) | ad |
| [Facebook Page Contact Finder - Business Leads from Page Links](https://apify.com/tenfoldfleet/facebook-page-contact-finder) | page with contact details |
| [Google Ads Transparency Center Scraper - Competitor Ads by Site](https://apify.com/tenfoldfleet/google-ads-transparency-scraper) | ad |
| [Google AI Overviews Checker - Citations & Domain Tracker](https://apify.com/tenfoldfleet/google-ai-overviews-checker) | keyword checked |
| [Google Flights Scraper - All Fares per Route & Date (API)](https://apify.com/tenfoldfleet/google-flights-scraper) | route search |
| [Google Hotels Scraper - Nightly Prices, Stars & Booking Sites](https://apify.com/tenfoldfleet/google-hotels-scraper) | hotel |
| [Google for Jobs Scraper - Openings by City, Pay & Job Board](https://apify.com/tenfoldfleet/google-jobs-scraper) | job listing |
| [Google Keyword Planner Alternative - Ideas, Bids & Volume](https://apify.com/tenfoldfleet/google-keyword-planner) | keyword idea |
| [Google Maps Extractor - Business Leads, Phones & Websites](https://apify.com/tenfoldfleet/google-maps-extractor) | place |
| [Google News Scraper - Articles, Real URLs & Full Text](https://apify.com/tenfoldfleet/google-news-scraper) | article |
| [Google Travel Hotel Rate Tracker - OTA Prices for Every Night](https://apify.com/tenfoldfleet/google-travel-hotel-rate-tracker) | offer |
| [Search Trends by Region & Time - Google Trends Data Scraper](https://apify.com/tenfoldfleet/google-trends-scraper) | keyword |
| [Instagram Reels Transcript - Speech to Text for Public Reels](https://apify.com/tenfoldfleet/instagram-reels-transcript) | reel transcript |
| [Keyword Ideas & Related Keywords - Difficulty, Volume & CPC](https://apify.com/tenfoldfleet/keyword-ideas) | keyword idea |
| [Keyword Search Volume, CPC & Difficulty Checker (Bulk)](https://apify.com/tenfoldfleet/keyword-search-volume) | keyword with data |
| [Likee Scraper - Creators by Country, Video Views & Likes](https://apify.com/tenfoldfleet/likee-scraper) | video |
| [LinkedIn Ads Library Scraper - Competitor Ad Copy & Targeting](https://apify.com/tenfoldfleet/linkedin-ad-library-scraper) | ad |
| [Reddit Brand Monitoring - Keyword Alerts for Posts & Comments](https://apify.com/tenfoldfleet/reddit-brand-monitoring) | mention |
| [Remote Job Board Scraper - Remote Jobs Aggregator, 7 Sites](https://apify.com/tenfoldfleet/remote-jobs-aggregator) | unique remote job |
| [SEEK Jobs Scraper - Salaries & Hiring Across 8 APAC Job Boards](https://apify.com/tenfoldfleet/seek-job-scraper) | job listing |
| [SEO Agent - AI Keyword Research & Competitor Reports](https://apify.com/tenfoldfleet/seo-agent) | research report |
| [SEO Crawler - Technical SEO Audit Tool & On-Page Checker](https://apify.com/tenfoldfleet/seo-audit-tool) | page audit |
| [SEO Competitor Keywords - Domain Ranked Keywords & Keyword Gap](https://apify.com/tenfoldfleet/seo-competitor-keywords) | keyword |
| [Shopify Inventory Scraper - SKUs, Variants & In-Stock Status](https://apify.com/tenfoldfleet/shopify-products-scraper) | product |
| [Shopify App & Theme Detector - Store Analyzer & Contacts](https://apify.com/tenfoldfleet/shopify-store-analyzer) | shopify store |
| [Sitemap URL Extractor - All URLs from sitemap.xml & robots.txt](https://apify.com/tenfoldfleet/sitemap-url-extractor) | url |
| [Website Built With Checker - Find Any Site's CMS & Tech Stack](https://apify.com/tenfoldfleet/tech-stack-detector) | website |
| [Threads Search - Keyword & Profile Posts Scraper (No Login)](https://apify.com/tenfoldfleet/threads-search) | post |
| [TikTok Transcripts - Captions or Speech to Text for Any Video](https://apify.com/tenfoldfleet/tiktok-transcripts) | video transcript |
| [HTML to Text & URL to Markdown - LLM Ready Web Content](https://apify.com/tenfoldfleet/url-to-markdown) | page |
| [Website Traffic Checker - Bulk Domain Traffic Estimate](https://apify.com/tenfoldfleet/website-traffic-checker) | domain with traffic data |
| [WeChat Official Account Articles - Keyword Search to Markdown](https://apify.com/tenfoldfleet/wechat-official-account-articles) | article found |
| [Weibo Scraper - Comment Threads, Hot Search Ranks & User Stats](https://apify.com/tenfoldfleet/weibo-scraper) | comment |
| [Woolworths Product Scraper - AU Shelf Prices, Specials & GTINs](https://apify.com/tenfoldfleet/woolworths-product-scraper) | product |
| [Workday Jobs Scraper - myworkdayjobs.com API with Salary](https://apify.com/tenfoldfleet/workday-jobs-scraper) | job posting |
| [YouTube Channel Email Scraper - Creator Contact Extractor](https://apify.com/tenfoldfleet/youtube-channel-email-scraper) | channel with email |
| [YouTube Livestream & Channel Scraper - Videos, Likes & Stats](https://apify.com/tenfoldfleet/youtube-channel-scraper) | video |
| [YouTube Comments Scraper - Replies, Likes & Sort by Newest](https://apify.com/tenfoldfleet/youtube-comments-scraper) | comment |
| [YouTube Shorts Analytics Scraper - Views, Likes & Hashtags](https://apify.com/tenfoldfleet/youtube-shorts-scraper) | short |
| [YouTube Captions Downloader - Transcript & Subtitles Scraper](https://apify.com/tenfoldfleet/youtube-transcript-scraper) | transcript |

# Actor input Schema

## `keywords` (type: `array`):

Topics to search, one per line, the way people type them (cooking, street food, home workout). A leading # is ignored. Only keywords Instagram has a public keyword page for return reels; for the others the actor tries close variants (best ..., ... ideas, ... tips) and otherwise returns a free row with a note. Free Apify plan: up to 30 reels per run.

## `maxReelsPerKeyword` (type: `integer`):

How many reels to return for each keyword. Instagram shows 12 reels per keyword page, so above 12 the actor also opens related keyword pages, preferring those that keep your words. Each reel appears once per run.

## `includeRelatedKeywords` (type: `boolean`):

On (default): reach the reel count through the related keywords Instagram suggests, so later results can drift to nearby topics (each row says which keyword page it came from). Off: only the keyword's own page and its close variants, at most about 12-48 reels.

## `includeDetails` (type: `boolean`):

Open each reel's public embed page for its like count, comment count, view count, duration, audio name and the creator's follower count. One extra request per reel; such reels cost $3.50 per 1,000 instead of $2.50. Reels whose owner turned off embedding come back with the basic fields only and the basic price.

## Actor input object example

```json
{
  "keywords": [
    "cooking",
    "street food"
  ],
  "maxReelsPerKeyword": 20,
  "includeRelatedKeywords": true,
  "includeDetails": false
}
```

# Actor output Schema

## `results` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "keywords": [
        "cooking",
        "street food"
    ],
    "maxReelsPerKeyword": 20
};

// Run the Actor and wait for it to finish
const run = await client.actor("tenfoldfleet/instagram-reels-search").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "keywords": [
        "cooking",
        "street food",
    ],
    "maxReelsPerKeyword": 20,
}

# Run the Actor and wait for it to finish
run = client.actor("tenfoldfleet/instagram-reels-search").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "keywords": [
    "cooking",
    "street food"
  ],
  "maxReelsPerKeyword": 20
}' |
apify call tenfoldfleet/instagram-reels-search --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,tenfoldfleet/instagram-reels-search"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/CZCJ0IblkoDBfindU/builds/kwtT74dDntbpf75AP/openapi.json
