Instagram Related Profiles Scraper avatar

Instagram Related Profiles Scraper

Pricing

from $5.00 / 1,000 related profile founds

Go to Apify Store
Instagram Related Profiles Scraper

Instagram Related Profiles Scraper

Discover lookalike and related Instagram profiles from seed accounts — ideal for B2B lead-gen, influencer discovery, and competitor mapping. Provider-backed, cookieless, no login.

Pricing

from $5.00 / 1,000 related profile founds

Rating

0.0

(0)

Developer

Khadin Akbar

Khadin Akbar

Maintained by Community

Actor stats

0

Bookmarked

6

Total users

4

Monthly active users

13 days ago

Last modified

Share

Find lookalike and related Instagram profiles from one or more public seed accounts. This Actor is for analysts, marketers, agencies, and lead-generation workflows that need one dataset row per related profile, with fields such as username, fullName, followersCount when provided, isVerified, isPrivate, businessCategory, externalUrl, seedUsername, provider, and profileUrl. The outcome is a structured list of public related profiles that you can review, filter, and pass into the next research step. It is usable through Apify Console, the Apify API, and Apify MCP.

Best fit and connected workflows

This Actor fits workflows that start with a public Instagram handle or profile URL and need the accounts Instagram publicly recommends as related or lookalike profiles.

It is a strong fit when you want to:

  • Seed a brand, creator, or competitor account and collect related profiles for prospecting.
  • Review username, fullName, followersCount, isVerified, isPrivate, businessCategory, and externalUrl in a consistent dataset.
  • Trace each row back to the originating seedUsername, seedProfileUrl, and provider.
  • Build a shortlist for enrichment, list-building, or outreach research.
  • Use the Actor in Apify workflows or through Apify MCP with agent instructions.

Focused standalone workflow

Instagram Related Profiles Scraper — Lookalike Accounts is designed as a focused standalone workflow.

Practical scenario

Maya, an analyst at a consumer brand, starts with the public handle gymshark. She submits that seed with a modest per-seed cap and receives related rows that include usernames, display names, follower counts when available, verification, business category, external URLs, and seed attribution. She reviews the public profiles with websites and public-account status, then passes the shortlist into her outreach workflow for further qualification.

Input fields

FieldTypeRequiredDefaultPurpose
usernamesarray of stringsYes["gymshark"]Seed Instagram usernames, @handles, or full profile URLs
maxRelatedPerSeedintegerNo20Maximum related profiles saved per seed account
maxTotalResultsintegerNo500Hard cap on total dataset rows across all seeds
deduplicateAcrossSeedsbooleanNotrueWrite each unique username once across all seeds
skipPrivateProfilesbooleanNofalseFilter out related profiles flagged as private
minFollowersintegerNo0Keep only related profiles at or above this follower count when returned
providerOrderstringNoThe default provider orderProvider routing between the primary and fallback data providers

Focused JSON input example

{
"usernames": [
"nike",
"adidas",
"https://www.instagram.com/patagonia/"
],
"maxRelatedPerSeed": 3,
"maxTotalResults": 10,
"deduplicateAcrossSeeds": true,
"skipPrivateProfiles": false,
"minFollowers": 0
}

Output fields

Each dataset item represents one related Instagram profile.

FieldTypeMeaning
usernamestringInstagram handle of the related profile
fullNamestringDisplay name on the profile
biographystringBio text when the provider includes it
profileUrlstringCanonical Instagram profile URL
profilePicUrlstringPublic profile picture thumbnail URL
followersCountintegerFollowers count when returned in the stub
followingCountintegerFollowing count when returned in the stub
postsCountintegerPublic posts count when returned in the stub
isVerifiedbooleanVerification badge status
isPrivatebooleanPrivate account status
isBusinessAccountbooleanBusiness or creator account status
businessCategorystringInstagram business category label
categorystringProfile category name
externalUrlstringLink in bio
seedUsernamestringSeed account that surfaced this profile
seedProfileUrlstringCanonical URL of the seed account
providerstringData provider that returned the profile
scrapedAtstringISO 8601 timestamp when the row was saved

Illustrative output record

{
"username": "patagonia",
"fullName": "Patagonia",
"profileUrl": "https://www.instagram.com/patagonia/",
"followersCount": 4800000,
"isVerified": true,
"isPrivate": false,
"isBusinessAccount": true,
"businessCategory": "Outdoor & Sporting Goods Company",
"externalUrl": "https://www.patagonia.com",
"seedUsername": "nike",
"seedProfileUrl": "https://www.instagram.com/nike/",
"scrapedAt": "2026-08-18T07:32:00.000Z"
}

