---
title: "Search TikTok Videos"
method: GET
path: "/v1/tiktok/videos"
tags: ["TikTok"]
---

# Search TikTok Videos

`GET /v1/tiktok/videos`

## Request

- Base URL: `https://apidirect.io`
- URL: `https://apidirect.io/v1/tiktok/videos`
- Auth: API key in header `X-API-Key`

Search for TikTok videos by keyword. Returns video caption, a link to the video on TikTok, publish date, engagement metrics (plays, likes, comments, shares, downloads), duration, cover image, music track, and creator metadata (username, display name, avatar). Supports region filtering, publish-time filtering, and sorting by relevance, recency, or likes. Supports fetching multiple pages in a single API call (billed per page). Set get_sentiment=true to add AI emotion analysis to each video.

**Price:** $0.006 per page. **Free tier:** 50 requests/month.

## Query parameters

- `query` string, required
- `pages` integer
- `region` string
- `publish_time` 0 | 1 | 7 | 30 | 90 | 180
- `sort_by` 'relevance' | 'most_recent' | 'most_liked'
- `get_sentiment` boolean

## Response `200`

Successful response

- SearchTiktokResponse: Inferred from a live response. Any field can be null or absent, and new fields may be added at any time.
  - `count` number, nullable
  - `pages` number, nullable
  - `videos` object[], nullable
    - `author` string, nullable
    - `author_avatar` string, nullable
    - `author_name` string, nullable
    - `comments` number, nullable
    - `cover` string, nullable
    - `date` string, nullable
    - `domain` string, nullable
    - `downloads` number, nullable
    - `duration` number, nullable
    - `is_ad` boolean, nullable
    - `likes` number, nullable
    - `music_author` string, nullable
    - `music_title` string, nullable
    - `play_count` number, nullable
    - `shares` number, nullable
    - `snippet` string, nullable
    - `source` string, nullable
    - `title` string, nullable
    - `url` string, nullable

## Other responses

- `400`: Bad request: missing or invalid parameters
- `401`: Unauthorized: invalid or missing API key
- `402`: Free tier used up for this endpoint and no payment method on file (`payment_required`).
- `403`: Account blocked after a failed payment (`account_blocked`).
- `429`: Rate limit exceeded or too many concurrent requests
- `500`: Internal server error
- `502`: Temporary failure retrieving TikTok data. Please retry shortly.
- `503`: Service temporarily unavailable. Please retry shortly.
- `504`: The request timed out

---

[API](https://skmtc.dev/apidirect/apis/api-direct.md) · [All operations](https://skmtc.dev/apidirect/apis/api-direct/llms.txt) · [OpenAPI document](https://skmtc.dev/apidirect/apis/api-direct/revisions/fa8c68d70bd0?raw)
