# Instagram Followers & Following Scraper — Bulk (`toolzerhub/instagram-profile-follower-followee-scraper`) Actor

Collect followers or following lists from one or more public Instagram accounts. Resume large jobs with a cursor and optionally enrich every result with full public profile data.

- **URL**: https://apify.com/toolzerhub/instagram-profile-follower-followee-scraper.md
- **Developed by:** [ToolzerHub](https://apify.com/toolzerhub) (community)
- **Categories:** Social media, Lead generation, Automation
- **Stats:** 41 total users, 2 monthly users, 7.1% runs succeeded, 1 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.90 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
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.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js/docs.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python/docs.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/integrations/mcp.md).

If your project is in a different language, use 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

**Build resumable Instagram follower or following datasets, with optional deep profile enrichment.**

ToolzerHub maintains Instagram Followers & Following Scraper for audience operations where completeness, restartability, and a documented enrichment choice matter. One configuration supports either list direction across one or more seed profiles.

### Define the audience operation

Select followers or following, cap the initial run, and retain the cursor when a large account needs another pass. Deep enrichment should be enabled when the destination workflow genuinely needs profile metadata beyond list identity.

#### Followers

Set List Direction to followers to pull who follows each seed account.

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `profiles` | array | Yes | Instagram accounts to pull the list from |
| `listType` | string | Yes | Which connection list to collect |
| `limit` | integer | No | Stop after this many rows per account (0 = pull the whole list) |

#### Following

Set List Direction to following to pull who each seed account follows.

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `profiles` | array | Yes | Instagram accounts to pull the list from |
| `listType` | string | Yes | Which connection list to collect |
| `limit` | integer | No | Stop after this many rows per account (0 = pull the whole list) |

#### Resume a big pull

Drop a cursor from a prior run's log into Continue From to pick up where it left off.

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `profiles` | array | Yes | Instagram accounts to pull the list from |
| `listType` | string | Yes | Which connection list to collect |
| `continueFrom` | string | No | Paste the token from an earlier run's log (look for '🔖 CONTINUE TOKEN') to resume where it stopped. |

#### Deep enrichment

Turn on Deep Profile Fetch to get a full profile object per row instead of the lightweight summary.

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `deepEnrich` | boolean | No | Swap each row for the account's full public profile (slower, adds a billable event per row) |
| `limit` | integer | No | Stop after this many rows per account (0 = pull the whole list) |

#### Example controlled pull

```json
{
  "profiles": [
    "nasa"
  ],
  "listType": "followers",
  "limit": 20
}
````

### Dataset rows with operational context

#### Account identity

| Field | Type | Description |
| --- | --- | --- |
| `username` | string | Instagram username of the account. |
| `full_name` | string | Display name shown on the profile. |
| `id` | string | Instagram numeric user ID. |
| `is_verified` | boolean | Whether the account is verified (blue badge). |
| `is_private` | boolean | Whether the account is private. |
| `profile_pic_url` | string | Profile picture URL. |

#### Run context

| Field | Type | Description |
| --- | --- | --- |
| `source_username` | string | The account whose followers/followings this record belongs to. |

#### Enrichment

| Field | Type | Description |
| --- | --- | --- |
| `enriched` | boolean | Whether this record was replaced with a full enriched profile. |

#### Result preview

```json
{
  "username": "nasaartemis",
  "full_name": "NASA Artemis",
  "id": "1104426670",
  "is_private": false,
  "is_verified": true,
  "profile_pic_url": "https://instagram.fadd2-1.fna.fbcdn.net/example.jpg",
  "source_username": "nasa",
  "enriched": false
}
```

### Cost and scaling policy

Billing follows Apify's pay-per-result model. You're only charged for rows that land in the dataset, per the pricing shown on this Actor's Pricing tab. Turning on profile enrichment adds its own billable event per record.

Apify's free credits may cover small test pulls, plus whatever free monthly credits your Apify plan includes.

Test with a small result cap first, then scale up once you know the list size you're dealing with.

ToolzerHub recommends approving a small run first, checking seed and list-direction fields, then saving the cursor and enrichment policy with the workflow configuration.

### Responsible audience handling

Both tools only touch public Instagram data — no login walls, no private accounts, no bypassing access controls. Don't use them to harvest private information or to contact people in ways that break privacy law, Instagram's terms, or your own compliance rules. When in doubt, get a lawyer's opinion.

### Run this Actor from code

#### Python

```python
from apify_client import ApifyClient

