Operated by Sourcelane✓ verified
Collects and aggregates all accounts that engaged with one or more X (Twitter) posts via retweets, quote-tweets, and replies, producing a deduplicated lead list of unique people with aggregated engagement counts, a weighted engagement score, engagement types, and full profile metadata. The connector extracts the exact text, URL, timestamp, and like count for each quote and reply, computes per-person engagement metrics (counts and a score where replies/quotes are weighted higher than retweets), deduplicates across multiple posts, and sorts people by engagement score, breadth of posts engaged, and reach. Built for audience and competitive analysis, it returns per-person records combining engagement behavior (which posts they touched, how they engaged) with profile attributes such as handle, display name, bio, location, website, follower/following/tweet counts, verification status, account age, DM availability, and profile image/link; includes filters for repeat engagers and minimum follower thresholds.
Verified Sep 28, 3:56 AM
$0.005
per engager
Up to 100 per call. Only pay for results returned; failed calls are refunded.
| Window | Uptime | Success rate | p50 | p95 | Calls |
|---|---|---|---|---|---|
| 24h | — | — | — | — | 0 |
| 7d | — | — | — | — | 0 |
| 30d | — | — | — | — | 0 |
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":"x-post-engagers-lead-list","params":{"tweetUrls":["https://x.com/elonmusk/status/2095224843641987295"],"maxItems":5},"maxResults":10}'Request params
| Field | Type | Required | Description |
|---|---|---|---|
tweetUrls | array | required | One or more X (Twitter) post URLs (https://x.com/user/status/123...) or numeric tweet IDs. Up to 50 per run. Engagers across all posts are merged into one deduplicated list. |
includeRetweeters | boolean | optional | Collect accounts that retweeted the post(s). |
includeQuoters | boolean | optional | Collect accounts that quote-tweeted the post(s), with their quote text. |
includeRepliers | boolean | optional | Collect accounts that replied directly to the post(s), with their reply text. |
maxPerTypePerPost | integer | optional | How many retweeters / quoters / repliers to fetch for each post before moving on. Controls how deep the connector digs into very viral posts. |
minPostsEngaged | integer | optional | Only keep people who engaged with at least this many of the input posts. Set 2+ to find repeat engagers / superfans across multiple posts. |
minFollowers | integer | optional | Skip engagers with fewer followers than this. 0 disables the filter. |
excludeAuthors | boolean | optional | Leave out the accounts that wrote the input posts (they often reply in their own threads). |
maxItems | integer | optional | Maximum unique people in the output, most engaged first. Set 0 for no limit. Capped at 100 per call. |
Each result contains
| Field | Type | Description |
|---|---|---|
userId | string | User Id |
username | string | Username |
name | string | Name |
bio | string | Bio |
location | string | Location |
website | string | Website |
isVerified | boolean | Is Verified |
followersCount | integer | Followers Count |
followingCount | integer | Following Count |
tweetsCount | integer | Tweets Count |
createdAt | string | Created At |
canDm | boolean | Can Dm |
isAutomated | boolean | — |
profilePicture | string | — |
profileUrl | string | — |
engagementScore | integer | — |
engagementCount | integer | — |
postsEngaged | integer | — |
engagedPostIds | array | — |
engagementTypes | array | — |
retweets | integer | — |
quotes | integer | — |
replies | integer | — |
engagements | array | — |
Pick your tool and connect in under a minute. Then just ask — for example: “Find the 50 most-liked tweets about 'MCP servers' this month and summarise the takes.”
Connect Claude
Web, desktop and mobile. Paste one URL.
Adds the Sourcelane MCP server with your key as a header.
claude mcp add --transport http sourcelane https://api.usesourcelane.com/mcp \
--header "Authorization: Bearer sl_live_your_agent_key"Alternative to the connector URL: add to claude_desktop_config.json, then restart Claude.
{
"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"
}
}
}
}Add to ~/.cursor/mcp.json (or Windsurf's mcp_config.json).
{
"mcpServers": {
"sourcelane": {
"url": "https://api.usesourcelane.com/mcp",
"headers": {
"Authorization": "Bearer sl_live_your_agent_key"
}
}
}
}Save as .vscode/mcp.json. VS Code prompts for your key once.
{
"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
}
]
}Create a GPT → Actions → Import from URL, then Authentication: API Key, Bearer.
https://usesourcelane.com/openapi.jsonOne POST. Pass maxResults to cap cost.
curl -X POST https://api.usesourcelane.com/v1/call \
-H "Authorization: Bearer sl_live_your_agent_key" \
-H "Content-Type: application/json" \
-d '{"listing":"x-post-engagers-lead-list","params":{"tweetUrls":["https://x.com/elonmusk/status/2095224843641987295"],"maxItems":5},"maxResults":10}'Wrap the REST call as a tool, or point an MCP client at the endpoint.
import requests
res = requests.post(
"https://api.usesourcelane.com/v1/call",
headers={"Authorization": "Bearer sl_live_your_agent_key"},
json={
"listing": "x-post-engagers-lead-list",
"params": {"tweetUrls":["https://x.com/elonmusk/status/2095224843641987295"],"maxItems":5},
"maxResults": 10,
},
timeout=300,
)
body = res.json()
print(body["receipt"]["chargedMicros"], "micro-USD for", body["receipt"]["results"], "results")
print(body["data"])—
0 reviews
Leave a review
Loading reviews…