How to get TikTok popular hashtags
GET request to /v1/tiktok/popular-hashtags with your input. You get clean JSON back in seconds for 2 credits per call — no OAuth, scraping or platform SDKs. Related TikTok hashtags — Creative Center chart when it answers, otherwise a disclosed niche fallback. Flat 2 credits.How to get TikTok popular hashtags (step by step)
- 1
Get a free API key
Create a free Captapi account (100 credits, no card) and generate an API key from the dashboard.
- 2
Call the TikTok Popular Hashtags API
Send an authenticated GET request to /v1/tiktok/popular-hashtags with your input. No OAuth, no scraping setup.
- 3
Read the JSON response
Parse the clean JSON response. Pass cache=true for a free 24h cache hit; default is always fresh.
Code example
curl "https://api.captapi.com/v1/tiktok/popular-hashtags" \
-H "Authorization: Bearer capt_live_..."
# or: -H "x-api-key: capt_live_..."What the response looks like
{
"success": true,
"data": {
"query": "skincare",
"discovery": "co_occurrence",
"discoverySource": "hashtag_page",
"sampleSize": 20,
"rankBy": "videoCount",
"fetchedAt": "2026-08-03T15:08:07.000Z",
"totalReturned": 2,
"hashtags": [
{
"name": "skincare",
"url": "https://www.tiktok.com/tag/skincare",
"rank": 1,
"hashtagId": "504245",
"videoCount": 56953998,
"totalPlays": 954780316160,
"sampleVideoCount": 17,
"samplePlays": 40305805,
"growthRate": null
},
{
"name": "skincareroutine",
"url": "https://www.tiktok.com/tag/skincareroutine",
"rank": 2,
"hashtagId": "42164",
"videoCount": 8200000,
"totalPlays": 120000000000,
"sampleVideoCount": 5,
"samplePlays": 3003805,
"growthRate": null
}
]
}
}Billing metadata (credits charged, cache hit/miss) is returned in the X-Captapi-Credits and X-Captapi-Cache response headers.
Request parameters
| Name | Type | Required | Description |
|---|---|---|---|
| country | string | No | Two-letter ISO country for the Creative Center chart. Default US. |
| period | integer | No | Lookback days: 7, 30, or 120 (180→120). Default 7. |
| page | integer | No | Creative Center page (default 1). |
| sortBy | string | No | Chart sort: popular (default). |
| newOnBoard | boolean | No | Only hashtags newly on the Top 100. |
| industryId | string | No | Optional Creative Center industry_id. |
| query | string | No | Optional niche seed for co-occurrence + challenge/detail enrich. Omit, or pass trending, to try the Creative Center chart (25s); a miss falls through to related tags for fyp (source=niche_fallback) and opens a service-wide chart circuit. Later default calls skip the chart (chartStatus=skipped_circuit_open) until the cooldown expires. Any other value skips the chart. |
| limit | integer | No | Max items to return (default 20, max 100). Flat 2 credits per call. |
| cache | boolean | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
Frequently asked questions
What does the TikTok Popular Hashtags API do?
The TikTok Popular Hashtags API lets you list items in bulk with metadata from a public TikTok popular hashtags using one GET request to /v1/tiktok/popular-hashtags. It returns clean JSON — no OAuth or infrastructure setup required.
How many credits does the TikTok Popular Hashtags API cost?
Each successful call costs 2 credits. Pass cache=true to serve from the 24h cache (0 credits on hit); default is always fresh. Selected profile endpoints also accept cacheMaxAge=1d|3d|7d|14d|30d. Failed or empty results are never charged.
Do I need a TikTok API key or OAuth?
No. A single Captapi key works across every platform Captapi supports — YouTube, TikTok, Instagram, Facebook, Twitter/X, Reddit, Threads, Bluesky, Pinterest, LinkedIn, Rumble, Spotify, Kwai, and more. We handle proxies, rate limits, retries, and authentication for you.
Where are rankDiff and trend[]?
Only when source=creative_center — a live Creative Center chart hit. They are omitted on source=niche_fallback (the default when the chart misses, seeded with fyp) and on query=<niche>. The chart has not answered in testing; treat rankDiff/trend[] as chart-only fields, not a guarantee on the default call.
Why did omit-query 502 for 20–110 seconds?
The documented default used to sit on the Creative Center chart until it died. The chart now has a 25s cap; a miss falls through to related tags for fyp with source=niche_fallback and opens a service-wide circuit (chartStatus=skipped_circuit_open, chartConsecutiveMisses). Later default calls skip the 25s probe until the cooldown expires. A double miss is 502 with stages/ms and a 60s negative cache so retries are instant, not another 110s.
Is sampleSize commenter countries?
No. That description belongs to /tiktok/audience-demographics. On this endpoint sampleSize is how many seed videos were used for co-occurrence (typically ~20 on discoverySource=top_search / hashtag_page). It is omitted on the Creative Center path.
Why did query=skincare cost 18 credits?
That was a billing bug, not a price change. The page has always said flat 2. After the chart-miss fallthrough was removed, query=<niche> was the only related-tags path — and leftover enrich math (ceil(25 × 0.7) = 18) billed it as per-result. Both paths are flat 2 credits again. 5xx stay 0.
Is the TikTok Popular Hashtags API suitable for production use?
Yes. It is a stable REST endpoint with predictable JSON and automatic retries. Pass cache=true to serve from the 24h cache (0 credits on hit); default is always fresh. Selected profile endpoints also accept cacheMaxAge=1d|3d|7d|14d|30d. Use it for analytics, monitoring, and content automation.
Ready to get TikTok popular hashtags?
Start free with 100 credits — no credit card required.
Get your free API key