# solari fetch tiktok post search

> Find TikTok videos by keyword, live.

- **CLI**: `solari fetch tiktok post search`
- **MCP tool**: `solari_fetch_tiktok_post_search`
- **Access**: `solari:read`
- **Plans**: Free Trial · Plus · Pro · Enterprise
- **Credit**: 1

Search TikTok itself for videos matching a keyword, in TikTok's own relevance order. Hits are thin: video id, URL, author, caption, posting time, play, like, comment, and share counts, duration, and cover image. Nothing is stored; fetch tiktok post collects any hit by its URL.

**When to use it** — When you want what people post on TikTok about a topic, brand, or phrase and have no handle to start from.

**What comes back** — Up to limit videos in TikTok's order, a cursor for the next page, and the fetch command to collect the first one.

## Parameters

- `query` (string, required, ≤ 100 chars) — Keyword or phrase to search for.
- `limit` (integer, optional, default 20, 1–30) — How many videos per page, at most.
- `cursor` (string, optional, ≤ 1024 chars) — next_cursor from the previous page of the same query. Leave it out for the first page.

## Response

### `Response`

- `query` (string) — The keyword the search ran on.
- `items` (object[]) — Matching videos, TikTok's relevance order.
- `total` (integer) — Videos on this page.
- `has_more` (boolean) — true when TikTok has another page.
- `next_cursor` (string | null) — Pass it back as cursor with the same query. Null on the last page.
- `note` (string | null) — Caveat, when there is one: for example when nothing matched.
- `next` (string) — Fetch command to collect the first video. Only when there is a hit.

### `items[]`

- `video_id` (string) — Public numeric TikTok id.
- `url` (string) — Public video URL. Pass it to fetch tiktok post.
- `username` (string | null) — Author handle, when the URL carries it.
- `caption` (string | null) — Caption text.
- `posted_at` (timestamp | null) — Published at (UTC).
- `play_count` (integer | null) — Plays.
- `like_count` (integer | null) — Likes.
- `comment_count` (integer | null) — Comments.
- `share_count` (integer | null) — Shares.
- `duration_seconds` (integer | null) — Video length in seconds.
- `cover_url` (string | null) — Cover image URL. It can expire, so use it promptly.

## Example

```console
$ solari fetch tiktok post search query="green tea ceramide" limit=1
```

_Long strings and repeated array entries are trimmed for readability._

```json
{
  "query": "green tea ceramide",
  "items": [
    {
      "video_id": "7680375687139642645",
      "url": "https://www.tiktok.com/@innisfree_official/video/7680375687139642645",
      "username": "innisfree_official",
      "caption": "Deeply hydrated skin—NO OFF HOURS. 💚  wherever the day takes MINGYU—his hydration stays SUPERCHARGED ⚡️ Green Tea Ceramide Milk: Lightweight milky toner that won't clog your pores …",
      "posted_at": "2026-09-02T12:00:00Z",
      "play_count": 493,
      "like_count": 37,
      "comment_count": 2,
      "share_count": 0,
      "duration_seconds": 23,
      "cover_url": "https://p16-common-sign.tiktokcdn-eu.com/tos-alisg-p-0037/oQfAEIgDBRiLAeFsAQeZhIQ9CEfIAgBDpAqbfE~tplv-tiktokx-origin.image?…"
    }
  ],
  "total": 1,
  "has_more": true,
  "next_cursor": "eyJjIjoiMSIsInMiOiIyMDI2MDkyOTA2NDUxOEIzRDJGMDdBOUMxRTRCNkQ4RjAyIn0",
  "note": null,
  "next": "solari fetch tiktok post url=https://www.tiktok.com/@innisfree_official/video/7680375687139642645"
}
```

## As an MCP call

```json
{
  "name": "solari_fetch_tiktok_post_search",
  "arguments": {
    "query": "green tea ceramide",
    "limit": 1
  }
}
```

## Notes

- Results follow TikTok's relevance ranking and may include loosely related videos. Read caption and username before using one.
- Nothing is stored and hits carry no post_id. fetch tiktok post with a hit's url collects and stores the full post with its author.
- When has_more is true, pass next_cursor as cursor with the same query for the next page. A cursor does not carry over to another query.
- Every call asks TikTok live, takes a few seconds, and is not cached. An empty items list with a note means no public video matched.

## Related tools

- [`solari_fetch_tiktok_post`](https://pub.brandazine.ai/docs/tools/fetch-tiktok-post.md)
- [`solari_fetch_tiktok_account_search`](https://pub.brandazine.ai/docs/tools/fetch-tiktok-account-search.md)
- [`solari_catalog_tiktok_content_search`](https://pub.brandazine.ai/docs/tools/catalog-tiktok-content-search.md)
