# Instagram Trending Reels Finder: $0.05 per Topic (`rowfinch/instagram-trending-reels`) Actor

Find the Instagram reels growing fastest in any niche, ranked by views per hour, with each reel's audio, Instagram's trending mark and how many reels use the song. $0.05 per topic.

- **URL**: https://apify.com/rowfinch/instagram-trending-reels.md
- **Developed by:** [Rowfinch](https://apify.com/rowfinch) (community)
- **Stats:** 4 total users, 3 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $50.00 / 1,000 topics

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

## Instagram Trending Reels Finder

Type a niche and get the reels gaining views fastest right now, ranked by views per hour, with the audio each one uses.

**$0.05 per topic.**

### What it's for

- **Content ideas**: the formats and hooks taking off in your niche this week, while there's still time to ride them.
- **Trending audio**: the songs and sounds behind the fastest reels, with Instagram's trending mark and how many reels already use each song.
- **Creator scouting**: accounts whose reels are breaking out, with views and engagement.
- **Trend reports**: schedule it daily and send the top reels to Slack, Google Sheets or an AI agent.

### How it ranks

For each topic it reads Instagram's own ranking of the topic's hashtag (about 150 recent reels) and Instagram's reels search for its words (24 more). Reels posted in the period you pick are ranked by views per hour: a reel with 300,000 views in 10 hours ranks above one with 2 million in two weeks.

### Input

| Field | What it does |
|---|---|
| `topics` | Niches, keywords or hashtags, one per line: `home workout`, `#skincare`, `air fryer recipes` |
| `maxAgeDays` | Only reels posted in the last N days (default 7, up to 30) |
| `resultsPerTopic` | Reels per topic (default 25, up to 100) |

Words are also read as one hashtag, as Instagram merges them: `home workout` reads #homeworkout.

### Output

One row per reel, fastest first:

```json
{
  "topic": "home workout",
  "rank": 1,
  "viewsPerHour": 101910,
  "hoursSincePosted": 23.1,
  "engagementRate": 2.32,
  "id": "4009365400268226466",
  "shortCode": "DekIJbJur-i",
  "url": "https://www.instagram.com/reel/DekIJbJur-i/",
  "caption": "Set a 20 minute timer and do as many sets of 10 reps that you can...",
  "hashtags": ["kettlebell", "workout", "homegym", "homeworkout"],
  "timestamp": "2026-10-18T12:02:28.000Z",
  "videoPlayCount": 2357629,
  "likesCount": 54055,
  "commentsCount": 530,
  "videoDuration": 13.582,
  "displayUrl": "https://scontent-iad3-1.cdninstagram.com/v/t51.82787-15/...",
  "videoUrl": "https://scontent-iad6-1.cdninstagram.com/o1/v/t16/f2/m84/...",
  "ownerUsername": "joeryantraining",
  "ownerFullName": "Joe Ryan | Fitness Coach",
  "paidPartnership": false,
  "audio": {
    "id": "7095481260474322",
    "name": "Sad but true",
    "artist": "MEATALLICA",
    "url": "https://www.instagram.com/reels/audio/7095481260474322/",
    "isOriginal": false,
    "isTrending": false,
    "reelsCount": 66495
  }
}
```

- `engagementRate`: likes and comments per 100 views; `null` when the author hides likes.
- `audio.isTrending`: Instagram marks the audio as trending.
- `audio.reelsCount`: reels across Instagram using the song, for the first 10 songs of each topic. Original sounds have no count.

Topics with no reels in the period get a row with the reason, free of charge:

```json
{ "input": "zqxjvbnwkplmtrd", "error": "No reels from the last 3 days" }
```

### Price

- **$0.05 per topic**, up to 100 reels each
- Topics with no reels in the period: free

| Run | Cost |
|---|---|
| 1 topic, top 25 reels | $0.05 |
| 10 topics every day for a month | $15 |

A run stops at the maximum cost you set for it. On Apify's free plan, a run returns the top 10 reels of one topic.

### FAQ

**Why views per hour and not total views?**
Total views favor old reels. Views per hour shows what's growing now.

**How far back does it go?**
Instagram's hashtag rankings reach back about 9 days. Older reels come only from its keyword search, so a 30-day period adds a few big ones.

**Can I get all the reels of a hashtag or a profile?**
[Instagram Hashtag Scraper](https://apify.com/rowfinch/instagram-hashtag-scraper) reads a hashtag's reels and posts, and [Instagram Reel Scraper](https://apify.com/rowfinch/instagram-reel-scraper) a profile's, from $0.30 per 1,000.

**Is it legal?**
It reads only public reels. Captions and usernames can be personal data under GDPR and similar laws: use them for a legitimate purpose and honor deletion requests.

# Actor input Schema

## `topics` (type: `array`):

A niche, keyword or hashtag per line, like home workout or #skincare.

## `maxAgeDays` (type: `integer`):

Instagram's hashtag rankings reach back about 9 days; older reels come only from its keyword search.

## `resultsPerTopic` (type: `integer`):

The fastest-growing first.

## Actor input object example

```json
{
  "topics": [
    "home workout"
  ],
  "maxAgeDays": 7,
  "resultsPerTopic": 25
}
```

# Actor output Schema

## `reels` (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 = {
    "topics": [
        "home workout"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("rowfinch/instagram-trending-reels").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 = { "topics": ["home workout"] }

# Run the Actor and wait for it to finish
run = client.actor("rowfinch/instagram-trending-reels").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 '{
  "topics": [
    "home workout"
  ]
}' |
apify call rowfinch/instagram-trending-reels --silent --output-dataset

```

## MCP server setup

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

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/KaoNa91Lz5snEjzgE/builds/cKEwafyjc48VFjUmm/openapi.json
