# Instagram Influencer Finder - Creators by Hashtag with Emails (`aolmo/instagram-influencers`) Actor

Find the creators behind any Instagram hashtag with their contact details: up to 12 creators per tag from its featured posts, each with followers, bio, emails and phones from the bio and website or link-in-bio page, social links and the matching post. Minimum followers filter. $0.004 per creator.

- **URL**: https://apify.com/aolmo/instagram-influencers.md
- **Developed by:** [Antonio del Olmo Tena](https://apify.com/aolmo) (community)
- **Categories:** Lead generation, Social media
- **Stats:** 3 total users, 2 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $4.00 / 1,000 creator founds

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

Find Instagram creators by hashtag and get their contact details in one run. Give hashtags (travel, fitness, skincare...) and the Actor reads the featured posts of each hashtag, takes every distinct creator behind them and returns one row per creator with followers, following, posts, bio, verified flag, the emails and phones written in the bio, the emails, phones and social links found on their website or link-in-bio page, and the post that matched the hashtag. Filter by minimum followers. Influencer sourcing, outreach lists, brand partnerships and competitor research at $0.004 per creator.

The Actor reads what Instagram shows to a logged-out visitor (through residential connections that Instagram does not block) and never bypasses logins, CAPTCHAs or rate limits.

### What you get

**Creator** (one row each): `username`, `url`, `fullName`, `verified`, `private`, `followers`, `following`, `posts`, `bio`, `externalUrl`.

**Contacts**: `bioEmails`, `bioPhones`, `siteEmails`, `sitePhones`, `emails`, `phones`, `email`, `phone`, `socials`, `websiteStatus`, `pagesCrawled`, `hasContact`.

**Match**: `hashtag`, `hashtagUrl`, `postsFound`, `creatorsFound`, `matchedPosts` (featured posts of the hashtag by this creator), `postUrl`, `postCaption`, `postPlays`, `postType`.

**Changes** on scheduled runs: `isNew` is true for creators that were not among the featured posts of the hashtag in the previous run.

Creators whose profile cannot be read, and creators below the followers minimum, are listed in `skipped` and not charged. Hashtags without a public page return a row with an `error` field and are free.

### How to use it

1. Open the **Input** tab.
2. Add **Hashtags**, one per line (up to 100 per run): `travel`, `#fitness` or `https://www.instagram.com/explore/tags/nasa/`.
3. Set **Minimum followers** to keep only creators of the size you want, and **Max creators per hashtag** (up to 12).
4. Keep **Read the website** on to collect the contacts of each creator's site, or turn it off to read bios only.
5. Click **Start** and export the rows as JSON, CSV or Excel.

### Input

```json
{
  "hashtags": ["travel", "fitness"],
  "maxInfluencers": 12,
  "minFollowers": 10000,
  "crawlWebsite": true
}
```

### Output

```json
{
  "hashtag": "travel",
  "hashtagUrl": "https://www.instagram.com/explore/tags/travel/",
  "postsFound": 12,
  "creatorsFound": 9,
  "username": "wanderlust.jane",
  "url": "https://www.instagram.com/wanderlust.jane/",
  "fullName": "Jane | Travel",
  "verified": false,
  "followers": 184000,
  "bio": "Travel creator. Collabs: jane@wanderlust.example",
  "externalUrl": "https://linktr.ee/wanderlustjane",
  "emails": ["jane@wanderlust.example"],
  "phones": [],
  "email": "jane@wanderlust.example",
  "socials": { "youtube": "https://www.youtube.com/@wanderlustjane", "tiktok": "https://www.tiktok.com/@wanderlust.jane" },
  "websiteStatus": "found",
  "hasContact": true,
  "matchedPosts": 2,
  "postUrl": "https://www.instagram.com/reel/DeuH0dDFGcg/",
  "postPlays": 2098295,
  "isNew": false,
  "timestamp": "2026-10-26T10:00:00.000Z"
}
```

### Pricing

Pay per event: **$0.004 per creator returned** and **$0.002 per new creator** detected on a scheduled run. Creators that cannot be read or are filtered out are free. 100 hashtags with 10 creators each cost $4.00.

### Limits and notes

- Instagram shows visitors the featured posts of popular hashtags (about 12); niche hashtags may return no public page. Each hashtag therefore yields up to 12 creators per run; schedule the Actor to collect new creators over time.
- Private profiles return their counters but no contacts.
- Only the website or link-in-bio page linked from the profile is read (2 pages); marketplaces and app stores are skipped.
- Runs take about 1 to 2 seconds per creator.

### Related Actors

- **Instagram Email & Contact Scraper**: contacts of profiles you already know.
- **Instagram Hashtag Scraper**: the featured posts of a hashtag.
- **Instagram Profile Scraper**: followers, bio and latest posts.

# Actor input Schema

## `hashtags` (type: `array`):

One per line: travel, #fitness or https://www.instagram.com/explore/tags/nasa/. Instagram shows visitors the featured posts of popular hashtags only. Up to 100 per run.

## `maxInfluencers` (type: `integer`):

Distinct authors of the featured posts, in order of appearance (up to 12).

## `minFollowers` (type: `integer`):

Creators with fewer followers are skipped and not charged. 0 keeps everyone.

## `crawlWebsite` (type: `boolean`):

Open the website or link-in-bio page linked from each profile and collect its emails, phones and social links. Off reads the bio only.

## `product` (type: `string`):

Internal. Leave as is.

## Actor input object example

```json
{
  "hashtags": [
    "travel"
  ],
  "maxInfluencers": 12,
  "minFollowers": 0,
  "crawlWebsite": true,
  "product": "instagram-influencers"
}
```

# Actor output Schema

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

Dataset items: url, changed, events, data, timestamp and error (when the target failed).

# 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 = {
    "hashtags": [
        "travel"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("aolmo/instagram-influencers").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 = { "hashtags": ["travel"] }

# Run the Actor and wait for it to finish
run = client.actor("aolmo/instagram-influencers").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 '{
  "hashtags": [
    "travel"
  ]
}' |
apify call aolmo/instagram-influencers --silent --output-dataset

```

## MCP server setup

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

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/ovP6xII2L8cXZ5HUE/builds/7TbBXOAeL8VhrlWSa/openapi.json
