FETCHAPI

Search X posts by keyword API

One call searches tweets for the query (we sent search_type Top). One item in timeline[] is a tweet with its media, counts and author profile. Our call held 20 tweets (3 shown plus '… 17 more'). Pass next_cursor as the cursor parameter for the next page.

2 live routes on X, from $0.00009 per call. Every route below answered our last live test on 2026-10-06; the gateway re-tests them daily.

Get a keySee it in the catalogUse it from MCP

Price per call, by route

The upstream price you are metered at, cheapest first. A route without a published price says so.

ProviderEndpointPriceTested
twitter-api45RapidAPI listing
SearchCHEAPESTGET search.php$0.00009$0.09 / 1k calls✓ 2026-10-06pricing ↗
twitter-api47RapidAPI listing
SearchGET v3/search$0.00019$0.19 / 1k calls✓ 2026-10-06pricing ↗

What it returns

From a real call to the cheapest route: twitter-api45.

One call searches tweets for the query (we sent search_type Top). One item in timeline[] is a tweet with its media, counts and author profile. Our call held 20 tweets (3 shown plus '… 17 more'). Pass next_cursor as the cursor parameter for the next page.
timeline[].tweet_idtweet idtimeline[].texttweet texttimeline[].created_atpost timetimeline[].screen_nameauthor handletimeline[].favoriteslike counttimeline[].retweetsretweet counttimeline[].repliesreply counttimeline[].viewsview count (string)timeline[].user_info.rest_idauthor user idtimeline[].user_info.followers_countauthor follower counttimeline[].mediaattached photo or videotimeline[].conversation_idid of the conversation rootnext_cursorcursor for the next page

Paging (twitter-api45): read `next_cursor` from the answer and send it back as `cursor=` for the next page; stop when it is empty or repeats; keep the same `search_type` (Top|Latest) on every page, a cursor belongs to its own sort. From MCP: call_endpoint("rapidapi-twitter-api45.search", params, pages=3) follows it for you.

Paging (twitter-api47): read `pagination.nextCursor` from the answer and send it back as `cursor=` for the next page; stop when it is empty or repeats; keep the same `type` (Top|Latest|People|Photos|Videos) on every page, a cursor belongs to its own sort. From MCP: call_endpoint("rapidapi-twitter-api47.search", params, pages=3) follows it for you.

Call it

HTTP with your key in x-api-key, or the call_endpoint tool of our MCP server.

GET /api/gw/rapidapi-twitter-api45/search.php$0.00009 / call✓ working · tested 2026-10-062.05 s latency
Parameters
ParameterTypeNotes
cursorstring · queryoptional
search_typestring · queryoptionalone of Top, Latest, Media, People, Listse.g. Top
querystring · queryrequireddefault cybertruck
HTTP
curl "https://fetchapi.co/api/gw/rapidapi-twitter-api45/search.php?query=cybertruck&search_type=Top" \
  -H "x-api-key: YOUR_KEY"
MCP
call_endpoint("rapidapi-twitter-api45.search", {"query": "cybertruck", "search_type": "Top"})
Real example answer (trimmed) · 2026-10-03
{
  "status": "ok",
  "timeline": [
    {
      "lang": "en",
      "text": "2027 TESLA Cybertruck Pickup Is Here. Rate this ride 1–10! https://t.co/m4QJEi61hw",
      "type": "tweet",
      "media": {
        "video": [
          {
            "id": "2105626489479688192",
            "duration": 6041,
            "variants": [
              "…",
              "… 2 more"
            ],
            "aspect_ratio": [
              "…",
              "… 1 more"
            ],
            "original_info": {
              "width": "…",
              "height": "…",
              "focus_rects": "…"
            },
            "media_url_https": "https://pbs.twimg.com/amplify_video_thumb/2105626489479688192/img/NjQnbutN3R_la8Rz.jpg"
          }
        ]
      },
      "views": "593519",
      "quotes": 100,
      "source": null,
      "replies": 915,
      "entities": {
        "urls": [],
        "media": [
          {
            "url": "https://t.co/m4QJEi61hw",
            "type": "video",
            "sizes": {
              "large": "…",
              "small": "…",
              "thumb": "…",
              "medium": "…"
            },
            "id_str": "2105626489479688192",
            "indices": [
              "…",
              "… 1 more"
            ],
            "media_key": "13_2105626489479688192",
            "video_info": {
              "variants": "…",
              "aspect_ratio": "…",
              "duration_millis": "…"
            },
            "display_url": "pic.x.com/m4QJEi61hw",
            "expanded_url": "https://x.com/teslacarsonly/status/2105626527161528331/video/1",
            "grok_post_id": "ca5680ac-559f-42ad-b025-1d08f9876905",
            "media_results": {
              "result": "…"
            },
            "original_info": {
              "width": "…",
              "height": "…",
              "focus_rects": "…"
            },
            "media_url_https": "https://pbs.twimg.com/amplify_video_thumb/2105626489479688192/img/NjQnbutN3R_la8Rz.jpg",
            "additional_media_info": {
              "monetizable": "…"
            },
            "…": "1 more fields"
          }
        ],
        "symbols": [],
        "hashtags": [],
        "timestamps": [],
        "user_mentions": []
      },
      "retweets": 503,
      "tweet_id": "2105626527161528331",
      "bookmarks": 340,
      "favorites": 4770,
      "sensitive": false,
      "…": "5 more fields"
    },
    "… 3 more"
  ],
  "next_cursor": "DAACCgACHTulzhYAJxAKAAMdO6XOFf_Y8AgABAAAAAILAAUAAADwRW1QQzZ3QUFBZlEvZ0dKTjB2R3AvQUFBQUJRZE1yL2orMXZR…",
  "prev_cursor": "DAACCgACHTulzhYAJxAKAAMdO6XOFf_Y8AgABAAAAAELAAUAAADwRW1QQzZ3QUFBZlEvZ0dKTjB2R3AvQUFBQUJRZE1yL2orMXZR…"
}
Other routes for this job
twitter-api47 · Search$0.00019
GET /api/gw/rapidapi-twitter-api47/v3/search$0.00019 / call✓ working · tested 2026-10-062.23 s latency
Parameters
ParameterTypeNotes
typestring · queryrequired Required by the API (it answers 400 without it): Top or Latest. · one of Top, Latest, People, Photos, Videos · default Top
cursorstring · queryoptional
querystring · queryrequireddefault spacex
HTTP
curl "https://fetchapi.co/api/gw/rapidapi-twitter-api47/v3/search?type=Top&query=spacex" \
  -H "x-api-key: YOUR_KEY"
MCP
call_endpoint("rapidapi-twitter-api47.search", {"type": "Top", "query": "spacex"})

Related X APIs

All 36 X jobs →

One key for every API on this page.

Call it over HTTP or from any MCP client. Each key has a rate limit and a monthly cap; calls are metered at the upstream price.