Instagram User Search Scraper avatar

Instagram User Search Scraper

Pricing

from $0.47 / 1,000 results

Go to Apify Store
Instagram User Search Scraper

Instagram User Search Scraper

Instagram user search scraper: search accounts by keyword the way the app's search box does: username, name, verified and private flags, picture. Add profile details for followers, bio, links, category and business contacts. Also finds hashtags and places.

Pricing

from $0.47 / 1,000 results

Rating

0.0

(0)

Developer

Dami's Studio

Dami's Studio

Maintained by Community

Actor stats

0

Bookmarked

6

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Features

Limited permissions

Share

Instagram user search scraper: search accounts by keyword, the way the app's search box does: type words like "coffee roaster" or "yoga teacher" and get one row per account Instagram returns, with username, name, verified and private flags and picture, and on request each account's followers, bio, links, category and the contact details a business chooses to show.

Instagram's search is shallow on purpose: for most words it goes a few dozen accounts deep, ranked its own way. Run more words to cover more ground. The same search also finds hashtags with their post counts, or places with their map position.

InputUp to 20 search words, as you'd type them into Instagram's search
OutputOne row per account: username, name, user id, profile link, verified, private, picture; with profile details also followers, following, posts, bio, website and bio links, category, account type, published business e-mail, phone and address; on request also its latest posts with engagement figures, related profiles, and country and join date
Ceiling200 results per word, 2,000 per run
Account neededNone from you
Price$0.47 per 1,000 results, plus $2.60 per 1,000 accounts with profile details and $1.30 per 1,000 for each other add-on when you turn them on, the same on every plan. The free plan's $5 a month covers about 10,600 results
Using an AI agent?
Actordami_studio/instagram-user-search-scraper
Set one fieldsearchQueries, labelled "Search words" in the Console
Cap the billmaxTotalChargeUsd on the run, for example 0.10: it never charges past that
MCP, one linkhttps://mcp.apify.com/?tools=fetch-actor-details,dami_studio/instagram-user-search-scraper
How oftenWeekly, to see which accounts rise for your niche's words

🔍 What Instagram User Search Scraper does

Each word goes through Instagram's own account search, and the accounts come back in Instagram's order, with rank saying where each one stood and searchQuery which word found it. An account two words found arrives once.

With Add profile details on, each account's profile is read too. That's what the follower, account type, bio and contact filters work on, so they need it.

Search for switches the same words to hashtags (name, post count, link) or places (name, address, city, latitude, longitude, link).

📋 What data you get from each Instagram account

What you getField
Username, name, user id, profile linkusername, fullName, userId, profileUrl
Verified and private flags, pictureisVerified, isPrivate, profilePicUrl
Rank and the word that found itrank, searchQuery
Followers as Instagram writes them in search, when it doessearchSubtitle, followersFromSearch
Followers, following, posts (profile details)followerCount, followingCount, postCount
Bio, website, bio links (profile details)biography, externalUrl, bioLinks
Category and account type (profile details)category, accountType, isBusinessAccount
What a business publishes to be contacted (profile details)publicEmail, publicPhone, businessAddress
Large picture (profile details)profilePicUrlHd
Latest posts and their figures (add-on)latestPosts, avgLikes, avgComments, medianViews, engagementRate, postsPerWeek, lastPostAt, daysSinceLastPost
Related profiles (add-on)relatedProfiles
Country and join date (add-on)country, dateJoined, accountAgeDays, formerUsernameCount
Hashtag rowsname, url, mediaCount, mediaCountText
Place rowsname, placeId, url, address, city, latitude, longitude

▶️ How to search Instagram users by keyword

  1. Open the actor and go to the Input tab.
  2. Type your words into Search words, one per line.
  3. Turn on Add profile details if you need followers, bios or the filters, and any of the other add-ons under More about each account.
  4. Set Results per search word and Maximum results in all, then press Start.
  5. Open the Output tab; the Accounts view shows the main columns.

💰 How much does it cost to search Instagram users?

$0.47 per 1,000 results on every plan. With profile details, each account costs $2.60 per 1,000 on top, so $3.07 per 1,000 detailed accounts. Latest posts, related profiles, and country and join date are $1.30 per 1,000 accounts each, charged only for an account that has them. The free plan's $5 a month covers about 10,600 results, or about 1,620 with profile details.

Not charged: note rows (a word with no results, a filter nothing passed, a stop), accounts a filter leaves out, and duplicates inside a run.

📥 What you give it

FieldWhat it doesDefault
searchQueriesWords or phrases, up to 20none
searchTypeaccounts, hashtags or placesaccounts
maxResultsPerQueryResults kept for each word, up to 20020
maxResultsThe most results a run delivers, up to 2,000100
includeProfileDetailsRead each account's profile (paid)false
verifiedOnlyKeep only accounts with the blue checkfalse
includePrivateProfilesKeep private accounts (name and picture only)true
excludeAccountsHandles or profile links to leave outnone
minFollowers, maxFollowersFollower range (needs profile details)none
accountTypeany, personal, business, creator or professional (business or creator), needs profile detailsany
bioKeywords, excludeBioKeywordsWords the bio or name must or must not contain (needs profile details)none
onlyWithEmail, onlyWithWebsiteKeep accounts that publish an e-mail, or that have a website or bio links (needs profile details)false
includeLatestPostsAdd each account's latest posts and their figures (paid)false
includeRelatedProfilesAdd the accounts Instagram suggests beside each account (paid)false
includeAccountAboutAdd the country, join date and former-username count (paid)false

