Sourcelane

Instagram Influencer Search

Instagram

Operated by Sourcelane✓ verified

A searchable Instagram influencer and creator discovery tool that finds accounts by keyword and hashtag and applies configurable filters to identify niche creators; it inspects profile metadata and recent content to extract contact information (email, phone, website, business address), account classification (business/creator/personal and business category), and computed activity and engagement metrics. Technical capabilities include crawling discovered profiles, analysing a sample of recent posts and reels to compute posting frequency, recency, average likes and comments, engagement rate, median reel views and views-to-followers ratio, language detection from bio, and a quality classification for engagement; contact extraction sources include profile contact buttons, bio text and post captions. The connector supports filtering by follower ranges, verification status, account type and category keywords, presence of website or contact details, location and language heuristics, engagement thresholds, post/reel recency and posting frequency, enabling targeted discovery of influencers and businesses without requiring login or cookies.

Verified Sep 28, 3:55 AM

$0.03

per influencer account

Up to 33 per call. Only pay for results returned; failed calls are refunded.

What people use it for

Trust & reliability

7d uptime trend
WindowUptimeSuccess ratep50p95Calls
24h————0
7d————0
30d————0

Calling contract

Call it through Sourcelane's gateway or MCP server. We run the connector, apply your agent's spend guardrails, and bill only the results returned.

Call it via Sourcelane

curl -X POST https://api.usesourcelane.com/v1/call \
  -H "Authorization: Bearer sl_live_your_agent_key" \
  -H "Content-Type: application/json" \
  -d '{"listing":"instagram-influencer-search","params":{"searchQueries":["fitness coach"],"maxResults":5},"maxResults":10}'

Request params

FieldTypeRequiredDescription
searchQueriesarrayoptionalKeywords, niches or job titles to search Instagram accounts for (e.g. "fitness coach", "vegan chef", "travel photographer"). Each keyword returns Instagram's top matching accounts.
searchHashtagsarrayoptionalHashtags (with or without #) whose top posts are scanned for their authors (e.g. "homeworkout", "veganrecipes"). Great for finding creators who are actually active in a niche.
maxSearchPagesPerQueryintegeroptionalHow many result pages to fetch for each keyword (about 20 accounts per page) and each hashtag (about 24 posts per page). Increase to discover more candidates per query.
maxCountDiscoveryintegeroptionalHard ceiling on how many unique discovered accounts are enriched (profile + recent posts) and run through the filters. This bounds the run's cost and duration. Only accounts that pass every filter are returned and charged.
maxResultsintegeroptionalStop after this many influencers have passed the filters and been saved. 0 = no limit (bounded only by Max accounts to analyse). Capped at 33 per call.
extractEmailbooleanoptionalReturn the public email from the profile's contact button, or one found in the bio.
extractPhoneNumberbooleanoptionalReturn the public phone number from the profile's contact button, or one found in the bio.
extractWebsiteUrlbooleanoptionalReturn the external link from the profile bio.
extractBusinessCategorybooleanoptionalReturn the Instagram business/creator category label (e.g. "Personal trainer", "Digital creator").
extractPhysicalAddressbooleanoptionalReturn the street address, city and ZIP that business accounts publish on their profile.
extractPostsbooleanoptionalAttach the analysed recent posts (URL, type, date, likes, comments, plays, caption and any contacts parsed from the caption) to each result.
postsSampleSizeintegeroptionalHow many recent posts are fetched per account to compute engagement, posting cadence and reel views (12 per page; 12, 24 or 36). More posts = more accurate metrics but a slightly slower run.
searchContactsInPostsbooleanoptionalAlso look for emails and phone numbers in recent post captions when the profile itself does not expose them.
analyzeQualitybooleanoptionalCompute a qualityFlag (good / average / low / suspicious) from engagement rate, follower/following balance and reel reach.
minFollowersintegeroptionalSkip accounts with fewer followers than this. 0 = no minimum.
maxFollowersintegeroptionalSkip accounts with more followers than this. 0 = no maximum.
mustBeVerifiedbooleanoptionalOnly return accounts with a verified badge.
accountTypestringoptionalOnly return accounts of this Instagram account type.
categoryFilterarrayoptionalOnly return accounts whose Instagram category label contains one of these words (case-insensitive), e.g. "trainer", "coach", "creator". Accounts without a category are skipped when this is set.
hasWebsitebooleanoptionalOnly return accounts with an external link in their bio.
contactInfoTypestringoptionalOnly return accounts that expose the given contact info (from the contact button, bio, or captions when caption search is on).
locationKeywordsarrayoptionalOnly return accounts whose bio, name, city or address mentions one of these places (case-insensitive), e.g. "London", "NYC", "Australia".
profileLanguagestringoptionalOnly return accounts whose bio is detected as this language (ISO 639-1 code such as en, es, pt, fr, de, it, ru, ar, ja, ko, zh, hi, tr, id, nl). Leave empty for any language.
minEngagementRatenumberoptionalSkip accounts whose average (likes + comments) per recent post divided by followers is below this percentage. 0 = no minimum.
lastPostDaysintegeroptionalSkip accounts whose most recent post is older than this many days. 0 = no limit.
lastReelDaysintegeroptionalSkip accounts whose most recent reel is older than this many days (accounts with no reels in the sample are skipped too). 0 = no limit.
minPostsInPeriodintegeroptionalSkip accounts that published fewer than this many posts in the period defined by "Posted within the last N days" (or the last 30 days when that is 0). 0 = no minimum.
minMedianViewsintegeroptionalSkip accounts whose median reel play count is below this. Accounts with no reels in the sample are skipped when this is set. 0 = no minimum.
viewFollowerRatioMinnumberoptionalSkip accounts whose median reel views divided by followers is below this (e.g. 0.1 = reels reach at least 10% of followers). 0 = no minimum.
viewFollowerRatioMaxnumberoptionalSkip accounts whose median reel views divided by followers is above this (useful to exclude viral-only or bought-view accounts). 0 = no maximum.

Each result contains

FieldTypeDescription
urlstringUrl
usernamestringUsername
fullNamestringFull Name
profilePicUrlstringProfile Pic Url
isVerifiedbooleanIs Verified
followersintegerFollowers
followingintegerFollowing
postsCountintegerPosts Count
postsPerMonthintegerPosts Per Month
lastPostDaysAgonumberLast Post Days Ago
reelsCountintegerReels Count
lastReelDaysAgonumberLast Reel Days Ago
medianReelViewsinteger—
viewsToFollowersRationumber—
avgLikesinteger—
avgCommentsinteger—
engagementRatenumber—
qualityFlagstring—
emailstring—
emailSourcestring—
phonenull—
phoneSourcenull—
externalUrlstring—
addressnull—
businessCategorystring—
detectedLanguagestring—
accountTypestring—
biographystring—
discoveredViastring—

Use Instagram Influencer Search from Claude, ChatGPT or Cursor

Pick your tool and connect in under a minute. Then just ask — for example: “Pull the last 20 posts from @natgeo and tell me which formats get the most engagement.”

Connect Claude

Web, desktop and mobile. Paste one URL.

  1. 1Copy your personal connector URL
  2. 2In Claude open Settings → Connectors → Add custom connector
  3. 3Paste the URL and click Add — done
Manual setup (config files, REST, Python) +

Claude Code

Adds the Sourcelane MCP server with your key as a header.

terminal
claude mcp add --transport http sourcelane https://api.usesourcelane.com/mcp \
  --header "Authorization: Bearer sl_live_your_agent_key"

Claude Desktop (config file)

Alternative to the connector URL: add to claude_desktop_config.json, then restart Claude.

claude_desktop_config.json
{
  "mcpServers": {
    "sourcelane": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://api.usesourcelane.com/mcp",
        "--header",
        "Authorization:${AUTH_HEADER}"
      ],
      "env": {
        "AUTH_HEADER": "Bearer sl_live_your_agent_key"
      }
    }
  }
}

