Sourcelane

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

Works with

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.

Use 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.

  1. 1Click Add to Claude — claude.ai opens with Sourcelane filled in
  2. 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.

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":"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.

python
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.

Featured onEarlyHuntFeatured on CodeHypeFeatured on Twelve ToolsFeatured on Wired BusinessSourcelane - Featured on Startup FameVerified on DANG!Listed on Turbo0Featured on neeed.directoryFeatured on Findly.toolsAI X CollectionWhat Is Ai ToolsFeatured on SaaSCityFeatured on EaseClawFeatured on AdslyListed on AtTopSourceLane on goodSaaSLaunching soon on LaunchItFeatured on FazierFazier badge