🔥Instagram Profile Finder🔥 avatar

🔥Instagram Profile Finder🔥

Pricing

from $1.00 / 1,000 results

Go to Apify Store
🔥Instagram Profile Finder🔥

🔥Instagram Profile Finder🔥

Discover public Instagram profiles through Google Search and turn available public data into structured datasets. Extract bios, follower stats, links, public contact emails, latest-post previews, related accounts, and optional Facebook context.

Pricing

from $1.00 / 1,000 results

Rating

0.0

(0)

Developer

Instagram Scraper

Instagram Scraper

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

10 hours ago

Last modified

Categories

Share

Actor Stats

Discover public Instagram accounts from business search queries, then collect public Profile data in structured Apify Datasets.

Use it for influencer research, competitor lists, lead enrichment, and market research. Start with the words a customer would search for; the Actor uses Google Search to discover eligible public Instagram pages, validates the returned URLs, and fetches each public Profile it can resolve.

This Actor discovers resources from search queries. It does not accept usernames, Instagram URLs, or full search URLs as its primary input.

What you get

  • Public Instagram Profile records: identity, bio, links, account flags, profile images, and available follower, following, and post counts.
  • A Profile-discovery record for every eligible Profile URL accepted from a search-result page.
  • A public Post or Reel discovery record when a content search mode is used, including its resolved owner when Instagram makes it available.
  • Optional enrichments: a linked Facebook profile, latest-post previews, and related-profile suggestions.

The Actor is designed for Profile research. Post and Reel modes use public content to identify account owners; the default Dataset contains deduplicated Profile results, not a full post archive.

How it works

Your business queries
|
v
Search-powered Instagram discovery
|
+-- Profile URL ------> public Profile fetch ------> default Dataset
|
+-- Post / Reel URL --> public owner resolution --> public Profile fetch
|
+--> searchPostResults
Accepted Profile URLs -------------------------------------> searchProfileResults

The Actor avoids fetching the same Instagram Profile more than once per run. Discovery records remain in separate datasets so you can trace which searches produced each result, while the default Dataset stays a clean Profile table.

Discovery results come from Google Search. The Actor then fetches current public Profile or content data from Instagram, with optional Facebook enrichment. It does not use or contribute results to a Profile, email, or contact database owned by the Actor publisher. Run outputs are written to the Apify account of the user running the Actor.

Quick start

  1. In the Input tab, add one or more business search expressions to Search queries.
  2. Choose a Search mode and, if useful, set the maximum results and search localization.
  3. Run the Actor. Open the default Dataset for Profiles, or use the Output tab to open the two discovery datasets.

Example: find public Profile URLs relevant to a Singapore skincare search.

{
"queries": ["vegan skincare singapore"],
"searchMode": "profiles",
"queryMaxResults": 30,
"searchCountry": "sg",
"searchLanguage": "en"
}

Typical use cases

  • Influencer discovery: find accounts in a location, category, or niche, then compare verification, audience size, links, and public Profile details.
  • Market and competitor research: create a repeatable list of accounts found for the business searches you care about.
  • Lead enrichment: identify public business Profiles and review biographies, websites, categories, and any email visible in the public Profile or search description.
  • Content-led account discovery: search for Posts and Reels, then resolve their public owners to Profiles.

Configure the input

InputDefaultWhat it controls
queriesRequiredOne to 5,000 business search expressions used to discover Instagram resources.
emailDiscoveryModefalseReplace each input with email-provider searches, including country-specific hosts selected by searchCountry.
searchModeprofilesTarget Profiles, Posts, Reels, or both content types.
searchTimeRangeNot set (Any time)Limit results to the past 24 hours, week, month, or year.
queryMaxResults10Maximum unique eligible candidate URLs retained for each query, from 10 to 100.
searchCountryusTwo-letter lowercase search country code, such as sg or jp.
searchLanguageenSearch language code, such as en or ja.
scrapeFacebookProfilefalseFetch one linked public Facebook Profile when a supported URL is found.
skipPostCountfalseSkip the extra request used to derive post count.
skipLatestPoststrueSkip lightweight latest-post previews.
skipRelatedProfilestrueSkip related-profile suggestions.

