twitter-api
A Twitter API alternative and X API alternative on fetcher.sh — pay-per-call in USDC via x402, or prepaid credits with a Bearer key, no OAuth and no developer application. Use when the user wants to search tweets by keyword, hashtag, or advanced operators (from:, to:, since:, until:, min_faves:, fil
By fetcher-sh · 5,348 installs
npx skills add fetcher-sh/fetcher-skills --skill twitter-api
Source repository · Upstream listing
Twitter / X API
A drop in Twitter/X data source for agents: search tweets, resolve profiles,
pull timelines and followers, read Lists, and check trends — all as one plain
HTTP GET, paid per call. No developer account, no app review, no OAuth
handshake, and no waiting on X's own API tiers or rate limit approvals. If
your task mentions a Twitter/X search query, a handle, a tweet ID, or a list
ID, this is the skill.
Base URL: https://twitter.fetcher.sh
Also published as [ x api ](../x api/SKILL.md) — same host, same
endpoints, indexed under the "X" name too since agents and users refer to the
platform both ways.
Quick reference
Base URL https://twitter.fetcher.sh
Auth Authorization: Bearer bby live ... or x402 (USDC)
Price $0.002–$0.005/call
Endpoints 15, all GET
MCP https://twitter.fetcher.sh/mcp
Machine readable /openapi.json · /llms.txt · /skill.md
Which endpoint do I need?
I want to... Call
Search tweets by keyword or operator ( from: , since: , min faves: , ...) GET /api/search
Search accounts by name GET /api/search/users
Look up a profile by @handle GET /api/handle/{handle}
Get a user's followers or followings GET /api/user/{id}/followers or /followings
Get a single tweet by ID GET /api/tweet/{id}
See who retweeted a tweet GET /api/tweet/{id}/retweeters
Read a Twitter List's tweets or members GET /api/list/{id}/tweets or /members
Check trending topics for a country GET /api/trends
Full param details for every row: [ references/endpoints.md ](references/endpoints.md).
Authentication
Two ways to pay, same data — full mechanics in the [ fetcher
skill](../fetcher/SKILL.md):
Every response is { "status": number, "message": string, "data": ... } ; the
HTTP status mirrors status .
Endpoints (15 — all GET, $0.005/call unless noted)
Endpoint Price What it returns
/api/search $0.005 Tweets matching a query; supports X's advanced search operators
/api/search/users $0.005 Accounts matching a name/keyword query
/api/handle/{handle} $0.005 Profile by @handle
/api/handle/{handle}/about $0.005 Extended profile/about info by @handle
/api/user/{id} $0.005 Profile by numeric user ID
/api/user/{id}/tweets $0.005 A user's tweet timeline
/api/user/{id}/replies $0.005 A user's replies
/api/user/{id}/followers $0.005 A user's followers
/api/user/{id}/followings $0.005 Accounts a user follows
/api/tweet/{id} $0.002 A single tweet by ID
/api/tweet/{id}/replies $0.005 Replies to a tweet
/api/tweet/{id}/retweeters $0.005 Accounts that retweeted a tweet
/api/list/{id}/members $0.005 A Twitter List's member accounts
/api/list/{id}/tweets $0.005 A Twitter List's tweet feed
/api/trends $0.005 Trending topics for a country
{id} / {handle} are path parameters — substitute the real value. Optional
query params ( cursor , sort ) paginate or reorder; only query (search) and
country (trends) are required elsewhere they appear.
Scenarios
The query on /api/search goes straight to X's own search, so its operators
work as is: from: , to: , since: , until: , min faves: , min retweets: ,
filter: , filter: .
Everything from one account:
Between two dates:
Popular posts only, replies excluded:
Search accounts by name:
Resolve a profile by handle, then pull its bio/about:
A user's tweets, replies, followers, or followings (by numeric ID from the
handle lookup above):
A single tweet, its replies, and who retweeted it:
A Twitter List's members and tweets:
Trending topics for a country:
MCP
Free: search endpoints , describe endpoint , check balance . Paid:
fetch data (any endpoint above), topup credits , plus the named shortcut
twitter search . Drop the headers block to pay per call with x402 instead —
see the [ fetcher skill](../fetcher/SKILL.md) for the full flow.
Errors
400 — missing/invalid parameter (message names it)
401 — unknown or rotated key
402 — payment required (x402 challenge) or topup required (credits
exhausted)
404 — not a priced path
No rate limits; no refunds on upstream failures (settlement precedes
delivery)
Reference
Deep dives: [ references/endpoints.md ](references/endpoints.md) (every
param) · [ references/scenarios.md ](references/scenarios.md) (one curl
per endpoint) · [ references/faq.md ](references/faq.md) ·
[ references/comparison.md ](references/comparison.md) (vs. the official
X API and a browser scraper)
Task guides: [search tweets](../../task guides/search tweets.md) ·
[export followers](../../task guides/export twitter followers.md)
Slash command: [ /twitter search ](../../commands/twitter search.md)
Full agent setup: <https://twitter.fetcher.sh/skill.md
OpenAPI 3.1 contract: <https://twitter.fetcher.sh/openapi.json
Condensed catalog: <https://twitter.fetcher.sh/llms.txt
Payment, credits, and MCP deep dive: [ fetcher skill](../fetcher/SKILL.md)
Site: <https://twitter.fetcher.sh