# Instagram Post Engagers Lead List - Commenters & Likers (`seemuapps/instagram-post-engagers-lead-list`) Actor

Export everyone who commented on or liked a set of Instagram posts as one deduplicated lead list - engagement counts per person plus bio, follower count, website and public contact details.

- **URL**: https://apify.com/seemuapps/instagram-post-engagers-lead-list.md
- **Developed by:** [Andrew](https://apify.com/seemuapps) (community)
- **Categories:**
- **Stats:** 2 total users, 1 monthly users, 33.3% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $5.00 / 1,000 engager returneds

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?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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.
Actors are written with capital "A".

## 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.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## Instagram Post Engagers Lead List - Commenters & Likers

Turn the people engaging with any Instagram posts into a ready-to-use lead list. Paste post URLs - or just a username to use their latest posts - and get every commenter and liker combined into one de-duplicated list, ranked by how much they engaged, with each person's bio, follower count, website, business category and public email or phone attached. No login required.

Export straight to CSV, Excel or Google Sheets, or push it into your CRM.

### What you get

One row per unique person:

- **username**, **fullName**, **profileUrl**, **profilePicUrl**, **isVerified**, **isPrivate**
- **engagementScore** - comments count 3 points, likes count 1 - plus **engagementCount**, **postsEngaged**, **comments**, **likes**
- **sampleComments** - up to three of the things they actually said
- **lastEngagedAt** - when they last commented
- **engagedPostUrls** and a full **engagements** list (post, type, comment text, timestamp, comment likes)
- With **Enrich profiles** on: **biography**, **followersCount**, **followingCount**, **postsCount**, **isBusiness**, **category**, **externalUrl**, **publicEmail**, **publicPhone**, **city**

Results are sorted most-engaged first, so your warmest leads are at the top.

### Use cases

- **Lead generation** - people commenting on your product posts, a competitor's launch or an industry account are already interested; reach out to them
- **Competitor audience mining** - see who engages with a rival's last 12 posts and which of them are businesses
- **Influencer and UGC sourcing** - find engaged creators with a real following in a niche account's comments
- **Superfan identification** - set **Minimum posts engaged** to 2 or more to find people who keep coming back
- **Giveaway and campaign follow-up** - pull everyone who engaged with a campaign post and export them in one click
- **Community research** - analyse who an audience is made of by follower size, business type and location

### How to use

1. Paste one or more **Post URLs** (posts or Reels), or enter a **profile username** and choose how many **Recent posts to use**.
2. Choose whether to include **commenters**, **likers**, or both, and set **Max comments per post** for long threads.
3. Optionally set **Minimum posts engaged** to keep only repeat engagers, and leave **Exclude post authors** on.
4. Leave **Enrich profiles** on to add bio, follower count, website and public contact details to every returned person.
5. Set **Max engagers** (default 500) and run - the most engaged people are returned first.

### Output format

Each dataset record:

```json
{
  "userId": "4032845731",
  "username": "hulu",
  "fullName": "Hulu",
  "profileUrl": "https://www.instagram.com/hulu/",
  "profilePicUrl": "https://scontent.cdninstagram.com/...",
  "isVerified": true,
  "isPrivate": false,
  "engagementScore": 6,
  "engagementCount": 2,
  "postsEngaged": 2,
  "comments": 2,
  "likes": 0,
  "engagementTypes": ["comment"],
  "engagedPostUrls": ["https://www.instagram.com/p/Dbru79IAdH-/", "https://www.instagram.com/p/DbIdlf0j6uA/"],
  "sampleComments": ["he’s just a young cub 🥺", "three of our favorite words 🤩"],
  "lastEngagedAt": "2026-08-06T16:09:12.000Z",
  "biography": "The game plan? Binge.",
  "followersCount": 3145909,
  "followingCount": 312,
  "postsCount": 11503,
  "isBusiness": true,
  "category": "Media",
  "externalUrl": "http://hulu.com/perks",
  "publicEmail": "support@hulu.com",
  "publicPhone": "+18554858326",
  "city": null,
  "engagements": [
    {
      "postUrl": "https://www.instagram.com/p/Dbru79IAdH-/",
      "type": "comment",
      "commentId": "18041234567890123",
      "text": "he’s just a young cub 🥺",
      "createdAt": "2026-08-06T16:09:12.000Z",
      "likeCount": 14
    }
  ]
}
```

### Pricing

Three small events: one per post scanned, one per page of comments read (about 20 comments), and one per person returned. Lower **Max comments per post** or turn off **Include commenters** for the cheapest runs; the per-person price is the same whether or not you enrich profiles.

### Tips

- Commenters are far warmer leads than likers. Turn **Include likers** off for a smaller, higher-intent list.
- Instagram only exposes a recent slice of likers on very popular posts, so liker counts will be lower than the post's like total.
- Use a competitor's **username** with 12-24 recent posts to build an audience list without hunting for individual post URLs.
- **publicEmail** and **publicPhone** are only present for business and creator accounts that chose to show them.

### FAQ

**Does this work on private accounts?**
No. Posts must be public. Private engagers still appear in the list, but their profile enrichment is limited to what Instagram shows publicly.

**Why are some people listed with zero likes and zero comments?**
They are never returned that way - every row has at least one engagement. If you see low scores it is because the person liked once.

**Can I run it on a schedule?**
Yes. Run it weekly on a competitor's username and merge the exports to track who keeps engaging.

# Actor input Schema

## `posts` (type: `array`):

Instagram post or Reel URLs (or bare shortcodes), one per line, up to 50. Engagers are combined and de-duplicated across all of them.

## `username` (type: `string`):

Optional. Instead of (or in addition to) listing posts, pull the most recent posts of this public profile and collect their engagers.

## `postsPerProfile` (type: `integer`):

How many of the profile's most recent posts to scan when a username is given.

## `includeCommenters` (type: `boolean`):

Collect everyone who commented on the posts (weighted 3x in the engagement score).

## `includeLikers` (type: `boolean`):

Collect everyone who liked the posts (weighted 1x). Instagram only exposes a recent slice of likers for very popular posts.

## `maxCommentsPerPost` (type: `integer`):

Stop reading a post's comments after this many. Higher values cost more on long threads.

## `minPostsEngaged` (type: `integer`):

Only keep people who engaged with at least this many different posts - set to 2 or more to find repeat fans.

## `excludePostAuthors` (type: `boolean`):

Drop the accounts that published the posts (they usually reply in their own comments).

## `enrichProfiles` (type: `boolean`):

Look up each returned person's full profile - bio, follower and post counts, business category, website, public email and phone.

## `maxItems` (type: `integer`):

Maximum people to return, most engaged first. 0 = no limit.

## Actor input object example

```json
{
  "posts": [
    "https://www.instagram.com/p/DdKM-DrlOAF/"
  ],
  "postsPerProfile": 12,
  "includeCommenters": true,
  "includeLikers": true,
  "maxCommentsPerPost": 200,
  "minPostsEngaged": 1,
  "excludePostAuthors": true,
  "enrichProfiles": true,
  "maxItems": 500
}
```

# Actor output Schema

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

One record per engager: userId, username, fullName, profileUrl, isVerified, isPrivate, engagementScore, engagementCount, postsEngaged, comments, likes, sampleComments, lastEngagedAt, plus biography, followersCount, followingCount, postsCount, isBusiness, category, externalUrl, publicEmail, publicPhone, city when enriched, and the per-post engagements list.

# 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 = {
    "posts": [
        "https://www.instagram.com/p/DdKM-DrlOAF/"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("seemuapps/instagram-post-engagers-lead-list").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 = { "posts": ["https://www.instagram.com/p/DdKM-DrlOAF/"] }

# Run the Actor and wait for it to finish
run = client.actor("seemuapps/instagram-post-engagers-lead-list").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 '{
  "posts": [
    "https://www.instagram.com/p/DdKM-DrlOAF/"
  ]
}' |
apify call seemuapps/instagram-post-engagers-lead-list --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,seemuapps/instagram-post-engagers-lead-list"
        }
    }
}

```

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/ezXHOf0WEaWgez8dq/builds/hX1kpFebZp7BEyYNh/openapi.json
