🔥Instagram Profile Finder🔥
Pricing
from $1.00 / 1,000 results
🔥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
Maintained by CommunityActor stats
1
Bookmarked
342
Total users
53
Monthly active users
5 days ago
Last modified
Categories
Share
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.
- Optional enrichments: a linked Facebook profile, latest-post previews, and related-profile suggestions.
The Actor discovers Profile URLs and writes deduplicated Profile results to the default Dataset.
Quick start
- In the Input tab, add one or more business search expressions to Search queries.
- If useful, set the maximum search-result pages, country, and language.
- Run the Actor. Open the default Dataset for Profiles, or use the Output tab to open the Profile discovery dataset.
Example: find public Profile URLs relevant to a Singapore skincare search.
{"queries": ["vegan skincare singapore"],"queryMaxPages": 3,"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.
Configure the input
| Input | Default | What it controls |
|---|---|---|
| queries | Required | One to 5,000 business search expressions used to discover Instagram Profiles. |
| emailDiscoveryMode | false | Focus discovery on public Instagram results that may include an email address. |
| searchTimeRange | Not set (Any time) | Limit results to the past 24 hours, week, month, or year. |
| queryMaxPages | 1 | Maximum search-result pages requested for each query, from 1 to 10. Each page contains at most 10 results. |
| searchCountry | us | Two-letter lowercase search country code, such as sg or jp. |
| searchLanguage | en | Search language code, such as en or ja. |
| scrapeFacebookProfile | false | Fetch one linked public Facebook Profile when a supported URL is found. |
| skipPostCount | false | Skip the extra request used to derive post count. |
| skipLatestPosts | true | Skip lightweight latest-post previews. |
| skipRelatedProfiles | true | Skip 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
- コスメ 東京
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 focus your search on public Instagram results that may include an email address. Use it for contact research and lead enrichment alongside the public Profile details returned by the Actor.
Enter your usual business keywords in queries and set searchCountry for your target market. For example:
{"queries": ["beauty influencer"],"emailDiscoveryMode": true,"searchCountry": "us"}
Open searchProfileResults to review Profile discoveries. Each record keeps
your original inputQuery and includes an email when one is available;
otherwise, email is null. The default Dataset contains the fetched
Profile records, where contact_email is a separate field that depends on
the available public Profile information.
This mode does not guarantee an email address for every result or verify email ownership or deliverability. queryMaxPages controls discovery volume; each page contains at most 10 results, but the setting is not a guaranteed email count or a total output cap per input expression in this mode. Usage can be higher than with standard discovery, so start with a small set of queries and review the results and usage before scaling up.
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:
| Value | Input label |
|---|---|
day | Past 24 hours |
week | Past week |
month | Past month |
year | Past year |
Leave it unset to search all available results (Any time). For example:
{"queries": ["vegan skincare singapore"],"searchTimeRange": "week"}
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 lightweight latest-post previews from the public Profile page. Private Profiles, unavailable previews, and failed optional requests or parsing produce an empty list while keeping the Profile result. Carousel previews can contain fewer items than the full post.
- 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
How it works
Your business queries|vSearch-powered Instagram discovery|vAccepted Profile URLs -----> public Profile fetch -----> default Dataset|+----------------------------------------------> searchProfileResults
The Actor avoids fetching the same Instagram Profile more than once per run. Discovery records remain in a separate dataset 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 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.
Datasets
The Actor writes two datasets with different purposes.
| Dataset | One row represents | Use it for |
|---|---|---|
| Default Dataset | A scraped Instagram Profile | Profile analysis, exports, monitoring, and enrichment. |
| searchProfileResults | An eligible Profile URL accepted from one search-result page | Auditing Profile discovery for each query. |
The search discovery dataset preserves real search-discovery events. It can contain more than one row for the same Profile when it appears in different queries. The default Dataset does not contain search provenance fields such as matched queries or matched URLs.
The search discovery dataset retains inputQuery, your original business
search expression, in every record and in Overview. The email field contains
the first email address found in the search description, or null when none is
found.
Default Dataset: Profile records
The Dataset provides a compact Overview view, while raw items retain available Instagram fields. Common fields include:
| Group | Fields | Notes |
|---|---|---|
| Identity | pk, id, pk_id, username, full_name, url | url is the canonical public Profile URL. |
| Profile and links | profile_pic_url, profile_pic_url_hd, biography, contact_email, bio_links, external_url, pronouns | Availability depends on Instagram's public payload. |
| Counts | followers, following, post_count, total_clips_count, has_any_clips | Post count can be approximate. |
| Account details | is_private, is_verified, is_business, is_professional_account, category, account_type | Missing optional values are commonly null. |
| Optional enrichments | fb_profile, latest_posts, related_profiles | Controlled by the settings above. |
| Run metadata | ig_status, crawled_at | ig_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"}
Latest-post preview example
With skipLatestPosts disabled, latest_posts contains first-page previews available in the public Profile page. This complete example shows all 17 fields in one HTML preview item. Identifiers, captions, and media URLs have been replaced with example values.
In this sample, the page provides the caption, cover image, media type, shortcode, and basic author details. The example includes those fields, derived values such as url and hashtags, and the collection time crawled_at. carousel_media_count: 7 is the reported number of media items in the post; the HTML preview does not provide the carousel children themselves. For a video or image preview without a reported carousel count, carousel_media_count is null.
{"pk": "media-0","id": "opaque-media-0","code": "SHORT0","shortcode": "SHORT0","url": "https://www.instagram.com/p/SHORT0/","media_type": 8,"product_type": "carousel_container","caption": "Example post 0 #sample @collaborator","hashtags": ["sample"],"mentions": ["collaborator"],"accessibility_caption": "Example preview","display_uri": "https://example.com/preview-0.jpg","image": "https://example.com/preview-0.jpg","is_video": false,"user": {"id": "author-0","username": "sampleprofile"},"carousel_media_count": 7,"crawled_at": "2026-10-31T00:00: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 could not be retrieved after multiple attempts; it does not prove that an account has been deleted. These results use message: Profile not found or restricted and are saved in the default Dataset, with the status and message visible in the Overview.
A Profile that could not be retrieved after multiple attempts returns:
{"username": "myrawganics","url": "https://www.instagram.com/myrawganics/","ig_status": "not_found","message": "Profile not found or restricted","fb_profile": null,"crawled_at": "2026-09-05T10:30:00Z"}
Search discovery examples
The searchProfileResults Dataset has one row per eligible Profile URL accepted from a search page:
{"inputQuery": "vegan skincare singapore","searchPageIndex": 0,"email": "hello@example.com","isVerifiedUrl": true,"profileUrl": "https://www.instagram.com/example/","username": "example","discoveredAt": "2026-09-02T10:30:00Z"}
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
queryMaxPages limits each query to 1–10 search-result pages. The Actor
processes at most 10 results from each page, so one query can provide at most
queryMaxPages × 10 candidate results before validation and deduplication. This
does not guarantee default Profile Dataset rows: results may be missing,
invalid, duplicated, deleted, restricted, or unavailable.
The Actor schedules the next page only when the provider returns a valid next page, rather than scheduling all requested pages up front. It can therefore stop before reaching queryMaxPages.
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 uses the first-page previews available in the public Profile page. The number and available fields can vary. The Actor preserves the available items and their order without fetching more pages. Carousel previews describe the container and its reported item count; they do not include individual carousel children. Unavailable or unparseable previews produce an empty list; the Profile record is still saved. An empty latest_posts list does not mean the account has no posts.
Preview posts keep code and provide the same value as shortcode. If both are supplied with different values, a valid shortcode takes precedence. caption is text, hashtags and mentions omit their leading symbols, and previews include is_video, image, and crawled_at. Video previews have is_video: true; image and carousel previews have is_video: false. A carousel's flag describes the container, even when it contains videos. crawled_at records when the Actor collected the preview; it is not the post's publication time.
HTML previews use only the 17 fields shown in the example above. They do not include publication timestamps, engagement counts, dimensions, video URLs or durations, music details, video versions, tagged users, or carousel children. Missing optional values within the supported fields are null; hashtags and mentions are empty arrays when none are found. These previews are not a replacement for complete post or carousel collection.
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 queryMaxPages values and enabling Email discovery mode can increase usage. See the Actor's Pricing tab and your Apify usage details for current rates.
Tips and troubleshooting
| Situation | What to check |
|---|---|
| The run stops before discovery | Check that at least one non-empty search query is provided. |
| Fewer Profiles than expected | Increase queryMaxPages within 1–10, refine the query, and remember that each page has at most 10 results before validation and deduplication. |
| You need full Posts or Reels | Use a dedicated post or Reel Actor below; this Actor collects Profiles and optional latest-post previews. |
| You only need basic Profile data | Leave skipLatestPosts and skipRelatedProfiles enabled. Enable skipPostCount if post count is not needed. |
| Discovery needs a different market | Set searchCountry and searchLanguage with valid country and language codes. |
Need a different Instagram dataset?
| Actor | Description | Stats |
|---|---|---|
| Instagram Profile Scraper | Scrape public Instagram Profile data from usernames or Profile URLs. | |
| Instagram Posts & Reels Scraper | Scrape public Instagram Posts and Reels from Post or Reel URLs. | |
| Fast Instagram Profile Posts Scraper | Scrape post data from Instagram Profile pages. | |
| Instagram Profile Posts Scraper | Extract Profile post fields such as hashtags, counts, media, and shortcodes. | |
| Fast Instagram Profile Reels Scraper | Scrape public Instagram Reels from Profile pages. | |
| Instagram Hashtags Posts Scraper | Scrape public Instagram hashtag pages. | |
| Instagram Related Profiles Scraper | Discover related accounts and recursively expand Profile networks. |
Legal and ethical use
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.