Instagram Related Profiles Scraper avatar

Instagram Related Profiles Scraper

Pricing

from $1.89 / 1,000 related profiles

Go to Apify Store
Instagram Related Profiles Scraper

Instagram Related Profiles Scraper

Find Instagram accounts similar to any profile from Instagram's "Suggested for you" list, with followers, bio, emails and phones from bios and Linktree, category and engagement. Chain discovery, seed overlap and filters. No login.

Pricing

from $1.89 / 1,000 related profiles

Rating

0.0

(0)

Developer

ParseBird

ParseBird

Maintained by Community

Actor stats

1

Bookmarked

3

Total users

2

Monthly active users

2 days ago

Last modified

Categories

Share

Instagram Related Profiles Scraper finds accounts similar to any Instagram profile, using the "Suggested for you" list Instagram shows under each profile, and returns them as a flat list with follower counts, bio, links, emails and phones found in the bio, category and engagement.

Enter one or more accounts, get up to about 50 lookalikes each, keep only the ones several of your accounts share, or follow the suggestion graph up to 5 levels deep to map a whole niche. No Instagram login or cookies needed.

ParseBird Instagram Suite Β Β β€’Β Β Profiles, stories, Reels, highlights & lookalikes
Instagram Profile Scraper
Profiles, emails, phones, socials
Instagram Reels Search & Trend Discovery
Reels by keyword, trending content
Instagram Reels Audio Scraper
Reels using any sound or song
Instagram Highlights Scraper
Story highlights, photos & videos
Instagram Related Profiles Scraper
You are here
Instagram Story Scraper
Live stories, no login

Copy to your AI assistant

Copy this block into ChatGPT, Claude, Cursor, or any LLM to start using this actor.

