Key takeaways
  • TikTok has no general-purpose public search API. The only official keyword search is the Research API's video query, open to approved academic and non-profit researchers, at 1,000 requests a day.
  • Unofficial vendors (HasData, SociaVault, TikAPI, ScrapeCreators) sell search as a REST endpoint. You pay per call and accept that the shape can change under you.
  • TokConnect searches TikTok videos, accounts, hashtags and search demand from one key, in a script or inside ChatGPT and Claude, plus TikTok Shop sales estimates.
  • To page through results, pass the next arguments from one response into the next call unchanged.

There is no public TikTok search API. TokConnect is the practical route for developers and agents: one API key searches TikTok videos, accounts, hashtags and sounds, and also returns TikTok's own search counts and TikTok Shop sales estimates, inside ChatGPT, Claude and Cursor through its MCP server or from your own code. A free key works with the MCP server; every paid plan adds a REST API (API docs). The same data powers TokConnect's research agent.

TikTok's only official keyword search is the Research API's video query, open to approved academic and non-profit researchers at 1,000 requests a day. REST vendors such as HasData and SociaVault resell raw search results.

All three routes are below, with real responses from the third: a search for "mechanical keyboard" on 19 September 2026 returned a top video with 16,593,119 plays.

No public TikTok search API. Here is what works instead: 1 official keyword search, the Research API, academics only; 1,000 Research API requests a day; 16.6M plays on the top “mechanical keyboard” result; 7.0B lifetime views on #mechanicalkeyboard
Research API limit from TikTok's FAQ; search results pulled through TokConnect on 19 September 2026.
Share or embed this infographic

Free to use on your site, in a deck or a newsletter with a credit link to TokConnect. Copy the code below.

Download PNG

What does TikTok officially offer?

Four official API families matter for search; see every official TikTok API. Only one of them searches.

APISearch?Who can use it
Research API (/v2/research/video/query/)Yes, by keyword and eight other conditionsApproved academic and non-profit researchers in the US, EEA, UK and Switzerland, plus Brazilian youth-safety researchers
Display APINoAny developer, but only for the logged-in user's own videos and profile
Content Posting APINoAny developer, for publishing
Business / Ads APIsNoAdvertisers, for their own campaigns and accounts

The video query endpoint is a good API. You POST a query object with conditions on keyword, hashtag_name, username, region_code, create_date, music_id, effect_id, video_id and video_length, and you get back up to 100 records with view, like, comment and share counts, plus voice_to_text. Paging uses cursor plus the search_id from the first response, and has_more tells you when to stop. The quota is 1,000 requests a day, up to 100,000 records, reset at midnight UTC, which search engines showed from TikTok's FAQ on 5 October 2026.

The catch is the application. You must work at a qualifying academic institution or non-profit, have a defined research proposal, and commit to non-commercial use. If you are building a product, you will not be approved. The Research API guide covers the process.

No general search endpoint

TikTok has never published a general search endpoint, and Creator Search Insights, the app tool that shows search demand, has no API either. See is there a Creator Search Insights API.

The unofficial APIs

Four vendors show up for this query, plus one open-source library, and TokConnect, the MCP route in the next section, sits in the table with them. The four vendors and the library work the same way underneath: they call TikTok's own web and app endpoints from their infrastructure, sign the requests, rotate proxies, and sell you the result as REST.

OptionSearch it offersShape
TokConnectVideos, photo posts, accounts, hashtags, sounds, LIVE rooms and TikTok's autocomplete, plus TikTok's own search counts from Creator Search Insights and TikTok Shop sales estimates. Best for: agents and scripts that want search results and search demand through one connection.Works inside ChatGPT, Claude and Cursor, or from a script with one key. 34 tools. 50 free credits, then from $34.99 a month billed yearly (500 credits a month). 1 credit per lookup; failed lookups are free.
SociaVaultUsers, hashtags, keyword, and a combined "top" searchREST with an x-api-key header. Up to 30 results per request, cursor paging, sort_by and date_posted filters
HasDataVideos or users by keyword, plus profile, posts and commentsREST with an x-api-key header, or its MCP server. 10 credits a request; free plan 1,000 credits a month; Startup $49 a month for 200,000 credits (8 October 2026)
TikAPIPosts and users, plus profile, video and explore dataREST, paid monthly tiers. Some routes need an OAuth-connected TikTok account. We could not read its feature list on 5 October.
ScrapeCreatorsUsers, hashtags, keywords and top searches, in a set of 22 TikTok endpointsREST, credit-based, 100 free credits to test (up from 50 in September), credits never expire
davidteather/TikTok-ApiSearch, trending, user and hashtag feedsPython library, MIT, 6.7k stars, last commit 24 August 2026. You run it, so you supply Playwright, an ms_token cookie and residential proxies