A filter that needs profile details is refused, before anything is looked up, when profile details are off. With such a filter on, a run reads at most twice as many profiles as the results it keeps for each word, so a tight filter can return fewer than you asked for; a free note says so.

{
"searchQueries": ["coffee roaster"],
"includeProfileDetails": true,
"minFollowers": 5000,
"maxResultsPerQuery": 20
}

📤 What you get back

A real row from a run on 7 November 2026, trimmed:

{
"recordType": "account",
"ok": true,
"charged": true,
"rank": 3,
"searchQuery": "coffee roaster",
"username": "stumptowncoffee",
"fullName": "Stumptown Coffee Roasters",
"userId": "11498596",
"profileUrl": "https://www.instagram.com/stumptowncoffee/",
"isVerified": true,
"isPrivate": false,
"searchSubtitle": "308K followers",
"followersFromSearch": 308000,
"hasDetails": true,
"followerCount": 308253,
"followingCount": 2541,
"postCount": 4141,
"biography": "Highest Quality ☕️ Roasted Daily\nCertified B Corporation",
"externalUrl": "http://linktr.ee/stumptowncoffee",
"bioLinks": ["http://linktr.ee/stumptowncoffee"],
"category": null,
"accountType": "business",
"isBusinessAccount": true,
"publicEmail": null,
"publicPhone": null,
"businessAddress": null
}
FieldWorth knowing
followersFromSearchRounded, from the text under the account in search; filled for a few accounts per search. followerCount is exact
Profile detail fieldsEmpty without profile details, and empty when the account doesn't show that part
engagementRateAverage likes plus comments of the latest posts, over the followers, in percent: needs profile details as well as latest posts
latestPostsThe first page of the account's grid, newest first; isPinned marks a post the account pinned to the top
profilePicUrl, profilePicUrlHdLinks on Instagram's servers that expire after a few days

🧾 Reading the output

Real rows carry ok: true and charged: true, and recordType is account, hashtag or place. Each is billed as a result; rows with hasDetails: true are billed profile details as well, and hasLatestPosts, hasRelatedProfiles and hasAccountAbout mark the other add-ons billed on that row.

Note rows carry recordType: "note", ok: false and an errorCode, and are never billed:

CodeMeaning
BAD_INPUTA field couldn't be used; details says which
NO_RESULTSInstagram returned nothing for this word
FILTERED_OUTProfiles were read but too few passed your filters
NOT_SERVEDInstagram didn't serve this word in this run; re-run it later
MAX_ITEMS, COST_LIMIT, TIME_LIMITThe run stopped at your result limit, spending limit or time limit
FREE_PLAN_LIMITA free-plan run stopped early; a paid plan runs the whole input
UNEXPECTED_ERRORThe run stopped on an error on our side; rows before it are kept

To keep only results, filter on ok == true.

💡 What people use it for

  • Brands looking for creators in a niche: search the niche's words, keep business or creator accounts between 5,000 and 100,000 followers, and read the bios.
  • Agencies listing the cafés, gyms or studios of a city: "yoga studio lisbon", with the address and the e-mail they publish.
  • Checking which accounts own a keyword before a launch, by rank.
  • Finding the hashtags people actually use around a topic, with their post counts.

A recipe with our other actors: search accounts here, keep the ones you want by followerCount or category, then pass their usernames to Instagram Profile Scraper for their latest posts, or to Instagram Reel Scraper for their reels.

🚧 What it does not do

  • No private profile details: a private account comes back with its name and picture only.
  • No lists of who follows an account.
  • No posts or reels in the rows; see the routing table below.
  • It is not an official Instagram tool. Dami's Studio is independent and is not affiliated with or endorsed by Instagram or Meta, or by any other company named on this page.

🧭 Which Instagram scraper do you need?

If you wantUse
Accounts, hashtags or places for a wordThis one, Instagram User Search Scraper
Full profiles and latest posts of accounts you already knowInstagram Profile Scraper
Reels for a keyword or hashtagInstagram Reels Search Scraper
Posts under a hashtagInstagram Hashtag Scraper
Posts at a placeInstagram Location Scraper

❓ Questions people ask

Do I need an Instagram account to search users?

No, you don't need one, and there's no cookie to paste.

Why do I get fewer accounts than I asked for?

Instagram's account search stops after a few dozen results for most words. Add more words, or nearby phrasings, to reach further.

Why don't the results match what I see in the app?

Instagram ranks search for each viewer, so your app shows its own order. Follower counts keep moving and the app rounds them.

Can I call it from code or connect it to an AI assistant?

Yes. The API tab on the actor page has ready code. For an assistant, use the MCP link https://mcp.apify.com/?tools=fetch-actor-details,dami_studio/instagram-user-search-scraper.

from apify_client import ApifyClient
client = ApifyClient("<YOUR_API_TOKEN>")
run = client.actor("dami_studio/instagram-user-search-scraper").call(
run_input={"searchQueries": ["coffee roaster"], "maxResultsPerQuery": 20},
max_total_charge_usd=0.10,
)
for row in client.dataset(run["defaultDatasetId"]).iterate_items():
if row.get("ok") is False:
continue
print(row["username"], row["fullName"])

This reads public search results and public profiles only, never private accounts or messages, and you need no account. Results contain personal data, which GDPR and similar laws cover, so keep only what you need, and mind the rules on cold contact before you use a published e-mail or phone number. Instagram's own terms still apply to what you do with the data. Apify's write-up on the legality of web scraping is a good starting point, and we are not lawyers.

🆘 If something breaks

Open the Issues tab on the actor page. Include the run ID and the search words you used.