Use the Apify Actor "parsebird/instagram-related-profiles-scraper" (call it via ApifyClient) to find Instagram accounts similar to given accounts (Instagram's "Suggested for you" list). Example (JavaScript): const { ApifyClient } = require('apify-client'); const client = new ApifyClient({ token: '<APIFY_TOKEN>' }); const run = await client.actor('parsebird/instagram-related-profiles-scraper').call({ usernames: ['natgeo', '@nasa'], maxSimilarPerAccount: 50, contactInfoType: 'emailOnly' }); const { items } = await client.dataset(run.defaultDatasetId).listItems(); Inputs: usernames (required array: handles, @handles or instagram.com profile URLs), maxSimilarPerAccount (integer, default all ~50), maxTotalProfiles (integer, run-wide cap), excludeUsernames (array), minSeedOverlap (integer, default 1; 2+ keeps profiles suggested for at least that many input accounts and turns chain discovery off), depth (integer 1-5, default 1; chain discovery), enrichProfiles (boolean, default true), includeLatestPosts (boolean), scrapeFacebookProfile (boolean), contactInfoType (any/emailOnly/phoneOnly/emailOrPhone/emailAndPhone), minFollowers, maxFollowers, minPosts, maxPosts (integers), minEngagementRate, maxEngagementRate (percent numbers), onlyVerified, onlyBusiness, excludePrivate (booleans). Each row is one lookalike: sourceUsername, sourceUserId, source ("suggested"), rootUsername, depthLevel, matchedSeeds, seedOverlap, suggestionRank, username, userId, fullName, profileUrl, isVerified, isPrivate, profilePicUrl, category, isBusiness, isProfessional, followerCount, followingCount, postCount, biography, externalUrl, bioLinks, threadsUsername, email, emails, emailSource (bio/bio_link), phone, phones, medianEngagementRate, enriched, scrapedAt, plus latestPosts and facebookProfileUrl when those options are on. Accounts that can't be processed come back as error rows {sourceUsername, error, message}, which are free. API docs: https://apify.com/parsebird/instagram-related-profiles-scraper/api. Get a token at https://console.apify.com/settings/integrations.

Instagram Related Profiles Scraper is an Apify Actor that turns one known Instagram account into a list of comparable ones. For each account you enter it reads Instagram's own "Suggested for you" list (the similar accounts Instagram recommends under a profile) and returns every suggestion as a row, tagged with the account it came from.

It's built for lead generation, influencer discovery, competitor mapping and niche research: start from a customer, creator or competitor you know and get the accounts Instagram itself considers similar. It works as an Instagram similar-accounts API alternative, with no login, cookies or Instagram account needed.

  • πŸ”Ž Lookalikes from Instagram's own graph: up to about 50 suggested accounts per profile, in Instagram's order (suggestionRank).
  • 🀝 Seed overlap: enter several accounts and keep only the profiles Instagram suggests for at least 2 (or more) of them, which gives the shared neighborhood of the whole set.
  • πŸ•ΈοΈ Chain discovery: follow the graph 1 to 5 levels deep. Each row records rootUsername, depthLevel and sourceUsername, so the network can be rebuilt. Each profile appears (and is charged) only once per run.
  • πŸ“‡ Profile details by default: followers, following, posts, bio, bio links, Threads username, category, business flag and median engagement rate.
  • βœ‰οΈ Contacts from public text: emails and phone numbers found in the bio and on Linktree or lnk.bio pages the bio links to.
  • 🎯 Filters: followers, posts, engagement rate, verified, business accounts, private accounts and "has an email/phone". Profiles you exclude, and accounts dropped by the verified/private filters, cost nothing.
  • 🧯 Hard caps: per-account and run-wide limits, plus the maximum cost per run set in Apify Console.
  • ⏱️ Platform features: schedule runs, call it from the Apify API, get webhooks, and send results to Google Sheets, HubSpot, Make, Zapier, n8n and more. Export as JSON, CSV, Excel or HTML.

What data can you extract?

FieldDescription
sourceUsername, sourceUserIdThe account this lookalike was suggested for
rootUsername, depthLevelThe input account a chain started from, and how many hops out (1 = direct lookalike)
matchedSeeds, seedOverlapWhich of your input accounts Instagram suggests this profile for, and how many
suggestionRankPosition in Instagram's suggestion list (1 = first)
username, userId, fullName, profileUrl, profilePicUrlAccount identity
isVerified, isPrivateBadge and privacy
followerCount, followingCount, postCountAudience size
biography, externalUrl, bioLinks, threadsUsernameBio, link buttons and Threads handle
category, isBusiness, isProfessionalInstagram category and account type
medianEngagementRateMedian (likes + comments) / followers over the latest 12 posts, in percent
email, emails, emailSource, phone, phonesContacts found in the bio (bio) or on its link-in-bio page (bio_link)
latestPosts, facebookProfileUrlOptional: 3-post preview and Facebook page link

How to find similar Instagram accounts

  1. Open Instagram Related Profiles Scraper in Apify Console and create a free Apify account if you don't have one.
  2. Add one or more accounts: natgeo, @nasa or https://www.instagram.com/nike all work, mixed in one run.
  3. Set Max related profiles per account, and optionally Min shared seeds or Chain discovery depth.
  4. Add filters if you need them, for example Has an email and Min followers.
  5. Click Start, then download the list from the Output tab or pull it through the API.

Input examples

Lookalikes of one account, with details

{
"usernames": ["natgeo"],
"maxSimilarPerAccount": 50
}

Profiles shared by several accounts

{
"usernames": ["bonappetitmag", "nytcooking", "epicurious"],
"minSeedOverlap": 2,
"excludeUsernames": ["thefeedfeed"]
}

On October 17, 2026 this returned 8 food accounts that Instagram suggests for at least two of the three publishers.

Map a niche with chain discovery

{
"usernames": ["gymshark"],
"depth": 3,
"maxSimilarPerAccount": 10,
"maxTotalProfiles": 150
}

On October 17, 2026 this saved 150 unique fitness profiles (10 at level 1, 96 at level 2, 44 at level 3) in under 4 minutes.

Lead list with contacts

{
"usernames": ["halfbakedharvest", "bonappetitmag"],
"contactInfoType": "emailOnly",
"minFollowers": 10000
}

Fast list without details

{
"usernames": ["natgeo"],
"enrichProfiles": false
}

Output example

A real row from usernames: ["natgeo"] (October 17, 2026; picture URL shortened):

{
"sourceUsername": "natgeo",
"sourceUserId": "787132",
"source": "suggested",
"rootUsername": "natgeo",
"depthLevel": 1,
"matchedSeeds": ["natgeo"],
"seedOverlap": 1,
"suggestionRank": 2,
"username": "pbsnature",
"userId": "289756973",
"fullName": "Nature",
"profileUrl": "https://www.instagram.com/pbsnature/",
"isVerified": true,
"isPrivate": false,
"profilePicUrl": "https://scontent-iad6-1.cdninstagram.com/v/t51.2885-19/...",
"category": "Content & Apps",
"isBusiness": true,
"isProfessional": true,
"followerCount": 491299,
"followingCount": 220,
"postCount": 1909,
"biography": "NATURE is an award-winning signature @PBS series created by The WNET Group and made possible by all of you. #NaturePBS",
"externalUrl": "http://sprout.link/pbsnature/",
"bioLinks": [
{ "title": "", "url": "http://sprout.link/pbsnature/" },
{ "title": "", "url": "https://youtube.com/live/gJ-aSGU2owE" }
],
"threadsUsername": null,
"email": null,
"emails": [],
"emailSource": null,
"phone": null,
"phones": [],
"medianEngagementRate": 0.131,
"enriched": true,
"scrapedAt": "2026-10-17T12:32:33Z"
}

An account that can't be processed comes back as an error row, which is never charged:

{
"sourceUsername": "nike",
"error": "no_suggestions_available",
"message": "Instagram returns no \"suggested for you\" accounts for @nike. This happens on some very large or restricted accounts - try a smaller or more niche account."
}

Other error codes are invalid_input, account_not_found, private_account and blocked.

Install the Apify client (pip install apify-client or npm install apify-client) and use your API token.

Python

from apify_client import ApifyClient
client = ApifyClient("<APIFY_TOKEN>")
run = client.actor("parsebird/instagram-related-profiles-scraper").call(run_input={
"usernames": ["gymshark"],
"maxSimilarPerAccount": 30,
"minFollowers": 10000,
"maxFollowers": 500000,
})
for row in client.dataset(run["defaultDatasetId"]).iterate_items():
if not row.get("error"):
print(row["username"], row["followerCount"], row["medianEngagementRate"], row["email"])

JavaScript

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: '<APIFY_TOKEN>' });
const run = await client.actor('parsebird/instagram-related-profiles-scraper').call({
usernames: ['bonappetitmag', 'nytcooking', 'epicurious'],
minSeedOverlap: 2,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.filter((r) => !r.error).forEach((r) => console.log(r.username, r.matchedSeeds.join(', ')));

Use cases

  • Lead generation: expand one ideal customer into a list of similar accounts, then keep the ones with a public email.
  • Influencer marketing: find creators similar to one who already performed well, within a follower and engagement band.
  • Competitor analysis: see which accounts Instagram places next to a competitor.
  • Agencies: build prospect lists in a client's exact niche.
  • Partnerships: discover adjacent brands and creators for collaborations.
  • Market research: study how accounts cluster in a category with chain discovery.

How it works

  1. Every input is turned into a clean username. Anything that isn't an account (a post, reel or hashtag) becomes an error row instead of a wasted lookup.
  2. The account is looked up to get its ID. Missing and private accounts get an error row.
  3. Instagram's "Suggested for you" list for that account is read. Instagram returns up to about 50 accounts, often fewer for niche accounts.
  4. With several inputs, profiles suggested for more of them come first; with Min shared seeds above 1, only shared profiles are kept.
  5. With depth above 1, every saved profile becomes a new source, level by level. A run-wide set makes sure no profile is fetched or charged twice.
  6. Each lookalike is then looked up for details (unless you turn that off), filters are applied, and the row is saved.

How much does it cost to find similar Instagram accounts?

Instagram Related Profiles Scraper uses pay-per-event pricing. Platform usage (compute and proxies) is included in the event prices.

EventWhen it's chargedFreeBronzeSilverGold
Related profileEach lookalike saved to the dataset$0.00299$0.00249$0.00219$0.00189
EnrichmentEach lookalike looked up for details$0.00399$0.00349$0.00299$0.00249
  • With details (default): $6.98 per 1,000 profiles on the Free plan, $4.38 on Gold.
  • Without details (enrichProfiles: false): $2.99 per 1,000 on Free, $1.89 on Gold.
  • Filters: a profile dropped by a follower, post, engagement, business or contact filter isn't charged the related-profile fee, but its enrichment lookup is. The verified and private filters and excludeUsernames are checked before any lookup, so those accounts are free.
  • Error rows are free.

Example: the 150-profile Gymshark run above costs about $1.05 on the Free plan. Set Max profiles in total and the maximum cost per run in Apify Console to stay within budget.

This Actor only reads information Instagram shows publicly to logged-out visitors: the suggestion list, public profile details, and contact details that account owners put in their own bio or link page. Scraping publicly available data is generally legal, but personal data is protected by laws such as GDPR and CCPA, and you are responsible for how you use it, including for outreach. Follow Instagram's terms and local laws, and if you aren't sure, consult a lawyer. Read more on the Apify blog about web scraping legality.

This Actor is unofficial and isn't affiliated with, endorsed by or sponsored by Instagram or Meta.

Other Instagram scrapers from ParseBird

FAQ

How many similar accounts do I get per profile? Whatever Instagram suggests: up to about 50 for most public accounts, fewer (sometimes around 10) for niche ones. Instagram returns the same list on every call, so use several input accounts or chain discovery to get more.

Why did an account return no suggestions? Instagram shows no suggestion list for some very large brand accounts (for example nike) and for private accounts. You get an error row that explains this, free of charge. Try a smaller or more niche account.

Why are category and medianEngagementRate empty for some profiles? Instagram's public profile service returns an error for some accounts, mostly business accounts with a category. For those, the category, account type and engagement can't be read without logging in, so they stay empty. The post count then comes from the profile page, where Instagram rounds large numbers (10K). In our October 17, 2026 tests, between about 40% and 70% of profiles per run had these fields filled.

Where do the emails and phones come from? From the profile's bio text and from Linktree or lnk.bio pages its bio links to (emailSource says which). Instagram's contact buttons (business email and phone) are only shown to logged-in users, so they aren't included.

Does it include "business category" recommendations or account history? No. Instagram's same-category recommendations and the "About this account" panel (join date, country, former usernames) are only available when logged in. This Actor works without a login.

Do I need an Instagram account or cookies? No. Everything comes from what Instagram shows logged-out visitors.

Can I use it through the API? Yes. Use the API tab or the Python and JavaScript examples above. You can also run it from Make, Zapier or n8n.

Something is missing or broken? Open an issue on the Issues tab.