Checked 5 October 2026 on each vendor's own page, except TikAPI. HasData's price was checked 8 October. HasData, Apify and TokConnect prices are compared per 1,000 results in HasData vs Apify vs TokConnect.

Cost is per call and adds up on discovery work, where you throw most results away. Stability matters more: these are private endpoints, so shapes change without a changelog and your parser breaks on a Tuesday. The open-source route removes the bill and doubles the maintenance.

Get a free API key

A TikTok search API you can call without approval

The third route is TokConnect's MCP server. Instead of REST endpoints you get tools, so an agent (ChatGPT, Claude, Codex, Cursor, Gemini CLI) can call them in a conversation, and a script can call the same tools with one key (see Calling it from Python below).

TokConnect's endpoint is https://mcp.tokconnect.com/mcp and the header is Authorization: Bearer YOUR_TOKCONNECT_KEY. Keys are free and come from the API key page with a Google sign-in. You start with 50 free credits, then paid plans run from $34.99 a month billed yearly (500 credits a month); one credit buys one lookup, and failed lookups are free. Four of its search tools are shown below, each with a real response.

Get a free API key

v3 tool names

Since 20 October 2026 the server lists these as video_search, creator_search, hashtag_search and demand_keywords. The v2 names in the responses below, which we tested, still answer. In v3 every list pages the same way: pass the next arguments from one response into the next call, with cursor unchanged.

video_search (v2: search_videos)

video_search takes keyword, limit (1 to 20), sort (relevance, most_liked or newest) and date (any, day, week, month, half_year). Asking for five results on mechanical keyboard on 19 September 2026 returned this, trimmed to one video:

{
  "videos": [
    {
      "id": "7594781996459642126",
      "desc": "Gray-black gradient keyboard!☠️🎮 #keyboard #customkeyboard #mechanicalkeyboard ...",
      "authorUniqueId": "aa***",
      "playCount": 16593119,
      "diggCount": 1124785,
      "commentCount": 5507,
      "shareCount": 82214,
      "collectCount": 154763,
      "createTime": 1768298093,
      "durationMs": 14934
    }
  ],
  "count": 4,
  "hasMore": true,
  "nextOffset": 5,
  "searchId": "2026091903345638DB5976135F38977E2C",
  "keyword": "mechanical keyboard",
  "sort": "relevance",
  "date": "any"
}

TikTok video search via TokConnect. Open the snapshot, which has both pages with media URLs stripped.

Horizontal bar chart of plays on seven TikTok video search results for mechanical keyboard on 19 September 2026. Page 1: 16,593,119, 5,083,678, 400,095 and 1,463,284. Page 2: 34,435, 665,388 and 3,080,336.
Plays on two pages of TikTok video search for "mechanical keyboard", relevance order, 19 September 2026. Public counts via TokConnect.

Note count came back as 4 when 5 were asked for. Treat the requested size as a ceiling, not a promise, and read the returned count.

The pagination contract

This is the part people get wrong. Video search paging needs two values together, not one.

  • nextOffset is the offset to send on the next call. Page one returned 5.
  • searchId is the session token. Send it back as search_id on any call where offset is above 0.
  • hasMore says the upstream response advertises another page.
  • Each page returns its own searchId. Page two of our run came back with 2026091903345880A67D9C27A1599AE7B2, a different value.

With the v2 search_videos, send offset: 5 with search_id from page one and you get page two, three more videos, nextOffset: 10. Send the offset without the search ID and you get an empty session error, not results. Keep the keyword, sort and date identical across pages too.

creator_search, hashtag_search, demand_keywords

