# TikTok Photo Search API

> Searches TikTok photo posts matching a query keyword. Returns post details, author statistics, music metadata, and engagement metrics with cursor pagination support.

Source: https://www.sandbase.ai/apis/tiktok/web/search-photo
API reference: https://www.sandbase.ai/apis/tiktok/web/search-photo/docs

## Facts

- Provider: TikTok
- Type: Data API
- Endpoint: `POST https://api.sandbase.ai/v1/api/tiktok/web/search-photo`
- Price: $0.0015 per call
- Free allowance: 100 calls per organization per UTC day, shared across eligible APIs
- Capabilities: api, tiktok
- Billing: pay per use from one SandBase balance; no provider account or subscription needed

## Call it

`POST https://api.sandbase.ai/v1/api/tiktok/web/search-photo` with `Authorization: Bearer $SANDBASE_API_KEY` and the parameters as a JSON body.

| Parameter | Type | Required | Allowed values |
| --- | --- | --- | --- |
| `keyword` | string | yes |  |
| `count` | integer | no |  |
| `offset` | integer | no |  |
| `search_id` | string | no |  |

## FAQ

### How do I use the TikTok Photo Search API?

Send a POST request to https://api.sandbase.ai/v1/api/tiktok/web/search-photo with your SandBase API key in the Authorization header (Bearer) and the parameters as a JSON body. You can also try it in the Playground on this page without writing code.

### How much does the TikTok Photo Search API cost?

$0.0015 per call. Every organization gets 100 free calls per UTC day, shared across eligible SandBase APIs including this one; after that each call is billed at this price from your SandBase balance. There is no subscription.

### What parameters does the TikTok Photo Search API accept?

Required: keyword (string). Optional: count (integer), offset (integer) and search_id (string). The Parameters table and the Playground on this page list every field.

### What does the TikTok Photo Search API return?

A JSON response returned in the same HTTP request (synchronous). The README on this page includes a sample response.

### Do I need a TikTok developer account or API key?

No. TikTok Photo Search runs through SandBase, so one SandBase API key covers this endpoint and every other API and model in the catalog. You do not need to apply for TikTok API access separately.

## README

### TikTok Photo Search API

Look up TikTok photo posts using a search term specified in `keyword`. Supports pagination controls using `offset` and `search_id`.

#### Use cases

- Discover photo posts related to specific topics or keywords on TikTok.
- Analyze engagement metrics and play counts for trending photo content.
- Inspect author profiles and music metadata linked to search results.

#### Request

```bash
curl -X POST "https://api.sandbase.ai/v1/api/tiktok/web/search-photo" \
  -H "Authorization: Bearer $SANDBASE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"keyword": "openai"}'
```

#### Parameters

| Name | Type | Required | Description |
|---|---|---|---|
| `keyword` | string | Yes | Search keyword |
| `count` | integer | No | Number per page, it is recommended to keep the default value 20. |
| `offset` | integer | No | Page cursor, 0 for the first request, need to provide for the second paging, generally the keyword of this value is offset or cursor. |
| `search_id` | string | No | Search id, empty for the first request, need to provide for the second paging, need to get it from the return response of the last request. |

#### Example response

Real response for the request above, trimmed to the main fields. User names and long IDs are masked.

```json
{
  "item_list": [
    {
      "CategoryType": 120,
      "createTime": 1790707203,
      "desc": "From personal agents and collaborative work spaces to a new affordable frontier model and…",
      "id": "7691028733624372493",
      "itemCommentStatus": 0,
      "textLanguage": "en",
      "textTranslatable": true,
      "titleLanguage": "un",
      "titleTranslatable": false,
      "author": {
        "id": "7256178298626032683",
        "nickname": "<user>",
        "privateAccount": false,
        "verified": true
      },
      "authorStats": {
        "diggCount": 392,
        "followerCount": 1000000,
        "followingCount": 2,
        "friendCount": 0,
        "heartCount": 6500000,
        "videoCount": 378
      },
      "authorStatsV2": {
        "diggCount": "392",
        "followerCount": "1000000",
        "followingCount": "2",
        "friendCount": "0",
        "heartCount": "6500000",
        "videoCount": "378"
      },
      "music": {
        "authorName": "vowl. & Sace",
        "duration": 60,
        "id": "7145154069236041729",
        "title": "2000"
      },
      "stats": {
        "collectCount": 180,
        "commentCount": 72,
        "diggCount": 1119,
        "playCount": 31700,
        "shareCount": 104
      }
    }
  ]
}
```

#### Notes

- Set `offset` to 0 for initial calls and supply the updated cursor for subsequent pages.
- Leave `search_id` empty on the first query, then supply the value returned from the previous response.
- The `count` parameter specifies the number of items per page, with 20 recommended.

#### Related APIs

- [TikTok Video IDs from URLs (Batch)](/model/tiktok/web/all-aweme-id): Resolves and extracts TikTok video IDs from a list of video URLs.
- [TikTok User Sec User ID Extractor](/model/tiktok/web/all-sec-user-id): Returns a list of sec_user_id identifiers corresponding to TikTok user profile URLs.
- [TikTok Profile Unique IDs](/model/tiktok/web/all-unique-id): Resolves a batch of TikTok user homepage links to retrieve their corresponding unique identifiers.
