Instagram has no directory. 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
The skill uses 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
Instagram’s search matches handles, display names and bios — not the content of posts. So the agent writes the words an account would put in its own name, including the local-language form, and fans out four to six overlapping queries rather than one. The other entry points, used when your input supports them:

3. Expands for free

One profile.info record carries related_profiles — up to about fifty accounts Instagram considers adjacent — inside a record already paid for.
run
The loop: qualify a batch, take the tier 1 and 2 accounts, read their related profiles, qualify the new ones. It stops at two rounds — a third drifts off the niche, since two hops from a Lisbon bakery is European food media. The agent reports what each round added.

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
Two derived numbers carry the ranking, and both say more than the follower count:
  • Last post date — the most recent timestamp in latest_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

  • limit is per input: six queries at 25 bills up to 150 records.
  • Only the shortlist gets qualified, never the whole seed set.
  • related_profiles is 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 #lisbonbakery is 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.
The same walk works on TikTok, YouTube and Facebook, where 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.

linkedin-prospector

The same idea on LinkedIn, driven by buying signals.

Instagram API

Every Instagram service, its inputs and its offers.