instagram-scout builds one for a single niche: it seeds a few accounts, walks the graph Instagram itself exposes — related profiles, mentions, commenters, places — and ranks what comes back on reach, real engagement and contact route.
Ask it who exists: creators in a niche, shops in a city, accounts like one you name, accounts that mention a brand.
It runs on the MCP server — the tools list_services and run.
What it needs from you
It never invents a handle to test whether it exists, and never rebuilds a URL from a username — yours is passed through as typed.
How it runs
1. Reads the live catalogue
list_services
profile.search, place.search, profile.info, profile.posts, profile.mentions and post.comments. A service missing from the catalogue is a lane dropped and named out loud, never silently swapped for another.
2. Seeds the candidate set
run
3. Expands for free
Oneprofile.info record carries related_profiles — up to about fifty accounts Instagram considers adjacent — inside a record already paid for.
run
4. Qualifies the shortlist in one call
The head offer takes 1000 inputs, so the shortlist is a single call whatever its size. Private accounts, backup handles and names that contradict the niche are dropped before anything is billed.run
- Last post date — the most recent
timestampinlatest_posts[]. - Engagement rate — median
likesCount÷follower_count. Above 3% is strong under 50k followers, above 1% above that. A large account at 0.2% bought its audience or lost it.
How it ranks
A business account whose
category matches the niche moves up one tier: it declared what it is instead of being guessed at. Aggregators, fan pages and repost accounts go to tier 4 whatever their size.
What you get
A table — username, profile URL, followers, engagement rate, last post, category, contact route, tier, and one line on why the account fits, quoting the bio when the bio is the evidence. Sorted by tier then engagement, never by followers: that is the number a list like this over-weights by default and the one that misleads most. It closes with the credits actually spent, added up from the responses, and how many accounts were seen, qualified and kept. If tiers 1 and 2 hold fewer than 10 accounts, it says the seed was too narrow instead of promoting tier 3 — and names the next seed, usually the strongest tier-1 account it just found.Cost control
limitis per input: six queries at 25 bills up to 150 records.- Only the shortlist gets qualified, never the whole seed set.
related_profilesis preferred over a new search, since it ships free inside a record.- Two expansion rounds, then stop.
- No offer pinned, so the router keeps its failover.
Limits
- No hashtag lane. There is no hashtag service, so
#lisbonbakeryis not an entry point — a place, a seed account or a query is. - No follower or following lists. They are not exposed. “The audience of X” here means the accounts that comment on X or mention X.
- No email guessing. A bio email is reported as found; nothing is derived from a pattern.
profile.search, profile.info, profile.posts and post.comments also exist.
Examples
You: “Find me Instagram accounts of specialty coffee roasters in Berlin” → No seed:place.search on Berlin plus three profile.search queries, one of them in German. The union is qualified, expanded once, and returned ranked.
You: “Who else is like @sourdough_lab?”
→ One seed: profile.info, read related_profiles, qualify in one batch, expand once more from the tier-1 accounts.
You: “Which accounts talk about @mybrand?”
→ profile.mentions with onlyPostsNewerThan: "3 months", posters grouped by frequency, the top ones qualified.
Related
linkedin-prospector
The same idea on LinkedIn, driven by buying signals.
Instagram API
Every Instagram service, its inputs and its offers.