# Instagram Followers Scraper - Export & Search, No Login (`zaver.api/instagram-followers-scraper`) Actor

Export the followers or following list of any public Instagram account - no login, no cookies. Search inside a follower list, filter by verified or bio, and enrich results with email and follower count. Export to CSV, Excel or JSON, run via API or schedule. For lead gen & influencer research.

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

## Pricing

from $1.99 / 1,000 followers lists

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 Followers Scraper 🚀

**Instagram Followers Scraper** exports the full **followers** or **following** list of any public **Instagram** account — **no login, no cookies, no password**. Pull thousands of followers, **search inside a follower list by keyword**, filter to the accounts you want, and **enrich each result with email, bio and follower count**. Download everything as **CSV, Excel or JSON**, or pull it straight from the **API**.

Built for **lead generation, influencer marketing, competitor research and audience analysis** — get a clean, structured Instagram followers list in minutes.

- ✅ **No login / no cookies** — your Instagram account is never touched or put at risk
- ✅ **Followers *and* following** export for any public profile
- ✅ **Search inside the list** — find matching followers without exporting millions of rows
- ✅ **Email & profile enrichment** for ready-to-use lead lists
- ✅ **Verified / private / bio filters** built in
- ✅ **CSV, Excel, JSON, XML** export + full API, scheduler and integrations
- ✅ **Resumes automatically** if a large run is interrupted — you never pay twice

***

### What does the Instagram Followers Scraper do?

Give it one or more Instagram usernames or profile URLs, choose **followers** or **following**, and it returns one clean row per account. Optionally turn on **enrichment** to add each account's bio, follower counts and public business email — turning a raw follower list into a qualified lead list or an influencer-audience report.

### What data does it extract?

Every row is one follower (or followed account):

| Field | Description | Example |
|---|---|---|
| `username` | Account handle | `spacefan_42` |
| `full_name` | Display name | `Alex Rivera` |
| `user_id` | Numeric Instagram ID | `18428658` |
| `verified` | Blue-check status | `false` |
| `private` | Private account flag | `false` |
| `profile_url` | Direct profile link | `https://www.instagram.com/spacefan_42/` |
| `profile_pic_url` | Avatar image URL | `https://…jpg` |
| `source_username` | Profile this row was scraped from | `nasa` |
| `list_type` | `followers` or `following` | `followers` |

With **profile enrichment** switched on, each row also includes:

| Field | Description | Example |
|---|---|---|
| `followers` | Follower count | `12400` |
| `following` | Following count | `310` |
| `posts` | Number of posts | `98` |
| `biography` | Profile bio | `Founder @ Orbit Labs · space + coffee` |
| `external_url` | Link in bio | `https://orbitlabs.io` |
| `category` | Business / creator category | `Entrepreneur` |
| `is_business` | Business account flag | `true` |
| `public_email` | Public business email (where exposed) | `hello@orbitlabs.io` |
| `public_phone` | Public business phone (where exposed) | `+1 555 0100` |

### Why choose this Instagram Followers Scraper?

- **No login, no cookies, no risk.** You never hand over an Instagram session or password. Nothing here can get *your* account flagged, rate-limited or banned.
- **Search *inside* the follower list.** Unique to this scraper: pass a `searchQuery` and Instagram's own list search returns only the matching accounts — *"followers of @competitor whose name mentions founder"* — in a single request, even on lists with **millions** of followers. No need to export 2M rows to find 200.
- **Resumes where it stopped.** Long exports checkpoint their progress after every batch. If a run is aborted, times out or is migrated, restarting it continues from the last page — you are **never billed twice** for the same rows.
- **Partial results always survive.** Rows are saved page by page, not at the very end, so an interrupted run still leaves you everything scraped so far.
- **Built-in lead-gen filters.** Verified-only, exclude-private, and bio-keyword filters (e.g. keep only accounts whose bio contains `coach` or `shop`). Filtered-out rows are **never billed**.

### How to scrape Instagram followers (step by step)

1. Enter one or more **usernames or profile URLs** (`nasa` or `https://www.instagram.com/nasa/`).
2. Choose **Followers** or **Following**.
3. Set **max results per profile** (up to 100,000 per target).
4. *(Optional)* Add a **search query**, turn on **enrichment**, or set **verified / private / bio** filters.
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
{
  "targets": ["nasa", "natgeo"],
  "scrapeType": "followers",
  "maxResults": 5000,
  "excludePrivate": true,
  "enrichProfiles": true,
  "bioKeywords": ["founder", "ceo"]
}
```

This exports up to 5,000 followers each of **@nasa** and **@natgeo**, drops private accounts, enriches every row with full profile data, and keeps only accounts whose bio mentions *founder* or *ceo* — a ready-made B2B lead list.

#### Example output

```json
{
  "source_username": "nasa",
  "list_type": "followers",
  "username": "orbitlabs",
  "user_id": "18428658",
  "full_name": "Alex Rivera",
  "verified": false,
  "private": false,
  "profile_url": "https://www.instagram.com/orbitlabs/",
  "followers": 12400,
  "following": 310,
  "posts": 98,
  "biography": "Founder @ Orbit Labs · space + coffee",
  "external_url": "https://orbitlabs.io",
  "category": "Entrepreneur",
  "is_business": true,
  "public_email": "hello@orbitlabs.io"
}
```

#### Search inside a follower list

```json
{
  "targets": ["nike"],
  "scrapeType": "followers",
  "searchQuery": "coach",
  "maxResults": 500
}
```

Returns only followers of **@nike** whose username or name matches *coach* — resolved by Instagram's own search, so it works instantly even on a 300M-follower account.

#### 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 '{"targets": ["nasa"], "scrapeType": "followers", "maxResults": 1000}'
```

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

