Scrape historical tweets from any X (Twitter) account
X's timeline only scrolls back so far, and the official full-archive search is on the most expensive API tier. This connector walks an account's history in date windows and returns every tweet between your start and end dates — full text, engagement, media and links — filtered by keyword, language or whether to include replies and retweets.
From $0.002 per tweet · no API key · failed calls refunded
What you get
- Every tweet between a start and end date
- Likes, retweets, replies, quotes, views and bookmarks
- Hashtags, mentions, links and media URLs
- Reply, quote and retweet flags
- Keyword, language and reply filters
- Mentions of any account over a date range
Just ask your AI
“Get every tweet @paulg posted in 2019 and group them by topic.”
“Pull @brand's tweets from the last two years that mention 'pricing' and chart the engagement.”
Connectors behind it
Your AI picks the right one for the question. Each is priced per result and refunded if it fails.
usernametweetIdurltextcreatedAtlangX (Twitter) Tweet Scraper$0.001 per tweetSearch and export tweets from X (Twitter) using advanced query syntax — filter by user, date, language, hashtag, and engagement. No login required.tweetIdurltextcreatedAtlangsourceX (Twitter) User Mentions Scraper$0.003 per mentionExtract every tweet mentioning an X (Twitter) username - full text, author, and engagement metrics for brand monitoring and social listening.mentionedUsernametweetIdurltextcreatedAtlangUse the Historical tweets API from Claude, ChatGPT or Cursor
Pick your tool and connect in under a minute. Then just ask — for example: “Get every tweet @paulg posted in 2019 and group them by topic.”
Connect Claude
Web, desktop and mobile. One click, then confirm.
- 1Click Add to Claude — claude.ai opens with Sourcelane filled in
- 2Click Continue to confirm — it then works in Claude desktop and mobile too
Manual setup (config files, REST, Python) +
Claude Code
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"Claude Desktop (config file)
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"
}
}
}
}Cursor & Windsurf
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"
}
}
}
}VS Code
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
}
]
}ChatGPT Custom GPT (Actions)
Create a GPT → Actions → Import from URL, then Authentication: API Key, Bearer.
https://usesourcelane.com/openapi.jsonREST
One 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-historical-tweets-scraper","params":{"usernames":["NASA"],"startDate":"2023-01-01"},"maxResults":10}'Python, LangChain, CrewAI, OpenAI Agents SDK…
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-historical-tweets-scraper",
"params": {"usernames":["NASA"],"startDate":"2023-01-01"},
"maxResults": 10,
},
timeout=300,
)
body = res.json()
print(body["receipt"]["chargedMicros"], "micro-USD for", body["receipt"]["results"], "results")
print(body["data"])Historical tweets API — FAQ
How far back can it go?+
Years — set any start date. It splits the range into windows so long histories come back complete.
Can I search historical tweets by keyword instead of account?+
Yes. The X Tweet Scraper accepts advanced search with since: and until: dates for any keyword.
Do I need a X (Twitter) API key or developer account?+
No. Sourcelane runs the connectors for you. You top up a balance with a card, create an agent key, and your agent calls the connector — there is no X (Twitter) app review, OAuth setup or rate-limit juggling on your side.
Which AI tools can use it?+
Anything that speaks MCP (Claude Desktop, Claude Code, Cursor, VS Code, Windsurf) can connect to the Sourcelane MCP server with one config block. ChatGPT can use it through a Custom GPT Action, and any agent framework can call the REST endpoint directly.
Can I stop an agent from overspending?+
Yes. Every agent key has its own per-call cap, daily and monthly limits, an optional lifetime budget, an allowlist of connectors, and a kill switch.

