# Instagram Similar Accounts Scraper · No Login (`data-slayer/instagram-related-profiles-scraper`) Actor

Find Instagram accounts related to seed profiles. Export direct suggestions with stable IDs, seed attribution, and source order. No Instagram login required. JSON, CSV, or Excel.

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

## Pricing

from $1.50 / 1,000 results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.
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?

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 Similar Accounts Scraper · No Login

Start with public Instagram profiles and export the direct related accounts Instagram suggests, with stable profile IDs, seed attribution, and source order.

### Watch the demo

YouTube video coming soon.

### What this Actor does

This Actor turns each seed username or profile URL into an ordered list of Instagram-suggested related profiles. Every row tells you which seed produced the suggestion, its original suggestion rank, and the related account's stable Instagram ID.

The scope is intentionally narrow: **direct suggestions only**. It does not recursively crawl the suggestion graph, calculate semantic similarity, measure audience overlap, or infer demographics.

### Quickstart

1. Enter one or more public Instagram usernames or profile URLs in **Seed profiles**.
2. Choose how many direct suggestions to keep per seed.
3. Start the run, then export the dataset as JSON, CSV, or Excel.

### Input

| Field | Type | Default | Description |
|---|---|---:|---|
| `seedProfiles` | `string[]` | — | One to 20 unique Instagram usernames or profile URLs. At least one is required. |
| `maxResultsPerSeed` | integer | `20` | Keep the first 1–80 unique suggestions per seed. |

```json
{
  "seedProfiles": ["natgeo", "https://www.instagram.com/nasa/"],
  "maxResultsPerSeed": 20
}
```

Legacy API integrations can continue sending `usernames` or `username` and `maxResults`. New runs should use the two fields above.

### Output

The default dataset contains one row per unique suggestion within each seed. If two seeds both suggest the same account, both relationships remain in the dataset with their own attribution. Duplicates inside one seed are removed by stable Instagram ID while Instagram's original ordering is preserved.

```json
{
  "seed_input": "natgeo",
  "seed_username": "natgeo",
  "source_username": "natgeo",
  "seed_input_index": 0,
  "suggestion_rank": 1,
  "relationship_type": "instagram_suggested",
  "related_id": "25025320",
  "related_username": "instagram",
  "related_profile_url": "https://www.instagram.com/instagram/",
  "id": "25025320",
  "username": "instagram",
  "full_name": "Instagram",
  "is_private": false,
  "is_verified": true,
  "profile_pic_url": "https://scontent.example/profile.jpg"
}
```

`RUN_SUMMARY` in the default key-value store records each seed's `success`, `no_results`, `not_found`, or `lookup_failed` status, received and emitted counts, duplicate counts, and whether the customer's budget limit stopped the run. Failure details use fixed functional codes and messages. Empty and error states are never disguised as successful dataset results.

### Pricing and billable unit

The current Actor price remains one synthetic `apify-default-dataset-item` event for each suggestion row actually written to the default dataset, plus the existing small Actor-start event. The platform enforces customer run budgets before accepting another billable row.

| Apify plan | Price per result | Price per 1,000 results |
|---|---:|---:|
| Free | $0.00250 | $2.50 |
| Bronze | $0.00217 | $2.17 |
| Silver | $0.00183 | $1.83 |
| Gold | $0.00150 | $1.50 |
| Platinum | $0.00150 | $1.50 |
| Diamond | $0.00150 | $1.50 |

In other words, the Free-plan rate is **$2.50 per 1,000** delivered suggestion rows.

### Common use cases

- Discover creators and brands adjacent to accounts you already know.
- Build seed-attributed prospect lists for research or outreach preparation.
- Map direct account suggestions without turning the run into a recursive crawl.

### API and automation

Run the Actor from Apify Console, API, schedules, webhooks, or integrations. Results are available from the default dataset as JSON, CSV, Excel, and other Apify-supported exports. Use `related_id` as the stable account identity and the pair `(seed_username, related_id)` as the stable relationship key.

The same input object shown above can be sent through the Apify API:

```bash
curl -X POST \
  "https://api.apify.com/v2/acts/data-slayer~instagram-related-profiles-scraper/runs?token=<APIFY_TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{"seedProfiles":["natgeo","nasa"],"maxResultsPerSeed":20}'
```

### Limits and behavior

- Public profiles only; unavailable or restricted seeds can return `not_found`.
- Up to 20 unique seeds, 80 kept suggestions per seed, and 500 delivered rows per run.
- The Actor requests one bounded direct suggestion set per unique seed. A logical lookup can use up to three HTTP attempts on transient rate-limit, server, or network failures; it never follows suggestion pages or recurses.
- Profile picture and external URLs can expire or redirect.

### FAQ

#### Are these direct suggestions or a recursive network?

Direct suggestions only. The Actor processes one bounded suggestion set for each seed and does not use suggested accounts as new seeds.

#### Does this measure audience overlap or semantic similarity?

No. It reports related-account suggestions and preserves their source seed and order. It does not calculate overlap, similarity scores, demographics, or sensitive traits.

#### Why can a seed return no rows?

The profile may be unavailable, restricted, have no suggestions returned, or the lookup may fail temporarily. Check its status in `RUN_SUMMARY`; failed and empty lookups do not become dataset rows.

#### Which fields are stable?

Use `related_id` for account identity and `(seed_username, related_id)` for a seed-to-account relationship. Usernames, profile text, counts, images, and external links can change.

### Related Instagram tools

- [Instagram User Search](https://apify.com/data-slayer/instagram-search-users) discovers profiles from keywords instead of seed accounts.
- [Instagram Profile Scraper](https://apify.com/data-slayer/instagram-user-info-scraper-cookieless) enriches a known username list.
- [Instagram User Posts Scraper](https://apify.com/data-slayer/instagram-posts) collects posts from known profiles.

### Responsible use

Use public data lawfully and in line with Instagram's terms and applicable privacy rules. Do not use this Actor to infer sensitive traits or to make unsupported claims about a person's audience or demographics.

This independent Actor is not affiliated with, endorsed by, or an official product of Instagram.

### Support

For reproducible support requests, include the Actor run ID, sanitized input, seed status from `RUN_SUMMARY`, and the affected output field. Never include credentials or private customer data.

# Actor input Schema

## `seedProfiles` (type: `array`):

Instagram usernames or profile URLs to expand. Up to 20 unique public profiles per run.

## `maxResultsPerSeed` (type: `integer`):

Keep the first 1–80 unique direct suggestions returned for each seed. The Actor processes one bounded suggestion set and does not recursively expand accounts.

## Actor input object example

```json
{
  "seedProfiles": [
    "natgeo",
    "nasa"
  ],
  "maxResultsPerSeed": 20
}
```

# Actor output Schema

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

One row per unique direct suggestion within each seed, preserving seed and source order.

## `dataset_table` (type: `string`):

The default table view for JSON, CSV and spreadsheet export.

## `run_summary` (type: `string`):

Per-seed status, received and emitted counts, duplicate counts, and budget-stop state. This record is not a billable dataset result.

# 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 = {
    "seedProfiles": [
        "natgeo",
        "nasa"
    ],
    "maxResultsPerSeed": 20
};

// Run the Actor and wait for it to finish
const run = await client.actor("data-slayer/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 = {
    "seedProfiles": [
        "natgeo",
        "nasa",
    ],
    "maxResultsPerSeed": 20,
}

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

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,data-slayer/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/BRnxq7vV34vhhyLib/builds/qa6ixlT9gpNB53FGT/openapi.json
