# Instagram Related Profiles Scraper - Similar Accounts, No Login (`parseforge/instagram-related-profiles-scraper`) Actor

Find accounts similar to any Instagram profile with followers, bio, links and verified badge, chained up to 5 levels deep. Export to CSV, Excel, JSON or XML.

- **URL**: https://apify.com/parseforge/instagram-related-profiles-scraper.md
- **Developed by:** [ParseForge](https://apify.com/parseforge) (community)
- **Categories:** Social media, Lead generation, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.80 / 1,000 related profiles

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/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

![ParseForge Banner](https://raw.githubusercontent.com/ParseForge/apify-assets/main/banner-v4.webp)

## 🔗 Instagram Related Profiles Scraper

> 🚀 **Find the accounts Instagram itself considers similar to any profile, in seconds.** Enter a username and get back up to 50 related accounts per profile, each with followers, bio, website, verified badge and Threads handle, then chain the search up to 5 levels deep to map a whole niche. 300 enriched accounts took 28 seconds in our test run.

This Actor reads the "Accounts you might like" list that Instagram shows under a profile to anyone who opens it without logging in. That list is Instagram's own similarity ranking: for @natgeo it returns Animal Planet, PBS Nature, National Geographic Society and NASA Goddard, in that order. The Actor keeps the order as a `rank` column, adds each account's public profile details, and can follow the suggestions outward level by level while recording the path that led to every account.

Every row has 24 fields: identity, audience size, bio and links, activity flags (active story, reels), and the discovery context (seed, suggested by, level, rank, full path). No login, no cookie, no session token, and it works on business and creator accounts where Instagram's older profile endpoint fails.

| 🎯 Target Audience | 💡 Primary Use Cases |
|---|---|
| Influencer marketing teams | Find lookalike creators for a brand that already works |
| Social media agencies | Map the competitive set around a client's account |
| Brands and growth marketers | Build partnership and collaboration shortlists |
| Sales and lead generation | Turn one great account into a list of similar prospects |
| Market and audience researchers | Chart who sits next to whom in a niche |
| Data and ML teams | Collect similarity graphs for recommendation research |

### 📋 What the Instagram Related Profiles Scraper does

1. Accepts Instagram usernames, @handles or profile URLs as seed accounts.
2. Looks up each seed and reads Instagram's related-accounts list for it: up to 50 accounts, in Instagram's own ranking order.
3. Adds each related account's public profile: followers, following, bio, bio links, website, privacy, Threads handle, active story and reels flags.
4. Applies your filters: verified only, private accounts out, follower minimum and maximum.
5. With **Chain depth** above 0, repeats the search for the top related accounts of each profile, level by level, never returning the same account twice.
6. Writes one row per related account with the seed, the account that suggested it, the level, the rank and the full path.

> 💡 **Why it matters:** a keyword search tells you who uses a word; Instagram's related list tells you who shares an audience. That is the list brands actually want when they ask "who else is like this creator?", and it comes ranked by Instagram's own model instead of a guess.

### 🎬 Full Demo (🚧 Coming soon)

### 📊 Output

Each dataset row is one related account. 24 columns per row.

| Field | Type | Description |
|---|---|---|
| 🖼 `imageUrl` | string | Profile photo |
| 👤 `username` | string | Instagram username |
| 📌 `fullName` | string | Display name |
| 🔗 `url` | string | Profile URL |
| 🆔 `id` | string | Instagram user ID |
| ✅ `isVerified` | string | `Yes` or `No` |
| 🔒 `isPrivate` | string | `Yes` or `No` |
| 👥 `followerCount` | number | Followers |
| ➡️ `followingCount` | number | Accounts followed |
| 📝 `biography` | string | Bio text |
| 🌐 `externalUrl` | string | First link in the bio |
| 🧵 `threadsUsername` | string | Threads handle shown on the profile |
| ⭕ `hasActiveStory` | string | `Yes` when a story was posted in the last 24 hours |
| 🎬 `hasReels` | string | `Yes` when the account has reels |
| 🕯 `isMemorialized` | string | `Yes` for memorialized accounts |
| 🌱 `seedUsername` | string | The seed account this row descends from |
| 🔎 `discoveredFrom` | string | The account whose related list contained this one |
| 📶 `depth` | number | 1 = related to the seed, 2 = related to a related account, and so on |
| 🏅 `rank` | number | Position in Instagram's related list (1 = most similar) |
| 🔗 `bioLinks` | array | Every bio link with its title |
| 💬 `pronouns` | array | Pronouns shown on the profile |
| 🧭 `chainPath` | array | Accounts from the seed down to the one that suggested this row |
| 🕒 `scrapedAt` | string | When the row was collected |
| ❌ `error` | string | Populated only on failed rows |

Profile details show `N/A` when **Add profile details** is off, and `Not Disclosed` when the account has not published that item.

#### Real sample records

```json
{
  "imageUrl": "https://scontent-iad3-2.cdninstagram.com/v/t51.2885-19/471307838_1123917355849999_3742640417869698375_n.jpg?stp=dst-jpg_s150x150_tt6&_nc_cat=105&ccb=7-5&_nc_sid=f7ccc5&efg=eyJ2ZW5jb2RlX3RhZyI6InByb2ZpbGVfcGljLnd3dy44MDAuQzMifQ%3D%3D&_nc_ohc=mmA6WgGm4SsQ7kNvwGzJvPq&_nc_oc=AdqrmoBE0jY1TaRZnn8eEwZOihKUYjiy6zfeeD_eiTJ3xA0TKDs5DW4acK9s_2rzTJk&_nc_zt=24&_nc_ht=scontent-iad3-2.cdninstagram.com&_nc_ss=7f689&oh=00_AQLwFNdUbAqrEDvHLmmLj8GmkT9WQVY4gYWm3VyE55mQPQ&oe=6ABB50C3",
  "username": "animalplanet",
  "fullName": "Animal Planet",
  "url": "https://www.instagram.com/animalplanet/",
  "id": "378353537",
  "isVerified": "Yes",
  "isPrivate": "No",
  "followerCount": 5391467,
  "followingCount": 863,
  "biography": "Keeping the childhood joy and wonder of animals alive.",
  "externalUrl": "http://puppybowl.com",
  "threadsUsername": "animalplanet",
  "hasActiveStory": "No",
  "hasReels": "Yes",
  "isMemorialized": "No",
  "seedUsername": "natgeo",
  "discoveredFrom": "natgeo",
  "depth": 1,
  "rank": 1,
  "bioLinks": [
    { "title": "", "url": "http://puppybowl.com" },
    { "title": "11-in-1 Smartphone Lens Kit", "url": "https://amzlink.to/az0eWa4Wz47di" }
  ],
  "pronouns": [],
  "chainPath": ["natgeo"],
  "scrapedAt": "2026-09-24T19:25:42.300Z",
  "error": null
}
```

```json
{
  "username": "marcusrashford",
  "fullName": "MR",
  "url": "https://www.instagram.com/marcusrashford/",
  "id": "182044648",
  "isVerified": "Yes",
  "isPrivate": "No",
  "followerCount": 22318810,
  "followingCount": 298,
  "biography": "England ⚽",
  "externalUrl": "Not Disclosed",
  "threadsUsername": "marcusrashford",
  "hasActiveStory": "No",
  "hasReels": "Yes",
  "seedUsername": "leomessi",
  "discoveredFrom": "leomessi",
  "depth": 1,
  "rank": 1,
  "bioLinks": [],
  "chainPath": ["leomessi"],
  "scrapedAt": "2026-09-24T19:25:42.402Z",
  "error": null
}
```

```json
{
  "username": "natgeobooks",
  "fullName": "Nat Geo Books",
  "url": "https://www.instagram.com/natgeobooks/",
  "id": "57601166705",
  "isVerified": "Yes",
  "isPrivate": "No",
  "followerCount": 140246,
  "followingCount": 186,
  "biography": "We've been exploring the world since 1888, and we make books about everything we see. Official Instagram account of @natgeo Books.",
  "externalUrl": "https://shorturl.at/fLMUV",
  "threadsUsername": "Not Disclosed",
  "hasActiveStory": "Yes",
  "hasReels": "Yes",
  "seedUsername": "natgeo",
  "discoveredFrom": "animalplanet",
  "depth": 2,
  "rank": 1,
  "bioLinks": [{ "title": "shop", "url": "https://shorturl.at/fLMUV" }],
  "chainPath": ["natgeo", "animalplanet"],
  "scrapedAt": "2026-09-24T19:25:54.633Z",
  "error": null
}
```

### ✨ Why choose this Actor

- **Instagram's own ranking, kept.** The `rank` column is the position in Instagram's related list, so you can take the top 10 most similar accounts instead of an unordered pile.
- **Profile details included at no extra charge.** Followers, following, bio, website, all bio links, Threads handle, active story and reels flags come on every row, with no enrichment add-on to switch on and pay for.
- **Works on business and creator accounts.** Instagram's older profile endpoint fails with a server error on accounts that carry a business sub-category, including @natgeo and @leomessi. This Actor reads the related list through the source the public profile page uses, which has no such gap.
- **Network discovery with the path.** Chain up to 5 levels. Every account appears once, and `chainPath` shows how it was reached, so a level-3 result is explainable.
- **Fair across seeds.** With several seeds and a small limit, results are interleaved by rank (every seed's #1, then every #2), so no seed is starved.
- **Filters that do not bill you.** Verified only, private accounts out, follower minimum and maximum. Accounts your filters drop are never charged.
- **No credentials.** You never hand over an Instagram login or a session cookie, so no account of yours is ever at risk.
- **Fast and light.** Plain HTTP against Instagram's public web endpoints, no browser. 300 enriched accounts in 28 seconds in our test.

### 📈 How it compares to alternatives

| | This Actor | Tools built on Instagram's older profile endpoint | Cookie based scrapers | Manual research |
|---|---|---|---|---|
| Requires your Instagram login | No | No | Yes | Yes |
| Related accounts per profile | Up to 50, ranked | Up to 50 where the endpoint answers | Varies | What you can scroll |
| Business accounts with a sub-category | Supported | Server error | Supported | Yes |
| Profile details per account | Included | Often a paid add-on | Varies | Slow |
| Multi-level discovery with path | Up to 5 levels | Some | Some | No |
| Small accounts (under 250k followers) | Few or none, see below | Few or none | Yes | Yes |
| Account risk | None | None | Your account can be flagged | None |

Instagram computes the related list it shows to logged-out visitors mainly for larger accounts. In our measurement on 42 accounts: accounts with over 1M followers returned a median of 41 related accounts (none returned zero), 250k to 1M a median of 4, and most accounts under 250k returned none. If your seeds are small creators, start from a larger account in the same niche and use **Chain depth** to reach the smaller ones.

### 🚀 How to use

1. Create a free Apify account. New accounts include $5 of free platform credit, which is plenty to try this out: [console.apify.com/sign-up](https://console.apify.com/sign-up?fpr=vmoqkp)
2. Open the Actor and go to the Input tab.
3. Add one or more seed accounts: `natgeo`, `@leomessi` or `https://www.instagram.com/nasa/` all work.
4. Set how many related accounts to collect with **Max Items**.
5. Optionally add filters (verified only, private out, follower range) and a **Chain depth** to explore beyond the first level.
6. Click **Start**. The log prints how many accounts each profile suggests as it goes.
7. Open the **Dataset** tab and download as CSV, Excel, JSON or XML, or pull it from the API.

```json
{
  "usernames": ["natgeo", "leomessi"],
  "maxItems": 500,
  "chainDepth": 1,
  "expandPerProfile": 10,
  "minFollowers": 50000,
  "maxFollowers": 2000000
}
```

### 💼 Business use cases

#### Lookalike creators for influencer campaigns

A creator who delivered for your brand is the best brief you have. Seed the Actor with that account, set **Max followers** to your budget tier, and get Instagram's own list of similar creators with follower counts, bios and websites, ranked by similarity. Chain one level to widen the pool while `chainPath` shows why each name is there.

#### Competitive landscape for agencies

Seed a client's account and its two closest competitors. The interleaved output shows which accounts Instagram groups them with, which ones appear for all three seeds, and where the client's audience overlaps with brands it is not yet tracking.

#### Partnership and collaboration pipelines

Brands looking for co-marketing partners can start from their own account and keep verified accounts with a website. `externalUrl` and `bioLinks` point straight to the partner's store, press page or booking link, ready for a CRM.

#### Prospect lists from one great customer

Sales teams selling to Instagram-first businesses can seed a best customer and get a ranked list of similar businesses, with audience size to qualify them and bio links to find the contact route.

### 🔌 Automating Instagram Related Profiles Scraper

- **Make** and **Zapier**: run the Actor when a new creator is added to your roster and push the related accounts into a review board.
- **Slack**: post each run's top-ranked new accounts into a campaign channel.
- **Airbyte**: sync datasets into Snowflake, BigQuery or Postgres and build a niche graph over time.
- **GitHub**: schedule runs from Actions and keep versioned snapshots of how Instagram's suggestions change.
- **Google Drive**: drop a CSV or Google Sheet into a shared folder after every run.
- **API and webhooks**: every run emits a dataset ID; subscribe to the run succeeded webhook and pull the rows into any system.

### 🌟 Beyond business use cases

- **Research**: study how Instagram clusters accounts by topic, language or region using `chainPath` and `depth`.
- **Personal**: discover new accounts similar to the ones you already enjoy.
- **Non-profit**: find organisations and advocates working on the same cause to build coalitions.
- **Experimentation**: the seed, suggested-by and rank columns form a clean weighted graph for network analysis and recommendation experiments.

### 🤖 Ask an AI assistant about this scraper

Paste this into ChatGPT, Claude or any assistant to get help designing your run:

> I am using the ParseForge Instagram Related Profiles Scraper on Apify. It takes Instagram seed accounts and returns one row per related account (Instagram's "Accounts you might like" list, up to 50 per profile, ranked) with 24 fields including username, fullName, isVerified, isPrivate, followerCount, followingCount, biography, externalUrl, bioLinks, threadsUsername, seedUsername, discoveredFrom, depth, rank and chainPath. It can chain up to 5 levels and filter by verified, private and follower range. Larger accounts return more related accounts than small ones. Help me design a run to answer this question: \[your question here].

### ❓ Frequently Asked Questions

**🔐 Do I need an Instagram account or cookie?**
No. The Actor reads only what Instagram shows to a logged-out visitor. You never supply credentials, so no account of yours is exposed.

**🧭 Where does the related list come from?**
From the "Accounts you might like" block Instagram renders under a public profile for logged-out visitors. The order is Instagram's own, and `rank` preserves it.

**📉 Why did my seed return few or no related accounts?**
Instagram computes this list for logged-out visitors mainly for larger accounts. In our measurement, accounts over 1M followers returned a median of 41, accounts from 250k to 1M a median of 4, and most accounts under 250k returned none. Start from a bigger account in the same niche and use **Chain depth** to reach smaller ones.

**🔢 How many related accounts can I get per profile?**
Up to 50, which is Instagram's own cap. For more, raise **Chain depth**: each level explores the top related accounts of the previous one.

**💳 Am I charged for accounts my filters remove?**
No. Only rows written to the dataset are charged. Accounts dropped by the verified, private or follower filters, and error rows, are free.

**➕ Do profile details cost extra?**
No. Followers, bio, links and the other profile fields are included in the same price. Turning **Add profile details** off only makes the run faster.

**🏢 Does it work for business and brand accounts?**
Yes. That includes accounts with a business sub-category, which Instagram's older profile endpoint rejects with a server error.

**📧 Does it return business emails or phone numbers?**
No. Instagram does not include business contact fields in anything it shows to logged-out visitors, so the Actor does not invent them. Bio links and the website are included.

**🔁 Can the same account appear twice?**
No. Each account is returned once per run, attributed to the first path that reached it.

**⏱ How long does a run take?**
About 30 seconds for 300 accounts with profile details in our test.

**🌐 Do I need a proxy?**
Usually not. The Actor connects directly and switches itself to a residential proxy if Instagram starts throttling mid-run. Avoid datacenter proxies: Instagram refuses them on this surface.

**📥 What export formats are supported?**
CSV, Excel, JSON, XML, plus direct API access and integrations with Make, Zapier, Airbyte, Slack, Google Drive and more.

**⚖️ Is this legal?**
The Actor collects publicly available profile information that Instagram shows to any visitor. You remain responsible for how you use the data, including compliance with GDPR, CCPA and Instagram's terms.

### 🔌 Integrate with any app

Every run writes to an Apify dataset reachable through a REST API, so the output drops into whatever you already use. Native integrations cover Make, Zapier, Airbyte, Slack, Google Drive, GitHub, Google Sheets and webhooks, and the API covers everything else.

### 🔗 Recommended Actors

- [Instagram Profile Scraper - Bio, Links & Counts](https://apify.com/parseforge/instagram-profile-scraper) - full profiles for the accounts you shortlist.
- [Instagram Posts Scraper - 47 Fields, Engagement Scores](https://apify.com/parseforge/instagram-posts-scraper) - check how the related accounts actually perform.
- [Instagram Reel Scraper - Views, Audio & Captions](https://apify.com/parseforge/instagram-reel-scraper) - reel views and audio for creator vetting.
- [Instagram Search Scraper - Users, Tags & Places](https://apify.com/parseforge/instagram-search-scraper) - find seed accounts by keyword.
- [TikTok Profile Scraper - Bio, Counts & Videos](https://apify.com/parseforge/tiktok-profile-scraper) - check the same creators on TikTok.

> 💡 **Pro Tip:** browse the complete [ParseForge collection](https://apify.com/parseforge).

**🆘 Need Help?** [Open our contact form](https://tally.so/r/BzdKgA)

> **⚠️ Disclaimer:** independent tool, not affiliated with Instagram or Meta; only publicly available data.

# Actor input Schema

## `usernames` (type: `array`):

Seed accounts to find related profiles for. Usernames (natgeo), handles (@natgeo) or profile URLs (https://www.instagram.com/natgeo/) all work.

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

Free users: Limited to 10 items (preview). Paid users: Optional, max 1,000,000

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

Adds follower and following counts, bio, bio links, privacy, Threads handle, active story and reels flags to every related account, at no extra charge. Turn off only if you just need usernames and want the fastest run.

## `verifiedOnly` (type: `boolean`):

Keep only accounts with the blue verified badge.

## `skipPrivate` (type: `boolean`):

Leave out private accounts. Needs profile details (switched on automatically).

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

Keep only accounts with at least this many followers. 0 = no minimum. Needs profile details (switched on automatically). Accounts left out are not charged.

## `maxFollowers` (type: `integer`):

Keep only accounts with at most this many followers, e.g. 100000 for micro-influencers. 0 = no maximum. Needs profile details (switched on automatically).

## `chainDepth` (type: `integer`):

0 = only the accounts Instagram suggests for your seeds. 1 = also the accounts suggested for those, and so on up to 5 levels. Every account appears once, with the path that found it.

## `expandPerProfile` (type: `integer`):

In chain mode, how many of each profile's related accounts (Instagram's top-ranked first) are explored at the next level. Lower = tighter niche, higher = broader map.

## `proxyConfiguration` (type: `object`):

Not needed in most runs: the Actor connects directly and switches itself to a residential proxy if Instagram starts throttling. Set one here only to force a specific proxy. Avoid datacenter proxies, Instagram refuses them on this surface.

## Actor input object example

```json
{
  "usernames": [
    "natgeo"
  ],
  "maxItems": 10,
  "enrichProfiles": true,
  "verifiedOnly": false,
  "skipPrivate": false,
  "chainDepth": 0,
  "expandPerProfile": 10,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# Actor output Schema

## `overview` (type: `string`):

Account, followers, bio and discovery path

## `fullData` (type: `string`):

Complete dataset with all 24 fields

# 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 = {
    "usernames": [
        "natgeo"
    ],
    "maxItems": 10
};

// Run the Actor and wait for it to finish
const run = await client.actor("parseforge/instagram-related-profiles-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 = {
    "usernames": ["natgeo"],
    "maxItems": 10,
}

# Run the Actor and wait for it to finish
run = client.actor("parseforge/instagram-related-profiles-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 '{
  "usernames": [
    "natgeo"
  ],
  "maxItems": 10
}' |
apify call parseforge/instagram-related-profiles-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,parseforge/instagram-related-profiles-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/c79e2ytOlAbPI0guk/builds/u7oO42kgfSABSOFi6/openapi.json