Search queries

Enter ordinary business search expressions, not URLs. Quotes and supported search operators are allowed.

  • vegan skincare singapore
  • independent coffee roaster berlin
  • コスメ "@gmail.com"

Use double quotes ("...") to match an exact word or phrase, for example "vegan skincare". Prefix a word or quoted phrase with a minus sign (-) to exclude it, for example vegan skincare -wholesale or -"job hiring". Do not put a space between the minus sign and the excluded term.

Leading/trailing whitespace and exact duplicate expressions are removed. Search operators are preserved. A full search URL is rejected.

Email discovery mode

Email discovery mode is off by default. Enable emailDiscoveryMode to search for Profiles that may publish an email address. The Actor replaces, rather than additionally runs, each input query with one Google Search query for each built-in email host. It always starts with gmail.com, hotmail.com, outlook.com, icloud.com, and yahoo.com, then uses searchCountry to append local hosts. For example, searchCountry=jp also adds yahoo.co.jp; its query excludes the known same-domain Yahoo shopping and auction noise.

{
"queries": ["Health/beauty"],
"emailDiscoveryMode": true,
"searchCountry": "au"
}

The example executes email-focused variants such as:

Health/beauty "@gmail.com"
Health/beauty "@bigpond.com"
Health/beauty "@optusnet.com.au"

queryMaxResults applies separately to every effective email query. The country-specific host list is bounded at four, so a query expands to at most nine effective queries. With the 5,000-query input limit, this can create up to 45,000 initial search tasks. Email discovery improves the likelihood of finding a public email-related search result; it does not guarantee that the resulting Profile has an extractable email.

A publicly visible email may be inaccurate or may not belong to the Profile owner. Its public availability does not mean the recipient has agreed to receive marketing messages. You are responsible for ensuring that collecting, exporting, sharing, and using results complies with applicable laws and platform terms.

Search time range

Optionally set searchTimeRange to limit search results to a recent period:

ValueInput label
dayPast 24 hours
weekPast week
monthPast month
yearPast year

Leave it unset to search all available results (Any time). For example:

{
"queries": ["vegan skincare singapore"],
"searchTimeRange": "week"
}

Search modes

ModeSearch targetDefault Dataset resultDiscovery dataset
profilesPublic Profile URLsOne Profile record per resolved ProfilesearchProfileResults
posts_and_reelsPublic Post and Reel URLsOne Profile record per resolved ownersearchPostResults
only_postsPublic Post URLsOne Profile record per resolved ownersearchPostResults
only_reelsPublic Reel URLsOne Profile record per resolved ownersearchPostResults

Content search modes retain one searchPostResults row for each accepted discovery source. If multiple sources resolve to the same account, the owner Profile is still fetched and emitted only once.

Optional Profile enrichments

These switches affect the Profile fetch after discovery:

  • Facebook Profile: when enabled, the Actor looks for one supported Facebook URL in external_url, bio_links, fb_profile_biolink, biography, and full_name, in that order. If found, it writes an fb_profile object.
  • Post count: post_count is derived from the public Profile page's metadata. Enable skipPostCount to avoid that extra request.
  • Latest posts: disable skipLatestPosts to request a lightweight latest post preview. This is not a fixed full-post schema or a replacement for a dedicated post scraper.
  • Related profiles: disable skipRelatedProfiles to collect Instagram's available account suggestions. A failed suggestion enrichment produces an empty list rather than failing the Profile.

Understand the results

The Actor writes three datasets with different purposes.

DatasetOne row representsUse it for
Default DatasetA scraped Instagram ProfileProfile analysis, exports, monitoring, and enrichment.
searchProfileResultsAn eligible Profile URL accepted from one search-result pageAuditing Profile discovery for each query.
searchPostResultsAn accepted Post or Reel after its content fetch attempts finishAuditing content-led discovery, collection status, and any resolved owner.

The search datasets preserve real search-discovery events. They can contain more than one row for the same Profile or content item when it appears in different queries or sources. The default Dataset does not contain search provenance fields such as matched queries or matched URLs.

