Unif API Docs

Get TikTok recommendation videos

Return a batch of videos from TikTok's recommendation feed for a given region. Useful for sampling trending and algorithmically surfaced content across a market.

Pricing — $ · min $0.001

Billed per record at 1 credit ($0.001) each, with a 1-credit ($0.001) minimum per call.

POST
/tiktok/feed/recommended

Authorization

bearerAuth
AuthorizationBearer <token>

UnifAPI API key. Provider credentials are managed by UnifAPI.

In: header

Header Parameters

Unifapi-Version?string

Pin the API version an integration was built against (date-based, e.g. 2026-07-01). Omit to use the current version. Public URL paths stay stable and unversioned; breaking changes ship under a new dated version and are announced with Deprecation and Sunset response headers. The served version is echoed in every response's Unifapi-Version header. Policy: https://unifapi.com/versioning.md

Idempotency-Key?string

Client-supplied unique key that makes a write request safe to retry. If a request with the same key was already processed, the original response is replayed (with Idempotency-Replayed: true) instead of executing — and billing — again. Send a fresh UUID per logical operation. Best-effort with a 24h window.

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/tiktok/feed/recommended" \  -H "Content-Type: application/json" \  -d '{    "region": "US",    "limit": 20  }'
{  "request_id": "string",  "data": {    "items": [      {        "id": "string",        "title": "string",        "video_description": "string",        "create_time": 0,        "duration": 0,        "cover_image_url": "string",        "share_url": "string",        "embed_link": "string",        "width": 0,        "height": 0,        "like_count": 0,        "comment_count": 0,        "share_count": 0,        "view_count": 0,        "author": {          "id": "string",          "username": "string",          "display_name": "string",          "avatar_url": "string"        },        "region": "string",        "hashtags": [          "string"        ],        "music": {          "id": "string",          "title": "string",          "author": "string",          "is_original": true        },        "is_image_post": true,        "play_url": "string"      }    ]  },  "billing": {    "credits_charged": 0,    "records_charged": 0,    "balance_remaining": 0,    "truncated_due_to_balance": true  }}
{  "error": {    "type": "validation_error",    "message": "string",    "request_id": "string",    "issues": [      null    ],    "billing": {      "credits_required": 0,      "credits_charged": 0,      "records_charged": 0,      "balance_remaining": 0,      "truncated_due_to_balance": true    }  }}
{  "error": {    "type": "validation_error",    "message": "string",    "request_id": "string",    "issues": [      null    ],    "billing": {      "credits_required": 0,      "credits_charged": 0,      "records_charged": 0,      "balance_remaining": 0,      "truncated_due_to_balance": true    }  }}
{  "error": {    "type": "validation_error",    "message": "string",    "request_id": "string",    "issues": [      null    ],    "billing": {      "credits_required": 0,      "credits_charged": 0,      "records_charged": 0,      "balance_remaining": 0,      "truncated_due_to_balance": true    }  }}
{  "error": {    "type": "validation_error",    "message": "string",    "request_id": "string",    "issues": [      null    ],    "billing": {      "credits_required": 0,      "credits_charged": 0,      "records_charged": 0,      "balance_remaining": 0,      "truncated_due_to_balance": true    }  }}
{  "error": {    "type": "validation_error",    "message": "string",    "request_id": "string",    "issues": [      null    ],    "billing": {      "credits_required": 0,      "credits_charged": 0,      "records_charged": 0,      "balance_remaining": 0,      "truncated_due_to_balance": true    }  }}
{  "error": {    "type": "validation_error",    "message": "string",    "request_id": "string",    "issues": [      null    ],    "billing": {      "credits_required": 0,      "credits_charged": 0,      "records_charged": 0,      "balance_remaining": 0,      "truncated_due_to_balance": true    }  }}
{  "error": {    "type": "validation_error",    "message": "string",    "request_id": "string",    "issues": [      null    ],    "billing": {      "credits_required": 0,      "credits_charged": 0,      "records_charged": 0,      "balance_remaining": 0,      "truncated_due_to_balance": true    }  }}
{  "error": {    "type": "validation_error",    "message": "string",    "request_id": "string",    "issues": [      null    ],    "billing": {      "credits_required": 0,      "credits_charged": 0,      "records_charged": 0,      "balance_remaining": 0,      "truncated_due_to_balance": true    }  }}