Skip to main content
POST
tiktok search_ads
Search ads Pricing — billed per successful call; the final charge scales by your plan multiplier. Charged only when the upstream response body code is 200.

Example

Request contract

  • Method and path: POST /apis/v1/tikhub/tiktok/ads/search_ads
  • Availability: enabled
  • Request URL template: https://api.aisa.one/apis/v1/tikhub/tiktok/ads/search_ads
  • Runtime facts: 85ae03121f63417c9ff9d57a0fd59fdc6386fd71e2dc732a002843e6d8979d87
Complete OpenAPI definition Effective request and pricing declaration (including authentication and referenced schemas):

Cost and request rules

Published reference price: $0.001 USD per successful request. Account-specific pricing and final settlement may differ. Published reference values are not an account-specific quote or a settled charge. For endpoints supporting X-AISA-Cost-Mode: quote, obtain a free quote for your exact request before execution; reconcile the settled cost with response metadata and Usage Logs. USD amounts use 1,000,000 integer micro-USD per dollar.
  • Default request reference estimate (USD): 0.001
  • Cost contract: fixed_success
  • Published reference multiplier: 1.0
  • Settlement evidence source: request_snapshot

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json
ad_format
integer | null

Ad format (optional): 1=Spark Ads, 2=Non-Spark Ads

ad_language
string | null

Ad language (optional)

Custom Cookie string, optional parameter, can be used to fetch more data

country_code
string
default:US

Country code

duration
integer | null

Video duration filter value (optional)

industry
string

Industry ID list, multiple IDs separated by commas. Full industry ID list: https://github.com/TikHub/TikTok-Ads-Industry-Code

keyword
string

Search keyword, optional, returns all ads if empty

like
integer | null

Performance rank (optional; 1=top 1-20%, 2=top 21-40%, 3=top 41-60%, 4=top 61-80%, 5=top 81-100%)

limit
integer
default:20

Items per page, default 20, max 50

Required range: x <= 50
objective
integer | null

Ad objective (optional): 1=Traffic, 2=App install, 3=Conversion, 4=Video views, 5=Reach, 6=Lead generation, 7=Product sales

order_by
string
default:for_you

Sort method, "for_you"=Recommended, "likes"=Sort by likes

page
integer
default:1

Page number, default 1

pattern_label
string | null

Creative pattern label (optional)

period
integer
default:180

Time period in days, e.g., 7, 30, 120, 180 days

search_id
string

Search ID (optional)

Response

Successful Response

Return Description

  • materials: List of ad materials
    • id: Ad material ID
    • aweme_id: Ad video ID
    • desc: Ad description
    • create_time: Creation time
    • video_info: Video information
      • cover: Cover image URL
      • duration: Duration in seconds
    • statistics: Statistics
      • digg_count: Number of likes
      • comment_count: Number of comments
      • share_count: Number of shares
    • ads_info: Ad information
      • advertiser_name: Advertiser name
      • landing_page: Landing page URL
  • pagination: Pagination info
    • page: Current page
    • limit: Items per page
    • total: Total count
    • has_more: Whether there are more items

The media-type example is an illustrative response from the official documentation, not a live response. Its router and params metadata use upstream naming.

cache_message
string | null
default:This response is cached and accessible via the URL below for 24 hours at no extra cost. The cache is for request tracing only — it doesn't affect the API's data freshness and won't be returned through the API again.

Cache message (EN-US)

cache_message_zh
string | null
default:本次响应已缓存,可通过下方 URL 直接查看,有效期 24 小时,访问缓存链接无额外费用。缓存仅用于请求溯源,不影响接口数据的时效性,也不会再次通过接口返回。

Cache message (ZH-CN)

cache_url
string | null

The URL to access the cached result

code
integer
default:200

HTTP status code

data
any

Endpoint-specific response payload. The official shared model does not declare a fixed type or field set. Use the operation's documented return fields or response example; an operation-specific schema, when present, describes the documented fields. Undocumented fields must be read from the actual response rather than assumed.

docs
string | null

Link to the API Swagger documentation for this endpoint

message
string
default:Request successful. This request will incur a charge.

Response message (EN-US)

message_zh
string
default:请求成功,本次请求将被计费。

Response message (ZH-CN)

params
any
default:{}

The parameters used in the request

request_id
string | null

Unique request identifier

router
string
default:""

The endpoint that generated this response

support
string
default:Discord: https://discord.gg/aMEAS8Xsvz

Support message

time
string

The time the response was generated

time_stamp
integer

The timestamp the response was generated

time_zone
string
default:America/Los_Angeles

The timezone of the response time