# Douyin General Search (V2) API

> Returns search results from Douyin's general search tab. Supports filtering by keyword, sort method, post date, video duration, and content type.

Source: https://www.sandbase.ai/model/douyin/search/general-search-v2
API reference: https://www.sandbase.ai/model/douyin/search/general-search-v2/docs

## Facts

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

## Call it

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

| Parameter | Type | Required | Allowed values |
| --- | --- | --- | --- |
| `backtrace` | string | no |  |
| `content_type` | string | no |  |
| `cursor` | integer | no |  |
| `filter_duration` | string | no |  |
| `keyword` | string | no |  |
| `publish_time` | string | no |  |
| `search_id` | string | no |  |
| `sort_type` | string | no |  |

## FAQ

### How do I use the Douyin General Search (V2) API?

Send a POST request to https://api.sandbase.ai/v1/api/douyin/search/general-search-v2 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 Douyin General Search (V2) API cost?

$0.01 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 Douyin General Search (V2) API accept?

No parameters are required. Optional: backtrace (string), content_type (string), cursor (integer), filter_duration (string), keyword (string) and publish_time (string) and 2 more. The Parameters table and the Playground on this page list every field.

### What does the Douyin General Search (V2) 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 Douyin developer account or API key?

No. Douyin General Search (V2) 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 Douyin API access separately.

## README

### Douyin General Search (V2) API

Look up Douyin general search results using a query `keyword` and optional parameters for sorting and content filtering.

#### Use cases

- Retrieve mixed search cards matching specific keywords on Douyin.
- Filter Douyin search items by post date, video length, or sort order.
- Paginate through general search rankings using session tokens.

#### Request

```bash
curl -X POST "https://api.sandbase.ai/v1/api/douyin/search/general-search-v2" \
  -H "Authorization: Bearer $SANDBASE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
```

#### Parameters

| Name | Type | Required | Description |
|---|---|---|---|
| `cursor` | integer | No | Pagination cursor (0 for the first page, use the last response cursor for subsequent pages) |
| `keyword` | string | No | Search keyword, e.g., "cat" |
| `backtrace` | string | No | Backtrace identifier (empty for first request, obtained from previous response for pagination) |
| `search_id` | string | No | Search ID (empty for first request, obtained from previous response for pagination) |
| `sort_type` | string | No | Sorting method |
| `content_type` | string | No | Content type filter |
| `publish_time` | string | No | Publish time filter |
| `filter_duration` | string | No | Video duration filter |

#### Example response

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

```json
{
  "business_data": [
    {
      "card_id": "douyin.doctype_aweme_image",
      "data_id": "0",
      "type": 1,
      "data": {
        "card_id": "douyin.doctype_aweme_image",
        "card_type": 1,
        "doc_type": 303,
        "provider_doc_id": 7621594405576706417,
        "provider_doc_id_str": "7621594405576706417",
        "type": 1
      },
      "log": {
        "search_result_id": "7621594405576706417"
      }
    }
  ]
}
```

#### Notes

- Set `cursor` to 0 for initial requests and pass the returned value for subsequent pages.
- Pass `search_id` and `backtrace` from previous responses to maintain pagination state.

#### Related APIs

- [Douyin Challenge Search](/model/douyin/search/challenge-search-v1): Returns Douyin challenge and hashtag search results matching a query.
- [Douyin Hashtag Challenge Search (V2)](/model/douyin/search/challenge-search-v2): Returns Douyin hashtag and challenge search results matching a query keyword.
- [Douyin Hashtag Suggestions](/model/douyin/search/challenge-suggest): Returns a list of suggested Douyin hashtags and challenges matching a query keyword, including challenge IDs and view counts.