client = ApifyClient("YOUR_APIFY_API_TOKEN")
run = client.actor("toolzerhub/instagram-profile-follower-followee-scraper").call(run_input={
    "profiles": [
        "nasa"
    ],
    "listType": "followers",
    "limit": 20
})

for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)
```

#### Node.js

```javascript
import { ApifyClient } from "apify-client";

const client = new ApifyClient({ token: "YOUR_APIFY_API_TOKEN" });
const run = await client.actor("toolzerhub/instagram-profile-follower-followee-scraper").call({
  "profiles": [
    "nasa"
  ],
  "listType": "followers",
  "limit": 20
});

const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);
```

### Complementary ToolzerHub Actors

- [Instagram Followers Scraper — No Login](https://apify.com/toolzerhub/instagram-profile-followee-scraper) — Export the complete follower list of one or more public Instagram accounts without providing an Instagram login. Resume large accounts with a cursor and optionally enrich every follower profile.
- [LinkedIn People Search Scraper — No Cookies](https://apify.com/toolzerhub/linkedin-people-search-scraper) — Search LinkedIn people without providing LinkedIn cookies. Find profiles by name, title, company, school, location, industry, and other filters, then paginate structured results.
- [TikTok Shop Products Scraper](https://apify.com/toolzerhub/tiktok-shop-products-scraper) — Search TikTok Shop by keyword with automatic pagination, region support, and an optional detail-enrichment checkbox that adds product, shop, review, voucher, category, and shop-performance data to every saved result.

### ToolzerHub support

Spotted a bug, a missing field, or want a feature? Open an issue on the Actor page and we'll take a look.

Contact: contact@toolzerhub.com

# Actor input Schema

## `profiles` (type: `array`):

Instagram accounts to pull the list from

## `listType` (type: `string`):

Which connection list to collect

## `deepEnrich` (type: `boolean`):

Swap each row for the account's full public profile (slower, adds a billable event per row)

## `limit` (type: `integer`):

Stop after this many rows per account (0 = pull the whole list)

## `continueFrom` (type: `string`):

Paste the token from an earlier run's log (look for '🔖 CONTINUE TOKEN') to resume where it stopped.

## Actor input object example

```json
{
  "profiles": [
    "cristiano"
  ],
  "listType": "followers",
  "deepEnrich": false,
  "limit": 100
}
```

# Actor output Schema

## `dataset` (type: `string`):

Dataset containing all scraped data

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

// Run the Actor and wait for it to finish
const run = await client.actor("toolzerhub/instagram-profile-follower-followee-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 = { "profiles": ["cristiano"] }

# Run the Actor and wait for it to finish
run = client.actor("toolzerhub/instagram-profile-follower-followee-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "profiles": [
    "cristiano"
  ]
}' |
apify call toolzerhub/instagram-profile-follower-followee-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=toolzerhub/instagram-profile-follower-followee-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Instagram Followers & Following Scraper — Bulk",
        "description": "Collect followers or following lists from one or more public Instagram accounts. Resume large jobs with a cursor and optionally enrich every result with full public profile data.",
        "version": "0.1",
        "x-build-id": "BWPpP6pGt8huRa57D"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/toolzerhub~instagram-profile-follower-followee-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-toolzerhub-instagram-profile-follower-followee-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/toolzerhub~instagram-profile-follower-followee-scraper/runs": {
            "post": {
                "operationId": "runs-sync-toolzerhub-instagram-profile-follower-followee-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/toolzerhub~instagram-profile-follower-followee-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-toolzerhub-instagram-profile-follower-followee-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "profiles",
                    "listType"
                ],
                "properties": {
                    "profiles": {
                        "title": "Accounts",
                        "type": "array",
                        "description": "Instagram accounts to pull the list from",
                        "items": {
                            "type": "string"
                        }
                    },
                    "listType": {
                        "title": "List Direction",
                        "enum": [
                            "followers",
                            "followings"
                        ],
                        "type": "string",
                        "description": "Which connection list to collect",
                        "default": "followers"
                    },
                    "deepEnrich": {
                        "title": "Deep Profile Fetch",
                        "type": "boolean",
                        "description": "Swap each row for the account's full public profile (slower, adds a billable event per row)",
                        "default": false
                    },
                    "limit": {
                        "title": "Result Cap",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Stop after this many rows per account (0 = pull the whole list)",
                        "default": 100
                    },
                    "continueFrom": {
                        "title": "Continue From Cursor",
                        "type": "string",
                        "description": "Paste the token from an earlier run's log (look for '🔖 CONTINUE TOKEN') to resume where it stopped."
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
