skillZs
LIVE SKILL TAGS
>>> LIVE SKILLS INDEX <<<
* OPEN SOURCE *
NO LOGIN, NO TRACKING
REAL INSTALL DATA
← back to all skills
fetcher-sh/fetcher-skills2.2k installs

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:, filter:), scrape a Twitter/X profile by handle, pull a user's tweets, replies, followers, or followings, fetch a single tweet with its replies or retweeters, read a Twitter List's members or tweets, check trending topics by country, or search for X accounts by name. Also covers Twitter data pipelines, competitor monitoring, hashtag tracking, sentiment analysis input, or follower export without the official X API's pricing tiers or app-review process.

How do I install this agent skill?

npx skills add https://github.com/fetcher-sh/fetcher-skills --skill twitter-api
view source ↗

Is this agent skill safe to install?

  • Gen Agent Trust Hubpass

    The skill provides a direct interface to fetch Twitter/X data through a third-party proxy service. While the skill's code and instructions are safe, it ingests untrusted content from social media, which introduces a surface for indirect prompt injection.

  • Socketpass

    No alerts

  • Snykwarn

    Risk: MEDIUM · 2 issues

What does this agent skill do?

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 — same host, same endpoints, indexed under the "X" name too since agents and users refer to the platform both ways.

Quick reference

Base URLhttps://twitter.fetcher.sh
AuthAuthorization: Bearer bby_live_... or x402 (USDC)
Price$0.002–$0.005/call
Endpoints15, all GET
MCPhttps://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 nameGET /api/search/users
Look up a profile by @handleGET /api/handle/{handle}
Get a user's followers or followingsGET /api/user/{id}/followers or /followings
Get a single tweet by IDGET /api/tweet/{id}
See who retweeted a tweetGET /api/tweet/{id}/retweeters
Read a Twitter List's tweets or membersGET /api/list/{id}/tweets or /members
Check trending topics for a countryGET /api/trends

Full param details for every row: references/endpoints.md.

Authentication

Two ways to pay, same data — full mechanics in the fetcher skill:

# 1. Prepaid credits (recommended — get a key at https://fetcher.sh/topup
#    or via POST /api/credits/topup, see the fetcher skill)
export FETCHER_API_KEY="bby_live_xxxxxxxxxxxx"
curl -H "Authorization: Bearer $FETCHER_API_KEY" \
  "https://twitter.fetcher.sh/api/search?query=hello"

# 2. x402 pay-per-call — omit the header; a GET with no payment returns 402
#    with machine-readable payment requirements (USDC on Base, Polygon,
#    Arbitrum, Monad, or Solana). @x402/fetch signs and retries automatically.

Every response is { "status": number, "message": string, "data": ... }; the HTTP status mirrors status.

Endpoints (15 — all GET, $0.005/call unless noted)

EndpointPriceWhat it returns
/api/search$0.005Tweets matching a query; supports X's advanced search operators
/api/search/users$0.005Accounts matching a name/keyword query
/api/handle/{handle}$0.005Profile by @handle
/api/handle/{handle}/about$0.005Extended profile/about info by @handle
/api/user/{id}$0.005Profile by numeric user ID
/api/user/{id}/tweets$0.005A user's tweet timeline
/api/user/{id}/replies$0.005A user's replies
/api/user/{id}/followers$0.005A user's followers
/api/user/{id}/followings$0.005Accounts a user follows
/api/tweet/{id}$0.002A single tweet by ID
/api/tweet/{id}/replies$0.005Replies to a tweet
/api/tweet/{id}/retweeters$0.005Accounts that retweeted a tweet
/api/list/{id}/members$0.005A Twitter List's member accounts
/api/list/{id}/tweets$0.005A Twitter List's tweet feed
/api/trends$0.005Trending 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:

curl -H "Authorization: Bearer $FETCHER_API_KEY" \
  "https://twitter.fetcher.sh/api/search?query=from%3AOpenAI&sort=Latest"

Between two dates:

curl -H "Authorization: Bearer $FETCHER_API_KEY" \
  --data-urlencode "query=x402 since:2026-01-01 until:2026-02-01" -G \
  "https://twitter.fetcher.sh/api/search"

Popular posts only, replies excluded:

curl -H "Authorization: Bearer $FETCHER_API_KEY" \
  --data-urlencode "query=ai agents min_faves:500 -filter:replies" -G \
  --data-urlencode "sort=Top" \
  "https://twitter.fetcher.sh/api/search"

Search accounts by name:

curl -H "Authorization: Bearer $FETCHER_API_KEY" \
  --data-urlencode "query=climate scientist" -G \
  "https://twitter.fetcher.sh/api/search/users"

Resolve a profile by handle, then pull its bio/about:

curl -H "Authorization: Bearer $FETCHER_API_KEY" \
  "https://twitter.fetcher.sh/api/handle/nasa"

curl -H "Authorization: Bearer $FETCHER_API_KEY" \
  "https://twitter.fetcher.sh/api/handle/nasa/about"

A user's tweets, replies, followers, or followings (by numeric ID from the handle lookup above):

curl -H "Authorization: Bearer $FETCHER_API_KEY" \
  "https://twitter.fetcher.sh/api/user/11348282/tweets"

curl -H "Authorization: Bearer $FETCHER_API_KEY" \
  "https://twitter.fetcher.sh/api/user/11348282/followers"

A single tweet, its replies, and who retweeted it:

curl -H "Authorization: Bearer $FETCHER_API_KEY" \
  "https://twitter.fetcher.sh/api/tweet/1234567890123456789"

curl -H "Authorization: Bearer $FETCHER_API_KEY" \
  "https://twitter.fetcher.sh/api/tweet/1234567890123456789/replies"

curl -H "Authorization: Bearer $FETCHER_API_KEY" \
  "https://twitter.fetcher.sh/api/tweet/1234567890123456789/retweeters"

A Twitter List's members and tweets:

curl -H "Authorization: Bearer $FETCHER_API_KEY" \
  "https://twitter.fetcher.sh/api/list/1234567890/members"

curl -H "Authorization: Bearer $FETCHER_API_KEY" \
  "https://twitter.fetcher.sh/api/list/1234567890/tweets"

Trending topics for a country:

curl -H "Authorization: Bearer $FETCHER_API_KEY" \
  "https://twitter.fetcher.sh/api/trends?country=United%20States"

MCP

{
  "mcpServers": {
    "twitter": {
      "url": "https://twitter.fetcher.sh/mcp",
      "headers": { "Authorization": "Bearer bby_live_..." }
    }
  }
}

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

Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.

<a href="https://skillzs.dev/skills/fetcher-sh/fetcher-skills/twitter-api">View twitter-api on skillZs</a>