Cursor & Windsurf

Add to ~/.cursor/mcp.json (or Windsurf's mcp_config.json).

mcp.json
{
  "mcpServers": {
    "sourcelane": {
      "url": "https://api.usesourcelane.com/mcp",
      "headers": {
        "Authorization": "Bearer sl_live_your_agent_key"
      }
    }
  }
}

VS Code

Save as .vscode/mcp.json. VS Code prompts for your key once.

.vscode/mcp.json
{
  "servers": {
    "sourcelane": {
      "type": "http",
      "url": "https://api.usesourcelane.com/mcp",
      "headers": {
        "Authorization": "Bearer ${input:sourcelane-key}"
      }
    }
  },
  "inputs": [
    {
      "type": "promptString",
      "id": "sourcelane-key",
      "description": "Sourcelane agent key",
      "password": true
    }
  ]
}

ChatGPT Custom GPT (Actions)

Create a GPT → Actions → Import from URL, then Authentication: API Key, Bearer.

OpenAPI schema URL
https://usesourcelane.com/openapi.json

REST

One POST. Pass maxResults to cap cost.

curl
curl -X POST https://api.usesourcelane.com/v1/call \
  -H "Authorization: Bearer sl_live_your_agent_key" \
  -H "Content-Type: application/json" \
  -d '{"listing":"instagram-influencer-search","params":{"searchQueries":["fitness coach"],"maxResults":5},"maxResults":10}'

Python, LangChain, CrewAI, OpenAI Agents SDK…

Wrap the REST call as a tool, or point an MCP client at the endpoint.

python
import requests

res = requests.post(
    "https://api.usesourcelane.com/v1/call",
    headers={"Authorization": "Bearer sl_live_your_agent_key"},
    json={
        "listing": "instagram-influencer-search",
        "params": {"searchQueries":["fitness coach"],"maxResults":5},
        "maxResults": 10,
    },
    timeout=300,
)
body = res.json()
print(body["receipt"]["chargedMicros"], "micro-USD for", body["receipt"]["results"], "results")
print(body["data"])

Reviews

—

0 reviews

5
0
4
0
3
0
2
0
1
0

Leave a review

Loading reviews…