# Instagram Likers & Commenters Scraper - Engagement Leads (`zaver.api/instagram-engagers-scraper`) Actor

Export everyone who liked or commented on any public Instagram post - no login. Get post likers, commenters and comment likers, deduplicated into one leads list, enriched with email and follower count. Filter by verified, followers or bio. Export to CSV, JSON or Excel.

- **URL**: https://apify.com/zaver.api/instagram-engagers-scraper.md
- **Developed by:** [Zaver](https://apify.com/zaver.api) (community)
- **Categories:**
- **Stats:** 1 total users, 0 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.20 / 1,000 extract commenters and likers

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 Likers & Commenters Scraper 💬❤️

**Instagram Likers & Commenters Scraper** exports **everyone who engaged** with any public **Instagram** post or reel — **no login, no cookies, no password**. Get **post likers**, **commenters**, and even people who **liked the comments**, all **deduplicated into a single leads list** and tagged with what each person did. Enrich every engager with **email, follower count and bio**, filter to the accounts you want, and export to **CSV, Excel or JSON**.

Built for **lead generation, influencer research, giveaway winner picking and audience analysis** — turn a competitor's engaged audience into your prospect list.

- ✅ **No login / no cookies** — your Instagram account is never touched or put at risk
- ✅ **Likers + commenters + comment likers** across many posts at once
- ✅ **Deduplicated** — one row per person, even across 20 posts
- ✅ Tags **who liked, who commented, and how many posts** they engaged with
- ✅ **Email & profile enrichment** for ready-to-use outreach lists
- ✅ **Verified / follower-size / bio filters** built in
- ✅ **CSV, Excel, JSON, XML** export + full API, scheduler and integrations

***

### What does the Engagers Exporter do?

Paste one or more Instagram post/reel URLs and it collects everyone who engaged — the people who **liked** the post, the people who **commented**, and (optionally) the people who **liked the comments**. It merges them into one clean list with no duplicates, so a person who liked *and* commented (or engaged across several posts) appears once, tagged with everything they did. Turn on enrichment and each row gains follower counts, bio and a public business email — a finished prospect list.

### What data does it extract?

One row per unique engager:

| Field | Description | Example |
|---|---|---|
| `username` | Account handle | `growthmarketer_jo` |
| `full_name` | Display name | `Jordan Lee` |
| `engagement_types` | What they did | `["liked","commented"]` |
| `posts_engaged` | How many of your posts they engaged with | `3` |
| `verified` | Blue-check status | `false` |
| `followers` | Follower count | `8400` |
| `profile_url` | Direct profile link | `https://www.instagram.com/growthmarketer_jo/` |

With **enrichment** on, each row also includes `following`, `posts`, `biography`, `external_url`, `category`, `is_business`, `public_email` and `public_phone`.

### Why choose this engagement scraper?

- **Everyone, deduplicated, in one list.** Most tools scrape likers *or* comments from one post. This one unions likers, commenters and comment-likers across all your posts and returns each person once — the actual "who engages with this brand" list.
- **Comment likers no one else exports.** It can pull the people who *liked the comments* on a post — a warm, high-intent audience that other scrapers ignore.
- **Lead-gen filters + enrichment.** Keep only verified accounts, accounts above a follower threshold, or accounts whose bio matches a keyword — then enrich with email for outreach. Filtered-out people are **never billed**.
- **No login, no cookies, no risk.** Your Instagram account is never used, so it can't be rate-limited or banned.

### How to scrape post likers & commenters (step by step)

1. Paste one or more **post or reel URLs**.
2. Choose **All engagers** (likers + commenters + comment likers) or a single type.
3. Set **max engagers per post** and any **filters** (verified, min followers, bio keywords).
4. *(Optional)* Turn on **enrichment** for emails and full profile data.
5. Click **Start**, then download from the **Storage → Dataset** tab as **CSV, Excel, JSON or XML** — or read it via the API.

#### Example input

```json
{
  "postUrls": [
    "https://www.instagram.com/p/CA2aJYrg6cZ/",
    "https://www.instagram.com/reel/CODE2/"
  ],
  "engagement": "all",
  "maxPerPost": 3000,
  "minFollowers": 1000,
  "bioKeywords": ["founder", "marketer"],
  "enrichProfiles": true
}
```

This exports everyone who engaged with the two posts, dedupes them, keeps only accounts with 1,000+ followers whose bio mentions *founder* or *marketer*, and enriches each with email — a targeted B2B lead list.

#### Example output

```json
{
  "username": "growthmarketer_jo",
  "full_name": "Jordan Lee",
  "engagement_types": ["liked", "commented"],
  "posts_engaged": 3,
  "verified": false,
  "followers": 8400,
  "category": "Marketing Agency",
  "is_business": true,
  "public_email": "jordan@growthco.io",
  "profile_url": "https://www.instagram.com/growthmarketer_jo/"
}
```

#### Run it via the Apify API

```bash
curl "https://api.apify.com/v2/acts/YOUR~ACTOR/runs?token=YOUR_TOKEN" \
  -X POST -H "Content-Type: application/json" \
  -d '{"postUrls": ["https://www.instagram.com/p/CA2aJYrg6cZ/"], "engagement": "all"}'
```

Works with the **Apify SDK** (JavaScript & Python), **scheduled runs**, **webhooks**, and integrations for **Make, Zapier, n8n, Google Sheets, Slack and LangChain**.

### Pricing — pay only for results

You are billed **per unique engager delivered** to your dataset. Failed posts and filtered-out people cost **nothing**.

| Result type | Price |
|---|---|
| Engager (liker / commenter / comment liker) | **$0.0012 per engager** ($1.20 / 1,000) |
| Enriched engager (full profile + email) | **$0.012 per engager** ($12 / 1,000) |

That basic rate is roughly **57% below the category average** — comparable Instagram engagement/comment Actors charge around **$0.0026–0.003 per result** — so you build bigger, deduplicated leads lists for less.

### What can I use engager data for?

- **Competitor audience lead generation** — export everyone engaging with a competitor's posts, filter to business accounts with emails, and load your outreach tool.
- **Warm-audience outreach** — people who liked *and* commented are your most engaged prospects; the `engagement_types` and `posts_engaged` fields rank them for you.
- **Giveaway & contest winners** — pull all commenters (or likers) on a post to pick and verify winners.
- **Influencer & UGC discovery** — find engaged creators in your niche by filtering engagers by follower size and bio.

### Frequently asked questions

#### Do I need to log in?

No. The Actor uses its own managed data infrastructure — **no login, no cookies, no password**. Your account is never used.

#### Can it scrape both likers and commenters at once?

Yes. Choose **All engagers** and it pulls likers, commenters and comment-likers, then deduplicates them into one list with each person tagged by what they did.

#### What are "comment likers"?

People who liked the *comments* on a post — a warm, high-intent audience most scrapers can't reach. This Actor exports them too.

#### Why did I get fewer likers than expected?

Instagram limits liker visibility on large posts (it exposes only a subset of recent likers). Commenters are not capped this way. This is an Instagram limitation, not the Actor.

#### Does it get email addresses?

With enrichment on, `public_email` is filled for business/creator accounts that expose a public contact email — typically higher in B2B and creator niches.

#### What export formats are supported?

**CSV, Excel (XLSX), JSON, JSONL and XML**, plus direct API access and integrations with Make, Zapier, n8n and Google Sheets.

#### Is this legal?

The Actor collects only **publicly available** data. You are responsible for using it in compliance with the laws that apply to you (including **GDPR** and **CCPA**) and Instagram's terms. Don't use exports for spam.

### Support & roadmap

Found a bug or want a feature? Open an issue on the Actor's **Issues** tab. On the roadmap: **story-viewer engagers**, **engagement-rate scoring**, and **direct export to Google Sheets**.

# Actor input Schema

## `postUrls` (type: `array`):

URLs (or shortcodes) of the posts or reels whose engagers you want. One per line, e.g. <code>https://www.instagram.com/p/CA2aJYrg6cZ/</code> or <code>https://www.instagram.com/reel/CODE/</code>.

## `engagement` (type: `string`):

All = likers + commenters + people who liked comments, deduplicated into one leads list. Or pick a single engagement type.

## `maxPerPost` (type: `integer`):

Cap how many engagers to pull from each post for each type. Note: Instagram limits liker visibility on large posts, so likers may return fewer than requested.

## `onlyVerified` (type: `boolean`):

Keep only verified (blue-check) engagers.

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

Keep only engagers with at least this many followers. Requires enrichment, switched on automatically when set. 0 = no minimum.

## `bioKeywords` (type: `array`):

Keep only engagers whose bio contains at least one of these keywords (case-insensitive). Requires enrichment, switched on automatically when set. Example: <code>founder</code>, <code>shop</code>.

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

Add follower/following/post counts, biography, external link, category, business flag and public email to every engager. One extra lookup per engager, billed at the enriched rate (see pricing). Turned on automatically when a follower or bio filter is used.

## Actor input object example

```json
{
  "postUrls": [
    "https://www.instagram.com/p/CA2aJYrg6cZ/"
  ],
  "engagement": "all",
  "maxPerPost": 2000,
  "onlyVerified": false,
  "minFollowers": 0,
  "bioKeywords": [],
  "enrichProfiles": false
}
```

# Actor output Schema

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

One dataset item per unique engager, tagged with what they did and which posts they engaged with.

## `resultsCsv` (type: `string`):

The same records as a CSV download, ready for Excel or Sheets.

## `runSummary` (type: `string`):

Counts for the run: requests, unique engagers, errors, and a breakdown by engagement type.

# 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 = {
    "postUrls": [
        "https://www.instagram.com/p/CA2aJYrg6cZ/"
    ],
    "bioKeywords": []
};

// Run the Actor and wait for it to finish
const run = await client.actor("zaver.api/instagram-engagers-scraper").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 = {
    "postUrls": ["https://www.instagram.com/p/CA2aJYrg6cZ/"],
    "bioKeywords": [],
}

# Run the Actor and wait for it to finish
run = client.actor("zaver.api/instagram-engagers-scraper").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 '{
  "postUrls": [
    "https://www.instagram.com/p/CA2aJYrg6cZ/"
  ],
  "bioKeywords": []
}' |
apify call zaver.api/instagram-engagers-scraper --silent --output-dataset

```

## MCP server setup

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

```

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/d5a2ehuYswtiyHpO3/builds/qReUYi6qtlsz9IHMj/openapi.json