### Pricing — pay only for results

You are billed **per result delivered** to your dataset. Failed lookups, filtered-out rows and private-profile errors cost **nothing**.

| Result type | Price |
|---|---|
| Follower / following record | **$1.99 per 1,000** |
| Enriched record (full profile + email) | **$4.99 per 1,000** |

A 10,000-follower export costs about **$20**, or **$50** fully enriched.

### What can I use an Instagram followers list for?

- **Competitor audience research & lead generation** — export a competitor's followers, filter to business accounts with a public email, and feed your outreach or CRM tool.
- **Influencer marketing & vetting** — pull a creator's followers and confirm the audience is real and relevant before paying for a campaign.
- **Lookalike audience building** — export followers of accounts your customers love and upload them as a custom-audience seed for ads.
- **Community & network mapping** — the `following` export reveals an account's interests, partners and network.
- **Follower growth tracking** — schedule a weekly export and diff snapshots to see who followed and unfollowed over time.

### Frequently asked questions

#### Do I need an Instagram account or login to scrape followers?

No. This Instagram Followers Scraper uses its own managed data infrastructure — **no login, no cookies, no password**. You never provide credentials, so your account is never at risk.

#### Can it scrape followers of a private Instagram account?

No. Followers of private accounts are not publicly accessible. Private targets return a clear error row and are **not billed**.

#### How many followers can I export?

Up to **100,000 per profile** and up to 100 profiles per run by default (both raised on request). Larger lists paginate automatically and resume if interrupted.

#### Can I export the accounts a profile is following?

Yes. Set `scrapeType` to **following** to export the list of accounts a profile follows, with the same fields and filters.

#### Does it get email addresses?

Yes, where available. Turn on **enrichment** and `public_email` is filled for business/creator accounts that expose a public contact email — typically 5–15% of a general audience, and much higher in B2B 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.

#### What happens if a large run is interrupted?

Everything already scraped is safe in the dataset, and the run's resume cursor is saved. Restarting the run continues from the last page — you are never billed twice.

#### Is scraping Instagram followers legal?

This scraper collects only **publicly available** data. You are responsible for using the data in compliance with the laws that apply to you (including **GDPR** and **CCPA**) and Instagram's terms. Do not use exports for spam or harassment.

### Support & roadmap

Found a bug or want a feature? Open an issue on the Actor's **Issues** tab and we'll respond quickly. On the roadmap: **post & comment likers export**, **followers email finder+**, and **fake-follower / account-audit scoring**.

# Actor input Schema

## `targets` (type: `array`):

Usernames or profile URLs of the accounts whose followers (or following) you want. One per line, e.g. <code>nasa</code> or <code>https://www.instagram.com/nasa/</code>. Private accounts cannot be scraped.

## `scrapeType` (type: `string`):

Followers = accounts that follow the target. Following = accounts the target follows.

## `maxResults` (type: `integer`):

How many followers/following to export per target profile. You are billed only for results delivered. Large lists are paginated automatically and the run resumes where it stopped if interrupted.

## `searchQuery` (type: `string`):

Return only followers whose username or name matches this query — resolved by Instagram's own search inside the follower list, so it works even on multi-million lists without exporting them. Example: <code>founder</code>, <code>yoga</code>, a brand name. Leave empty to export the whole list.

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

Keep only verified (blue-check) accounts.

## `excludePrivate` (type: `boolean`):

Drop private accounts from the export — useful for outreach lists, since private accounts can't be messaged from content.

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

Adds follower count, following count, posts, biography, external link, category, business flag and — where the account exposes them — public email and phone. One extra lookup per result, billed at the enriched rate (see pricing).

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

Keep only accounts whose biography contains at least one of these keywords (case-insensitive). Requires enrichment — it is switched on automatically when this is set. Example: <code>founder</code>, <code>coach</code>, <code>shop</code>.

## Actor input object example

```json
{
  "targets": [
    "nasa"
  ],
  "scrapeType": "followers",
  "maxResults": 200,
  "onlyVerified": false,
  "excludePrivate": false,
  "enrichProfiles": false,
  "bioKeywords": []
}
```

# Actor output Schema

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

Every follower/following record produced by this run. One dataset item per account.

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

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

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

Counts for the run: requests made, results returned, errors, and per-target progress.

# 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 = {
    "targets": [
        "nasa"
    ],
    "bioKeywords": []
};

// Run the Actor and wait for it to finish
const run = await client.actor("zaver.api/instagram-followers-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 = {
    "targets": ["nasa"],
    "bioKeywords": [],
}

# Run the Actor and wait for it to finish
run = client.actor("zaver.api/instagram-followers-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 '{
  "targets": [
    "nasa"
  ],
  "bioKeywords": []
}' |
apify call zaver.api/instagram-followers-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,zaver.api/instagram-followers-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/gk7gt2uW03dhakvqb/builds/zvwdwRF3kIIbjZX1L/openapi.json
