FETCHAPI

Search X posts by keyword API

One call returns up to 3 TikTok videos matching a keyword, with each showing the video ID, description, music, engagement stats, and playback URLs. The answer held 3 items per page and indicates more pages exist. Get the next page by incrementing the `page` parameter.

1 live route on TikTok, from $0.00005 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
tiktok-api23RapidAPI listing
Discover Posts by KeywordGET api/post/discover$0.00005$0.05 / 1k calls✓ 2026-10-06pricing ↗

What it returns

From a real call to the route: tiktok-api23.

One call returns up to 3 TikTok videos matching a keyword, with each showing the video ID, description, music, engagement stats, and playback URLs. The answer held 3 items per page and indicates more pages exist. Get the next page by incrementing the `page` parameter.
videoList[].idVideo IDvideoList[].descVideo description and hashtagsvideoList[].music.titleBackground music titlevideoList[].stats.playCountVideo play countvideoList[].stats.diggCountVideo like countvideoList[].stats.commentCountVideo comment countvideoList[].video.playAddrVideo playback URLvideoList[].author.uniqueIdCreator usernamehasMoreWhether more pages available

Call it

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

GET /api/gw/rapidapi-tiktok-api23/api/post/discover$0.00005 / call✓ working · tested 2026-10-061.39 s latency
Parameters
ParameterTypeNotes
pagenumber · queryoptionaldefault 1
keywordstring · queryrequireddefault new-year
HTTP
curl "https://fetchapi.co/api/gw/rapidapi-tiktok-api23/api/post/discover?page=1&keyword=new-year" \
  -H "x-api-key: YOUR_KEY"
MCP
call_endpoint("rapidapi-tiktok-api23.discover_posts_by_keyword", {"page": "1", "keyword": "new-year"})
Real example answer (trimmed) · 2026-10-03
{
  "extra": {
    "now": 1791057288000,
    "logid": "20261003195448CBB2A66744E047210E06",
    "fatal_item_ids": []
  },
  "log_pb": {
    "impr_id": "20261003195448CBB2A66744E047210E06"
  },
  "hasMore": true,
  "videoList": [
    {
      "id": "7590819633674898720",
      "desc": "Antwoorden op @Sam Oris fake nye countdown so they don’t mis…",
      "music": {
        "id": "7404783005917480977",
        "album": "Alegria",
        "title": "Alegria",
        "playUrl": "https://sf16.tiktokcdn-us.com/obj/tos-alisg-ve-2774/ocgZeTxM…",
        "duration": 78,
        "original": false,
        "authorName": "Sweet Dreams & D'Michel Leb",
        "coverLarge": "https://p19-common.tiktokcdn-us.com/tos-alisg-v-2774/o0AMeFi…",
        "coverThumb": "https://p16-common.tiktokcdn-us.com/tos-alisg-v-2774/o0AMeFi…",
        "coverMedium": "https://p16-common.tiktokcdn-us.com/tos-alisg-v-2774/o0AMeFi…"
      },
      "stats": {
        "diggCount": 91000,
        "playCount": 1900000,
        "shareCount": 2704,
        "collectCount": 3841,
        "commentCount": 550
      },
      "video": {
        "id": "7590819633674898720",
        "cover": "https://p16-common-sign.tiktokcdn-us.com/tos-useast2a-p-0037…",
        "ratio": "540p",
        "width": 576,
        "format": "mp4",
        "height": 1024,
        "bitrate": 1320999,
        "duration": 14,
        "playAddr": "https://v16-webapp-prime.us.tiktok.com/video/tos/useast2a/to…",
        "codecType": "h264",
        "zoomCover": {
          "240": "https://p19-common-sign.tiktokcdn-us.com/tos-useast2a-p-0037…",
          "480": "https://p19-common-sign.tiktokcdn-us.com/tos-useast2a-p-0037…",
          "720": "https://p19-common-sign.tiktokcdn-us.com/tos-useast2a-p-0037…",
          "960": "https://p16-common-sign.tiktokcdn-us.com/tos-useast2a-p-0037…"
        },
        "definition": "540p",
        "bitrateInfo": [
          {
            "Bitrate": 1320999,
            "GearName": "normal_540_0",
            "PlayAddr": {
              "Uri": "…",
              "Width": "…",
              "FileCs": "…",
              "Height": "…",
              "UrlKey": "…",
              "UrlList": "…",
              "DataSize": "…",
              "FileHash": "…"
            },
            "CodecType": "h264",
            "QualityType": 20
          },
          "… 3 more"
        ],
        "encodedType": "normal",
        "…": "6 more fields"
      },
      "author": {
        "id": "6780410248706196486",
        "ftc": false,
        "secUid": "MS4wLjABAAAAU2r3pqdcp_P1GAUlAWU_CGZUzqDV7g2208O7NxmvxWdNZ8WQ…",
        "secret": false,
        "nickname": "Sam Oris",
        "relation": 0,
        "uniqueId": "samoris1",
        "verified": false,
        "signature": "#DADFLUENCER \n👦🏻 Jerom  👶🏻 Gerard \n@beautyroomlisa",
        "avatarThumb": "https://p16-common-sign.tiktokcdn-us.com/tos-maliva-avt-0068…",
        "duetSetting": 0,
        "isADVirtual": false,
        "avatarLarger": "https://p16-common-sign.tiktokcdn-us.com/tos-maliva-avt-0068…",
        "avatarMedium": "https://p19-common-sign.tiktokcdn-us.com/tos-maliva-avt-0068…",
        "…": "4 more fields"
      },
      "digged": false,
      "secret": false,
      "itemMute": false,
      "forFriend": false,
      "textExtra": [
        {
          "end": 23,
          "type": 0,
          "start": 14,
          "secUid": "MS4wLjABAAAAU2r3pqdcp_P1GAUlAWU_CGZUzqDV7g2208O7NxmvxWdNZ8WQ…",
          "userId": "6780410248706196486",
      
…

Related TikTok APIs

All 43 TikTok 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.