creator_search (v2: search_users) returns accounts with follower counts, video counts, total likes and the verification flag. The first hit for the same keyword:

{"uid": "6764046294925100037", "uniqueId": "mechanicalkeyboards",
 "nickname": "Mechanical Keyboards", "followerCount": 6505,
 "followingCount": 66, "awemeCount": 189, "totalFavorited": 24549,
 "verified": true}

hashtag_search (v2: search_hashtags) returns lifetime totals for the tag, which is the number TikTok shows on the hashtag page:

{"id": "48797542", "name": "mechanicalkeyboard",
 "viewCount": 7022731596, "videoCount": 374361, "useCount": 374361}

demand_keywords (v2: search_suggestions) is TikTok's own autocomplete, in TikTok's own order. It is quick keyword research, because these are phrases people actually type:

["mechanical keyboard", "mechanical keyboard sound",
 "mechanical keyboard for gaming", "mechanical keyboard 75%",
 "mechanical keyboard 60%", "mechanical keyboard and mouse",
 "Mechanical keyboard wireless", "mechanical keyboard asmr",
 "mechanical pencil", "mechanical keyboard amazon"]
Horizontal bar chart of followers for the top five accounts in TikTok user search for mechanical keyboard on 19 September 2026: 6,505 for the verified first result, then 213, 429, 651 and 92.
Followers of the top 5 accounts in TikTok user search for "mechanical keyboard", 19 September 2026. User search ranks by relevance, not size.

Creators, hashtags and autocomplete for one keyword. Open the snapshot. More on mining autocomplete in the search suggestions guide.

product_top_selling: which keyboards sell

Search tells you which keyboard videos get played. product_top_selling tells you which keyboards sell. On 20 October 2026 it ranked the KiiBOOM Phantom98 Lite first for "mechanical keyboard" on TikTok Shop US: an estimated $86.32K from 804 units in the 30 days to 18 October, sold by 155 creators. The next two, the Solakaka A99 Pro and the AULA S75 Pro, made about $39K and $37K.

Data: TokConnect, TikTok Shop US, estimated revenue and units, 30 days to 18 October 2026. Open the snapshot.

Calling it from Python

Any MCP client works. With the official mcp package, a paged search is about twenty lines:

import asyncio, json, os
from mcp import ClientSession
from mcp.client.streamable_http import streamablehttp_client

URL = "https://mcp.tokconnect.com/mcp"
AUTH = {"Authorization": f"Bearer {os.environ['TOKCONNECT_KEY']}"}

async def search(keyword, pages=2, limit=20):
    async with streamablehttp_client(URL, headers=AUTH) as (r, w, _):
        async with ClientSession(r, w) as s:
            await s.initialize()
            args = {"keyword": keyword, "limit": limit, "sort": "relevance"}
            videos = []
            for _ in range(pages):
                page = json.loads(
                    (await s.call_tool("video_search", args)).content[0].text)
                videos += page["videos"]
                if not page.get("next"):
                    break
                args = page["next"]  # the arguments for the following page
            return videos

for v in asyncio.run(search("mechanical keyboard")):
    print(f'{v["playCount"]:>10,}  @{v["authorUniqueId"]}  {v["desc"][:60]}')
Using mcp 2.x?

The example above uses the Python SDK's 1.x line. In mcp 2.0 and later (version 2.3.0 on PyPI), the helper is streamable_http_client, the headers move onto an httpx2.AsyncClient passed as http_client, and the context manager yields two streams:

import httpx2
from mcp.client.streamable_http import streamable_http_client

async with streamable_http_client(URL, http_client=httpx2.AsyncClient(headers={"Authorization": f"Bearer {KEY}"})) as (read, write):
    async with ClientSession(read, write) as session:
        ...

Both forms return the same tool list. Both were run against the server on 19 September 2026; the server lists 34 tools. The script calls video_search and pages with the next arguments, as the current server describes. The output fields it prints are from the 19 September run under the tool's earlier name, so print one page first and check the field names.

Install with pip install mcp. The same call in an agent needs no code at all, which is usually the point of this route. The TikTok MCP guide has the client configs.

