Operated by Sourcelane✓ verified
A bulk account metadata extractor for X (Twitter) that pulls the platform's "About this account" provenance signals for many handles at once without login or cookies. It collects the country X reports the account operates from, account creation date and computed age (including a new-account flag for accounts under 90 days), signup source and normalized platform (App Store / Google Play / Web), username change counts and frequency flags, declared organizational affiliation and badge details, verification status types and the date verification began, accuracy indicators for country and location, protected status, display name and user identifier, and profile image and URL. The connector normalizes these origin/history signals into per-account records and marks accounts with provenance-related flags useful for large-scale analysis, automated screening, and OSINT workflows.
Verified Sep 28, 3:55 AM
$0.005
per account
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-account-origin-checker","params":{"maxItems":5},"maxResults":10}'Request params
| Field | Type | Required | Description |
|---|---|---|---|
maxItems | integer | optional | Stop after this many accounts. Set 0 to check every username provided. Capped at 100 per call. |
concurrency | integer | optional | How many lookups to run in parallel (1-10). |
Each result contains
| Field | Type | Description |
|---|---|---|
username | string | Username |
userId | string | User Id |
name | string | Name |
accountBasedIn | string | Account Based In |
countryAccurate | boolean | Country Accurate |
locationAccurate | boolean | Location Accurate |
signupSource | string | Signup Source |
signupPlatform | string | Signup Platform |
createdAt | string | Created At |
accountAgeDays | integer | Account Age Days |
accountAgeYears | number | Account Age Years |
isNewAccount | boolean | Is New Account |
usernameChangeCount | integer | — |
hasChangedUsername | boolean | — |
affiliateUsername | null | — |
affiliateLabel | null | — |
affiliateLabelType | null | — |
affiliateBadgeUrl | null | — |
isBlueVerified | boolean | — |
isLegacyVerified | boolean | — |
isIdentityVerified | boolean | — |
verifiedSince | string | — |
isProtected | boolean | — |
profilePicture | string | — |
profileUrl | string | — |
flags | 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-account-origin-checker","params":{"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-account-origin-checker",
"params": {"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…