When Email discovery mode is on, the two search datasets distinguish inputQuery (your business expression), query (the effective email search), and emailHost (the added domain). When the mode is off, inputQuery equals query and emailHost is null.

Default Dataset: Profile records

The Dataset provides a compact Overview view, while raw items retain available Instagram fields. Common fields include:

GroupFieldsNotes
Identitypk, id, pk_id, username, full_name, urlurl is the canonical public Profile URL.
Profile and linksprofile_pic_url, profile_pic_url_hd, biography, contact_email, bio_links, external_url, pronounsAvailability depends on Instagram's public payload.
Countsfollowers, following, post_count, total_clips_count, has_any_clipsPost count can be approximate.
Account detailsis_private, is_verified, is_business, is_professional_account, category, account_typeMissing optional values are commonly null.
Optional enrichmentsfb_profile, latest_posts, related_profilesControlled by the settings above.
Run metadataig_status, crawled_atig_status describes the Profile fetch outcome.

Instagram may return additional raw metadata. Treat optional fields as non-guaranteed: public payloads vary by account, locale, and endpoint changes.

Profile result example

This shortened example shows a successfully resolved Profile. Optional fields can be null, and optional lists can be empty.

{
"pk": "6590609",
"id": "6590609",
"username": "kevinhart4real",
"full_name": "Kevin Hart",
"url": "https://www.instagram.com/kevinhart4real/",
"profile_pic_url": "https://scontent.example-cdn.net/profile.jpg",
"profile_pic_url_hd": "https://scontent.example-cdn.net/profile-hd.jpg",
"biography": "Live Love & Laugh!!!",
"contact_email": null,
"bio_links": [],
"external_url": "https://www.kevinhartnation.com/",
"followers": 172275843,
"following": 1287,
"post_count": 2122,
"is_private": false,
"is_verified": true,
"is_business": false,
"is_professional_account": null,
"category": "Comedian",
"fb_profile": null,
"latest_posts": [],
"related_profiles": [],
"ig_status": "ok",
"crawled_at": "2026-09-02T10:30:00Z"
}

When Instagram does not return a Profile, the default Dataset can contain a minimal result:

{
"username": "example",
"url": "https://www.instagram.com/example/",
"ig_status": "not_found",
"message": "Profile not found or restricted",
"crawled_at": "2026-09-02T10:30:00Z"
}

not_found means the Profile did not return usable public Profile data. It can mean the account does not exist, is restricted, or is otherwise unavailable to the public request; it does not prove that an account has been deleted.

Search discovery examples

The searchProfileResults Dataset has one row per eligible Profile URL accepted from a search page:

{
"inputQuery": "vegan skincare singapore",
"query": "vegan skincare singapore",
"emailHost": null,
"searchPageIndex": 0,
"desc": "Instagram photos and videos from this public profile.",
"email": "hello@example.com",
"isVerifiedUrl": true,
"profileUrl": "https://www.instagram.com/example/",
"username": "example",
"discoveredAt": "2026-09-02T10:30:00Z"
}

The searchPostResults Dataset records the final content collection outcome and, when available, the fetched public media object and owner:

{
"inputQuery": "vegan skincare singapore",
"query": "vegan skincare singapore",
"emailHost": null,
"searchPageIndex": 0,
"desc": "Instagram photos and videos from this public Reel.",
"email": null,
"isVerifiedUrl": true,
"contentType": "reel",
"shortcode": "ABC123",
"contentUrl": "https://www.instagram.com/reel/ABC123/",
"ownerId": "123456789",
"ownerUsername": "example",
"post": {
"id": "123456789_123456789",
"code": "ABC123"
},
"ig_status": "ok",
"message": null,
"fetchedAt": "2026-09-02T10:31:00Z"
}

For content results, ig_status is ok when both the public media object and its owner were resolved. not_found, owner_not_found, and fetch_failed identify unsuccessful collection outcomes after retries; message contains the corresponding reason. A failed result can therefore have null ownerId, ownerUsername, and post values.