How it works

  1. Normalize seed usernames and profile URLs.
  2. Fetch each public seed through a primary data provider first, then a fallback provider as fallback.
  3. Unwrap the provider response and save related profiles to the default dataset.
  4. Apply maxRelatedPerSeed, maxTotalResults, deduplicateAcrossSeeds, skipPrivateProfiles, and minFollowers to shape the final dataset.
  5. Write execution diagnostics to the key-value store under RUN_SUMMARY and OUTPUT.
  6. Charge event-based usage only for saved related-profile rows, alongside Apify platform usage.

The live contract defines provider environment variables for the routing options listed in the input schema.

Pricing

Instagram Related Profiles Scraper — Lookalike Accounts uses Pay per event with Apify platform usage included. Open the live Pricing tab for current event details and platform usage information.

The contract defines two event types: an Actor start event and a related-profile-found event. For example, one seed that produces three saved related profiles results in one Actor start event and three related-profile-found events.

For larger runs, maxTotalResults gives a clear cap on how many related rows can be written. Use the live Pricing tab as the source of truth for current pricing behavior.

Use with AI agents (MCP)

This Actor is available as an Apify Actor usable through Apify MCP. It provides a focused tool for finding related Instagram profiles from public seed accounts and returning structured rows that an agent can read and reason over.

Exact Actor identity: khadinakbar/find-instagram-related-profiles-scraper

Find related Instagram profiles for a public seed account and return rows with usernames, profile URLs, seed attribution, verification, and business fields. Use usernames with one or more public handles or profile URLs, then read the dataset rows and the run summary for provider and cost context.

Tool behavior and interpretation guidance:

  • Treat the dataset as the primary evidence source.
  • Use username, profileUrl, seedUsername, provider, and externalUrl to build follow-up steps.
  • Use RUN_SUMMARY or OUTPUT for run-level telemetry, counts, stop reason, and estimated event-based cost details.
  • Keep the seed list and row caps aligned with the research task so the agent receives a focused result set.
  • When the related profiles are few, the output still reflects exactly what Instagram surfaced for the seed.
  • Pagination and cost scale with the number of saved related-profile rows, so a tighter cap keeps the run smaller.

API example

const { ApifyClient } = require('apify-client');
(async () => {
const client = new ApifyClient({
token: process.env.APIFY_TOKEN,
});
const run = await client.actor('khadinakbar/find-instagram-related-profiles-scraper').call({
usernames: ['gymshark'],
maxRelatedPerSeed: 3,
maxTotalResults: 10,
deduplicateAcrossSeeds: true
});
const dataset = client.dataset(run.defaultDatasetId);
const { items } = await dataset.listItems();
console.log(items);
const store = client.keyValueStore(run.defaultKeyValueStoreId);
const summary = await store.getRecord('OUTPUT');
console.log(summary);
})();

Best results and outcome guidance

  • Start with public brand, creator, or competitor accounts that represent the audience you want to map.
  • Use a small maxRelatedPerSeed when you want a tight shortlist for manual review.
  • Increase maxTotalResults only when you need a broader batch across several seeds.
  • Turn on skipPrivateProfiles when your next step depends on public account visibility.
  • Use minFollowers to shape the shortlist toward accounts above a chosen audience threshold when that field is available in the provider stub.
  • Keep deduplicateAcrossSeeds enabled when you want one consolidated list, or switch it off when overlap between seeds is itself useful.

Design note

I found that the live dataset contract includes seedUsername and provider alongside username, profileUrl, and audience fields, which makes each row traceable back to both the originating seed and the provider that returned it.

FAQ

What kind of input works here?

Public Instagram usernames, @handles, and full profile URLs work as seed input. The Actor uses those seeds to find related profiles Instagram publicly recommends.

What does one dataset row represent?

One row represents one related Instagram profile surfaced from a seed account, with the most relevant profile and provenance fields stored together.

How can I use the result set in another workflow?

You can shortlist rows using externalUrl, followersCount, isVerified, and isPrivate, then pass selected profiles into your next research or enrichment step.

Which provider is used first?

The default routing starts with the primary data provider and uses the fallback data provider as fallback, as defined in the live contract.

Where should I check cost details?

Use the live Pricing tab in Apify for current event details and platform usage information.

Responsible use

Use this Actor on public Instagram profiles you are authorized to research for legitimate competitor mapping, influencer discovery, or lead generation. It reads public related-profile suggestions only. Follow Instagram's terms of service, GDPR, CCPA, and applicable laws. Users are responsible for how they use the exported list.

Instagram is a trademark of its owner. This independent Actor is not affiliated with, associated with, or endorsed by Instagram.