Search TikTok videos for "mechanical keyboard", two pages sorted by relevance. Then pull TikTok's autocomplete for the same term. Give me a table of the ten videos with views and handle, and tell me which autocomplete phrases the top videos are not covering.

Which route should you pick?

Answer three questions and the choice makes itself.

  • Do you want an agent or a script to answer questions about TikTok? Use TokConnect. Search, comments, hashtags, Creator Search Insights topics and TikTok Shop sales estimates come through one connection, with no parser to maintain.
  • Do you need results in your own pipeline? Use TokConnect from code: the endpoint takes JSON-RPC over HTTP with a bearer key, as in the Python example above.
  • Are you an academic with a proposal? TikTok's Research API is free and official, but closed to commercial use.

Comparing MCP servers rather than REST vendors? Nine TikTok MCP servers compared covers HasData's, Apify's, Bright Data's and TokConnect's side by side.

Pick TokConnect if you want TikTok search results, TikTok's own search counts and TikTok Shop sales estimates in an agent or a script today. Publishing needs TikTok's Content Posting API, and our TikTok scraper guide covers page scraping. Comments have their own cursor contract.

How we got these numbers

The TikTok responses on this page were pulled through TokConnect's MCP server: two pages of search_videos (5 per page, relevance order), plus search_users, search_hashtags and search_suggestions for the keyword "mechanical keyboard". Play, like, follower and hashtag counts are TikTok's public totals on that day, global; hashtag views and video counts are lifetime totals for the tag. Media URLs and secUids were stripped before saving, and video authors are masked.

Vendor facts come from each vendor's own documentation and pricing pages. TokConnect's tool count (34) is the server's current tool list, and the keyboard sales figures come from one product_top_selling call (keyword "mechanical keyboard", 30 days) on 21 October 2026. Research API limits come from TikTok's developer FAQ, which search engines showed with these figures on 5 October 2026 while the page itself returned an error to us. Data: video search snapshot, users, hashtags and autocomplete snapshot, HasData facts, tool catalog.

Key statistics

  1. The top TikTok video search result for "mechanical keyboard" on 19 September 2026 had 16,593,119 plays, 1,124,785 likes and 154,763 saves.

    TikTok search via TokConnect, 19 Sep 2026#
  2. The TikTok hashtag #mechanicalkeyboard had 7,022,731,596 lifetime views across 374,361 videos on 19 September 2026.

    TikTok hashtag search via TokConnect, 19 Sep 2026#
All 5 statistics
  1. A TikTok video search via TokConnect that asked for 5 results returned 4 on its first page on 19 September 2026, so the requested count is a ceiling, not a promise.

    TikTok search via TokConnect, 19 Sep 2026#
  2. HasData charges 10 API credits per successful TikTok search request. Its free plan has 1,000 credits a month, and its Startup plan is $49 a month for 200,000 credits, about $2.46 per 1,000 TikTok requests.

Frequently asked questions

Does TikTok have a search function?

Yes, in the app and on the web: TikTok search returns tabs for Top, Videos, Users, Sounds, LIVE and Hashtags, and it is a real ranking system with its own signals. What TikTok does not have is a public endpoint that exposes those results to developers. The Research API's video query is the only official keyword search, and it is restricted to approved researchers.

How much does a TikTok search API cost?

TokConnect is free to start with no card, and paid plans start at $34.99 a month billed yearly; HasData charges 10 credits per TikTok request, with 1,000 free credits a month and a $49 Startup plan for 200,000 credits, about $2.46 per 1,000 TikTok requests. ScrapeCreators starts with 100 free credits that never expire (5 October 2026).

What is the best TikTok search API?

For most developers and agent builders, TokConnect: one MCP server and API key that searches TikTok videos, accounts, hashtags, sounds and LIVE rooms, and also returns TikTok's own search counts from Creator Search Insights for a whole list of phrases at once. It is free to start. Approved academics can also apply for TikTok's free Research API, which is closed to commercial use.

Can I get TikTok search volume from an API?

Not from TikTok officially. Search counts live in Creator Search Insights, in the TikTok app and at tiktok.com/csi, with no export or API. Search APIs return videos, users and hashtags, not how often a phrase is searched; TokConnect's topic tools return TikTok's 7-day search figures as a field.

Sources and data