isVerifiedUrl: true says only that the Actor accepted the URL as an eligible HTTPS Instagram route. It does not verify the Instagram account, guarantee availability, or represent Instagram verification status.

Result semantics and limits

Candidate limits and pagination

queryMaxResults limits unique eligible candidate URLs retained per query; it does not guarantee default Profile Dataset rows. A query can produce fewer Profiles because results may be missing, invalid, duplicated, deleted, restricted, ownerless, or unavailable. For content modes, searchPostResults retains the final collection status for every accepted source even when its fetch attempts are exhausted.

The Actor requests at most ceil(queryMaxResults / 10) search-result pages per query. It schedules the next page only when needed, rather than scheduling all pages up front.

Public availability and fields

Only public data returned through the Actor's requests can be emitted. Private or restricted Profiles have less available information, and raw Instagram fields can change without notice.

post_count is parsed from public Profile-page metadata. Instagram can abbreviate values such as 14K or 1.2M, so the value can be approximate. It is null for private Profiles, when the setting skips the request, and when the metadata is unavailable or cannot be parsed.

contact_email is the first email address found in the public biography or full_name, or null when none is available. The email field in a search dataset is different: it is the first address found in the search description.

With latest-post enrichment enabled, the Actor requests up to 10 previews for paying users and up to 5 for non-paying users. Their nested shape follows Instagram's current payload except for Actor convenience fields; do not depend on it as a fixed full-post contract.

Pricing and usage

This Actor uses pay-per-event pricing.

Each successfully fetched search-results page counts as one search-results-page event, including pages with no eligible Instagram results. Failed search requests are not charged.

If Facebook Profile enrichment is enabled, a scrape-fb-profile event is charged only when a supported linked Facebook Profile is successfully added to the Profile result.

Higher queryMaxResults values can require more search-results pages. Email discovery mode can also increase usage because it expands each input query into several email-focused searches. See the Actor's Pricing tab and your Apify usage details for current rates.

Tips and troubleshooting

SituationWhat to check
The run stops before discoveryCheck that at least one non-empty search query is provided.
Fewer Profiles than expectedIncrease queryMaxResults within 10–100, refine the query, and remember the limit is candidates rather than output records.
You need Posts or Reels rather than ownersUse a dedicated post or Reel Actor below; this Actor's main result is a Profile.
You only need basic Profile dataLeave skipLatestPosts and skipRelatedProfiles enabled. Enable skipPostCount if post count is not needed.
Discovery needs a different marketSet searchCountry and searchLanguage with valid country and language codes.

Need a different Instagram dataset?

ActorDescriptionStats
Instagram Profile ScraperScrape public Instagram Profile data from usernames or Profile URLs.Instagram Profile Scraper Actor Stats
Fast Instagram Profile Posts ScraperScrape post data from Instagram Profile pages.Fast Instagram Profile Posts Scraper Actor Stats
Instagram Profile Posts ScraperExtract Profile post fields such as hashtags, counts, media, and shortcodes.Instagram Profile Posts Scraper Actor Stats
Fast Instagram Profile Reels ScraperScrape public Instagram Reels from Profile pages.Fast Instagram Profile Reels Scraper Actor Stats
Instagram Hashtags Posts ScraperScrape public Instagram hashtag pages.Instagram Hashtags Posts Scraper Actor Stats
Instagram Related Profiles ScraperDiscover related accounts and recursively expand Profile networks.Instagram Related Profiles Scraper Actor Stats

This is a user-operated research tool: you provide the queries, choose whether to enable Email discovery or Facebook enrichment, and decide how to use the results. The Actor returns data to your Apify account and does not contact people on your behalf.

Public availability does not grant additional rights to use personal data or constitute consent to marketing. You are responsible for ensuring that your collection, access, export, sharing, and use of results complies with applicable privacy, data protection, marketing, and platform rules. Do not use the Actor for harassment, stalking, doxxing, fraud, unlawful discrimination, or sensitive-attribute inference, and do not attempt to access private or restricted accounts or bypass authentication. Follow the applicable terms of Instagram, Google, and Apify. If you enable Facebook enrichment, you must also follow Facebook's applicable terms.