TikTok Hashtag Search API
Tag-led video discovery — one hashtag in, public posts under that challenge out. Not free-text keyword search.
GET /v1/tiktok/search/hashtags1 credit per successful request.
About this endpoint
UGC and campaign dashboards often track a single TikTok challenge tag: #launchweek, a product slug, a conference code, or a creator challenge name. That is a different product surface than typing the same words into keyword search. The hashtag feed is challenge-scoped; keyword search ranks by phrase relevance and can mix unrelated captions that merely contain those tokens.
`GET /v1/tiktok/search/hashtags` takes a required `hashtag` query param (1–256 characters; a leading `#` is optional). The response echoes the normalized tag without `#` on `data.hashtag`, optional `data.region`, and matching public videos under `data.videos`. Optional `region` sets the proxy country for the request (ISO 3166-1 alpha-2). It does not guarantee every video is from that country. There is no `datePosted` or `sortBy` on this operation — those filters belong on `GET /v1/tiktok/search`. Use `cursor` when `data.page.hasMore` is true; pass `trim` when you want fewer fields. Video rows follow the same public shape as keyword search (id, caption, createdAt, url, stats, media when available).
This route has no `lookupStatus`. An empty `data.videos` page with `hasMore: false` means no public hits for that tag (or none returned for that page), not a failed HTTP call. Bill from `meta.creditsCharged`; the credit badge on this page is the documented rate.
Hashtag search is not keyword search and not people search. Free-text phrases with date and sort controls use `GET /v1/tiktok/search`. Account discovery uses `GET /v1/tiktok/users/search`. After you have a watch URL, use video, transcript, or comments routes. Same API key across the TikTok tag.
TikTok Hashtag Search API FAQ
How do I search TikTok videos by hashtag via API?
Call GET /v1/tiktok/search/hashtags with x-api-key and a required hashtag parameter. A leading # is optional. Optionally add region, cursor, and trim. Read data.hashtag, data.videos, and data.page.
Should I put a # in the hashtag parameter?
Either works. Pass fyp or #fyp; the response echoes the normalized tag without the hash on data.hashtag. Do not pass a free-text sentence here — multi-word phrases belong on GET /v1/tiktok/search.
Why is there no datePosted or sortBy on hashtag search?
This operation is challenge/tag discovery only. Recency and sort controls live on GET /v1/tiktok/search (datePosted and sortBy enums). If your job needs both a tag and a time window, run hashtag search for candidates, then filter client-side, or start from keyword search when the phrase matters more than the challenge graph.
Does region limit results to one country?
No. region sets the proxy country for the request. It does not guarantee that every video is from that country only. Omit it when you do not need a localized proxy. The echoed data.region may be null when you omit the param.
What happens when a hashtag has no public videos?
HTTP 200 with data.videos as an empty array and hasMore false. That is a valid empty page. Keep meta.requestId for support. Do not invent a not_found status — this route does not expose lookupStatus.
How much does TikTok hashtag search cost?
Pricing is documented on the operation in the API registry (shown on this page). Confirm on every response with meta.creditsCharged — that field is the billing source of truth. Each paginated page is a separate billed request.
Hashtag search vs keyword search vs user search?
Hashtag search is for one tag / challenge. Keyword search is free-text video discovery with datePosted and sortBy. User search returns accounts, not videos. They are three separate operations on the TikTok hub.
How does pagination work on TikTok hashtag search?
When data.page.hasMore is true, pass data.page.nextCursor as the cursor query param on the next request. Keep the same hashtag and region. The cursor is opaque — do not invent or parse it.
Do I need TikTok OAuth to search by hashtag?
No. You authenticate to Social Fetch with an API key. The route reads public hashtag results; it does not act on behalf of a logged-in TikTok user.
Other TikTok endpoints
- ProfileGET /v1/tiktok/profiles/{handle}
- Profile videosGET /v1/tiktok/profiles/{handle}/videos
- Profile followersGET /v1/tiktok/profiles/{handle}/followers
- Profile followingGET /v1/tiktok/profiles/{handle}/following
- Profile regionGET /v1/tiktok/profiles/{handle}/region
- Profile audienceGET /v1/tiktok/profiles/{handle}/audience
- Live streamGET /v1/tiktok/profiles/{handle}/live
- User searchGET /v1/tiktok/users/search