Instagram User Search Scraper
Pricing
from $0.75 / 1,000 accounts
Instagram User Search Scraper
Search public Instagram accounts by keyword, niche, person, brand, or business. Export unique matches with usernames, profile details, audience counts, country when a reliable public profile source exposes it, and available public contact data.
Pricing
from $0.75 / 1,000 accounts
Rating
0.0
(0)
Developer
Maxime Dupré
Maintained by CommunityActor stats
0
Bookmarked
138
Total users
42
Monthly active users
44 minutes ago
Last modified
Categories
Share
🔎 Turn Instagram keywords into profile lists
Built for marketers, researchers, agencies, and creator teams, Instagram User Search Scraper finds public Instagram accounts from your keywords. It saves one row per unique account with the first keyword that found it, account identity, country when Instagram exposes it, audience counts, business details, and public contact data when available. Use the rows to build creator lists, review brands, or export account data.
- Build a creator shortlist from a niche with Instagram influencer discovery.
- Find public account contacts for outreach research with Instagram lead generation.
- Study creators, categories, counts, and verification flags with Instagram creator research.
- Compare public brand and business accounts around a market term with Instagram competitor research.
- Map accounts around products, audiences, and locations with Instagram market research.
- Export keyword-matched account profiles for a spreadsheet with Instagram profile data export.
📊 Instagram account rows
Each saved row is one unique public Instagram account. The Actor keeps the first eligible match for an account and ignores later duplicate matches. Its matchedKeyword field records the keyword tied to that first saved match. Rows include identity, privacy and verification flags, country when explicitly exposed, audience counts, business details, public links, and public contact fields when available. Missing optional values are null.
▶️ Search Instagram accounts by keyword
Run steps
- Open the Actor's Input tab.
- Add one or more keywords, such as
vegan chef,Montreal photographer, or a brand name. Each term is searched independently. - Set an optional maximum number of unique accounts for the run. Leave it empty to return all available results until the source is exhausted.
- Optionally choose an account type to keep only personal, business, or professional accounts.
- Start the run and open the dataset when it finishes.
Use clear terms that describe a niche, person, brand, or business. Results depend on the public account matches available for each term, so the Actor is not a guaranteed exhaustive directory.
⚙️ Input
Input fields
| Field | Type | What it does |
|---|---|---|
keywords | array of strings | Required. Add one or more keywords, niches, people, brands, or businesses. Each term is searched independently. |
minFollowers | integer (optional) | Keeps only accounts with at least this many public followers. Leave it empty to include accounts with any follower count. |
maxFollowers | integer (optional) | Keeps only accounts with at most this many public followers. Leave it empty to include accounts with any follower count. |
verifiedOnly | boolean | When enabled, keeps only accounts Instagram marks as verified. Leave it off to include verified and unverified accounts. |
accountType | string (optional) | Keeps only personal, business, or professional accounts that Instagram identifies as that type. |
maxItems | integer (optional) | Sets the maximum number of unique accounts across all search terms. Leave it empty to return all available results until the source is exhausted. |
Example input
This is the public input from a successful current-beta run:
{"keywords": ["fitness coach"],"maxItems": 1}
Profile details are included when Instagram makes them public. There is no separate enrichment input.
🧾 Output
Output link
| Field | Type | What it does |
|---|---|---|
results | link | Opens the unique account rows in the default dataset's overview view. |
Account rows
Each dataset row has the same account shape. The Actor saves the first eligible match for an account and does not add later duplicate matches. The matchedKeyword field records the submitted keyword tied to that first saved match. Country is copied only when a reliable public profile source explicitly provides it. The field is null when it is unavailable.
| Field | Type | What it does |
|---|---|---|
userId | string | Stable Instagram account ID. |
username | string | Instagram account username. |
fullName | string or null | Display name shown for the account, or null when unavailable. |
country | string or null | Country explicitly exposed by a reliable public profile source, or null when unavailable. The Actor does not infer it from names, language, emojis, biography wording, or search terms. |
profilePictureUrl | URL or null | Public profile-picture URL, or null when unavailable. |
isPrivate | boolean | Whether Instagram marks the account as private. |
isVerified | boolean | Whether Instagram marks the account as verified. |
matchedKeyword | string | Submitted keyword tied to the account's first saved match. |
biography | string or null | Public profile biography, or null when unavailable. |
websiteUrl | URL or null | External website published on the profile, or null when unavailable. |
followerCount | integer or null | Public follower count, or null when unavailable. |
followingCount | integer or null | Public following count, or null when unavailable. |
postCount | integer or null | Public post count, or null when unavailable. |
isBusinessAccount | boolean or null | Whether Instagram identifies the profile as a business account, or null when unavailable. |
category | string or null | Public business or creator category, or null when unavailable. |
publicEmail | string or null | Email explicitly published by the account, or null when unavailable. |
publicPhone | string or null | Phone number explicitly published by the account, or null when unavailable. |
The row below is a genuine account row from the successful current-beta default-input run. This row includes a country that the public profile source exposed.
{"userId": "17841409649152381","username": "fitnesscoachingteam","fullName": "Fitness Coaching Team | Coach","profilePictureUrl": "https://scontent.cdninstagram.com/v/t51.2885-19/272022088_626829711910252_2257898438432190419_n.jpg?stp=dst-jpg_s150x150_tt6&_nc_cat=106&ccb=7-5&_nc_sid=f7ccc5&efg=eyJ2ZW5jb2RlX3RhZyI6InByb2ZpbGVfcGljLnd3dy42MTIuQzMifQ%3D%3D&_nc_ohc=FTHgDA_SVAYQ7kNvwFfDkp0&_nc_oc=Adpjet8WTvpjUqs0byGl4WwdnWZfeVQo-A1Y1GljSEtKMeGhtsHPSgDBXwJ8rX6kCjI&_nc_zt=24&_nc_ht=scontent.cdninstagram.com&_nc_ss=73a8c&oh=00_AQOj2pkNRu7Bj6OvJm_iMRg9H56S8V4pJGNzeGNhUabX2w&oe=6AC0A810","isPrivate": false,"isVerified": false,"matchedKeyword": "fitness coach","country": "France","biography": "⚡ FCT – Fitness Coaching Team \n📈 Développe ton activité de coach \n🤝 +30 coachs accompagnés \n👇 Rejoins-nous","websiteUrl": "https://linktr.ee/fitnesscoachingteam","followerCount": 483,"followingCount": 548,"postCount": 48,"isBusinessAccount": true,"category": "Fitness Trainer","publicEmail": null,"publicPhone": null}
Export the default dataset in JSON, CSV, Excel, XML, RSS, or HTML, or retrieve it through the Apify API.
💳 Pricing
This Actor uses pay-per-event pricing. One account event applies when a unique Instagram account is successfully saved to your dataset. Each saved account uses the same event, whether optional public fields are present or not. The number of account events follows the number of unique accounts saved.
🔌 Integrations
Open the results in the Apify dataset, export them as JSON, CSV, Excel, XML, RSS, or HTML, or read them through the Apify API.
❓ FAQ
What happens when the same account matches more than one keyword?
The Actor saves the first eligible account match and ignores later matches for that account. The saved row describes that first match only.
Why did I receive fewer accounts than maxItems?
maxItems is a cap, not a promised count. A term may have fewer available public matches, and some accounts may not have the required identity and status data. Leave maxItems empty to return all available results until the source is exhausted.
What happens when a keyword has no matches?
That term produces no account rows. Other terms can still return their own saved matches.
Can every account include an email or phone number?
No. Contact fields appear only when an account exposes them publicly. Unavailable optional values are null.
Can every account include a country?
No. Country is included only when Instagram's public profile-information data explicitly exposes it. The Actor does not guess from a name, language, emoji, biography, or search term. Otherwise the field is null.
Can the Actor access private profiles or private data?
No. It can return a public account's privacy flag, but it does not provide private-profile content or data Instagram does not expose publicly.
Does it search posts, Reels, hashtags, locations, followers, or following lists?
No. It searches public accounts by text keywords. Use a specialized Actor for those other sources.
Is this the official Instagram API?
No. It is a focused Actor for keyword-based public account discovery and structured exports. It does not provide every official API capability.
📝 Changelog
v2.0 (28-09-2026)
- Add a
countryfield when Instagram publicly provides a country, and usenullwhen it is unavailable. - Replace
matchedKeywordswithmatchedKeywordfor the first keyword that found each account. - Add an account type filter for personal, business, or professional accounts.
v1.1 (15-09-2026)
- Filter account results by minimum followers, maximum followers, or verified status.
- Keep results from other keywords when one keyword has no public account matches.
v1.0 (10-09-2026)
- Search all available public account results when no maximum is set.
- Save each account once and show the keyword that first found it.
- Include available public profile, audience, business, and contact details in account rows.
- Open the default dataset view labeled Instagram accounts.
v0.0
- Initial release.
🆘 Support
For issues, questions, or feature requests, file a ticket and I'll fix or implement it in less than 24h 🫡
🔗 Related Actors
- Instagram Profile Stats Scraper: Check known public profiles and export follower, following, and post counts.
- Instagram Related Users Scraper: Explore related public accounts from a known seed profile.
- Instagram Hashtag Username Scraper: Find account usernames from public posts under a hashtag.
- Instagram Post & Reel Content Scraper: Collect public posts and Reels from profiles you want to study.
- Influencer Scraper: Build public influencer lists across TikTok, Instagram, and YouTube.
Made with ❤️ by Maxime Dupré