TikTok Marketing API Ad API
The Ad API from TikTok Marketing API — 8 operation(s) for ad.
The Ad API from TikTok Marketing API — 8 operation(s) for ad.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/tiktok-ads-ad-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: TikTok API for Business — Marketing Ad API
description: TikTok API for Business (Marketing API) v1.3. This document is a mechanical union of the 202 per-operation OpenAPI 3.0.1 documents TikTok publishes in yml_files/ of its own SDK repository (https://github.com/tiktok/tiktok-business-api-sdk), which are the swagger-codegen inputs for TikTok's first-party Java/Python/JavaScript SDKs. Operation content (paths, parameters, responses, tags and the x-open-* extensions) is preserved verbatim; only info, servers and components.securitySchemes were written by API Evangelist, because the per-operation fragments carry placeholder info blocks and no servers block. The servers values are the production and sandbox base URLs TikTok documents at https://business-api.tiktok.com/portal/docs?id=1738855331457026 .
version: v1.3
contact:
name: TikTok API for Business support
url: https://business-api.tiktok.com/portal/docs?id=1795190020378625
termsOfService: https://business-api.tiktok.com/portal/docs?id=1737191804348417
x-source: https://github.com/tiktok/tiktok-business-api-sdk/tree/main/yml_files
x-harvested-by: API Evangelist enrichment pipeline
x-harvested: '2026-08-13'
servers:
- url: https://business-api.tiktok.com/open_api/v1.3
description: Production
- url: https://sandbox-ads.tiktok.com/open_api/v1.3
description: Sandbox
security:
- AccessToken: []
tags:
- name: Ad
paths:
/smart_plus/ad/appeal/:
post:
operationId: Smart_plus Ad Appeal
parameters:
- description: Authorized access token. For details, see [Authentication](https://ads.tiktok.com/marketing_api/docs?id=1738373164380162).
in: query
name: Access-Token
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
properties:
advertiser_id:
description: ''
type: string
x-open-allow-strlist: false
x-open-allow-strnum: false
x-open-convert:
- int64(%s)
x-open-field-id: 1
x-open-source: $.http.body.advertiser_id
appeal_reason:
description: ''
maxLength: 512
type: string
x-open-allow-strlist: false
x-open-allow-strnum: false
x-open-field-id: 3
x-open-source: $.http.body.appeal_reason
attachment_list:
description: ''
items:
type: string
x-open-allow-strlist: false
x-open-allow-strnum: false
type: array
x-open-allow-strlist: false
x-open-allow-strnum: false
x-open-field-id: 4
x-open-source: $.http.body.attachment_list
smart_plus_ad_id:
description: ''
type: string
x-open-allow-strlist: false
x-open-allow-strnum: false
x-open-convert:
- int64(%s)
x-open-field-id: 2
x-open-source: $.http.body.creative_id
required:
- advertiser_id
- smart_plus_ad_id
type: object
x-open-allow-strlist: false
x-open-allow-strnum: false
responses:
'200':
content:
application/json:
schema:
properties:
code:
description: Response code. For the complete list of response codes and descriptions, see [Appendix - Return Codes](https://ads.tiktok.com/marketing_api/docs?id=1737172488964097). Will be shown only if it is an error request.
format: int64
type:
- integer
- 'null'
x-open-allow-strlist: false
x-open-field-id: 4
data:
description: Returned data. The response for the SDK can be checked in the document for the API given in the description.
properties: {}
type:
- object
- 'null'
x-open-allow-strlist: false
x-open-field-id: 1
x-open-source: $.rpc.output.data
message:
description: Response message. For details, see [Appendix - Return Codes](https://ads.tiktok.com/marketing_api/docs?id=1737172488964097).
type:
- string
- 'null'
x-open-allow-strlist: false
x-open-field-id: 3
request_id:
description: The log ID of a request, which uniquely identifies the request.
type:
- string
- 'null'
x-open-allow-strlist: false
x-open-field-id: 2
type: object
x-open-allow-strlist: false
description: OK
summary: Submit ad appeal [Smart Plus Ad Appeal]
tags:
- Ad
x-open-allowlist: {}
x-open-denylist: {}
x-open-rules:
base_rule: null
extra_rule:
base_source: []
http_query_source: []
http_source:
- name: advertiser_id
required: true
source: $.http.body.advertiser_id
type: number
- name: creative_id
required: true
source: $.http.body.smart_plus_ad_id
type: number
- name: appeal_reason
required: false
source: $.http.body.appeal_reason
type: string
- children:
- type: string
name: attachment_list
required: false
source: $.http.body.attachment_list
sub_type: string
type: array
plugins:
after_response: []
before_request: []
request_query_rule: null
request_rule:
advertiser_id: $.http.body.advertiser_id
appeal_reason: $.http.body.appeal_reason
attachment_list: $.http.body.attachment_list
creative_id: $.http.body.smart_plus_ad_id
response_cookie: []
response_header: []
response_rule: null
x-open-scene-labels: []
x-open-settings:
pop_resp_nullvalue: false
/smart_plus/ad/create/:
post:
operationId: Smart_plus Ad Create
parameters:
- description: Authorized access token. For details, see [Authentication](https://ads.tiktok.com/marketing_api/docs?id=1738373164380162).
in: query
name: Access-Token
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
properties:
ad_configuration:
description: ''
properties:
auto_disclaimer_types:
description: ''
items:
type: string
x-open-allow-strlist: false
x-open-allow-strnum: false
x-open-enum:
enum_package_expired: false
enum_package_id: 1827620303506497
enum_package_name: AutoDisclaimerType
enums:
- description: 汽车折扣
is_valid: true
key: DISCOUNT
value: '2'
- description: 汽车排放
is_valid: true
key: EMISSION
value: '1'
key_format: string
strict: true
use_part: false
validate_only: false
value_format: int32
type: array
x-open-allow-strlist: false
x-open-allow-strnum: false
x-open-field-id: 11
call_to_action_id:
description: ''
type: string
x-open-allow-strlist: false
x-open-allow-strnum: false
x-open-convert:
- int64(%s)
x-open-field-id: 8
x-open-source: $.http.body.common_material.call_to_action_id
catalog_creative_toggle:
description: ''
type: boolean
x-open-allow-strlist: false
x-open-allow-strnum: false
x-open-field-id: 6
x-open-source: $.http.body.common_material.catalog_creative_toggle
dark_post_status:
default: 'OFF'
description: ''
type: string
x-open-allow-strlist: false
x-open-allow-strnum: false
x-open-enum:
enum_package_expired: false
enum_package_id: 1843735142813698
enum_package_name: DarkPostStatus
enums:
- description: ''
is_valid: true
key: 'OFF'
value: '2'
- description: ''
is_valid: true
key: 'ON'
value: '1'
- description: ''
is_valid: false
key: Partly
value: '3'
key_format: string
strict: true
use_part: true
validate_only: false
value_format: int32
x-open-field-id: 15
end_card_cta:
description: ''
type: string
x-open-allow-strlist: false
x-open-allow-strnum: false
x-open-enum:
enum_package_expired: false
enum_package_id: 1824616467253313
enum_package_name: EndCardCTA
enums:
- description: ''
is_valid: true
key: BOOK_NOW
value: book_now
- description: ''
is_valid: true
key: CONTACT_US
value: contact_us
- description: ''
is_valid: true
key: LEARN_MORE
value: learn_more
- description: ''
is_valid: true
key: ORDER_NOW
value: order_now
- description: ''
is_valid: true
key: READ_MORE
value: read_more
- description: ''
is_valid: true
key: SEARCH_INVENTORY
value: search_inventory
- description: ''
is_valid: true
key: SHOP_NOW
value: shop_now
- description: ''
is_valid: true
key: SIGN_UP
value: sign_up
- description: ''
is_valid: true
key: VIEW_MORE
value: cta_view_more
key_format: string
strict: true
use_part: false
validate_only: false
value_format: string
x-open-field-id: 9
fallback_type:
description: ''
type: string
x-open-allow-strlist: false
x-open-allow-strnum: false
x-open-enum:
enum_package_expired: false
enum_package_id: 1810699520231426
enum_package_name: FallbackType
enums:
- description: ''
is_valid: true
key: APP_INSTALL
value: '1'
- description: ''
is_valid: true
key: UNSET
value: '0'
- description: ''
is_valid: true
key: WEBSITE
value: '2'
key_format: string
strict: true
use_part: false
validate_only: false
value_format: int32
x-open-field-id: 14
identity_id:
description: ''
type: string
x-open-allow-strlist: false
x-open-allow-strnum: false
x-open-field-id: 2
x-open-source: $.http.body.common_material.identity_id
identity_type:
description: ''
type: string
x-open-allow-strlist: false
x-open-allow-strnum: false
x-open-enum:
enum_package_expired: false
enum_package_id: 1800331041544193
enum_package_name: IdentityType
enums:
- description: ''
is_valid: false
key: AUTH_CODE
value: '2'
- description: ''
is_valid: false
key: BC_AUTH_TT
value: '5'
- description: ''
is_valid: false
key: BC_SELF_TT
value: '4'
- description: ''
is_valid: true
key: CUSTOMIZED_USER
value: '1'
- description: TTS 授权来源TT账号
is_valid: false
key: TTS_TT
value: '8'
- description: ''
is_valid: false
key: TT_USER
value: '3'
- description: ''
is_valid: false
key: UNSET
value: '0'
key_format: string
strict: true
use_part: true
validate_only: false
value_format: int32
x-open-field-id: 1
x-open-source: $.http.body.common_material.identity_type
phone_info:
description: ''
properties:
phone_number:
description: ''
type: string
x-open-allow-strlist: false
x-open-allow-strnum: false
x-open-field-id: 1
phone_region_calling_code:
description: ''
type: string
x-open-allow-strlist: false
x-open-allow-strnum: false
x-open-field-id: 2
phone_region_code:
description: ''
type: string
x-open-allow-strlist: false
x-open-allow-strnum: false
x-open-field-id: 3
type: object
x-open-allow-strlist: false
x-open-allow-strnum: false
x-open-field-id: 13
product_display_field_list:
description: ''
items:
type: string
x-open-allow-strlist: false
x-open-allow-strnum: false
x-open-enum:
enum_package_expired: false
enum_package_id: 1824616319490050
enum_package_name: ProductDisplayField
enums:
- description: dealer所处的城市
is_valid: true
key: ADDRESS_CITY
value: '10'
- description: ''
is_valid: false
key: AREA_SIZE
value: '14'
- description: dealer名称
is_valid: true
key: DEALER_NAME
value: '1'
- description: ''
is_valid: false
key: ESTATE_PRICE
value: '17'
- description: 外表颜色
is_valid: true
key: EXTERIOR_COLOR
value: '8'
- description: 品牌
is_valid: true
key: MAKE
value: '2'
- description: 已跑公里数
is_valid: true
key: MILEAGE
value: '5'
- description: 型号
is_valid: true
key: MODEL
value: '3'
- description: ''
is_valid: false
key: NUM_BED_AND_BATH
value: '18'
- description: 价格
is_valid: true
key: PRICE
value: '6'
- description: ''
is_valid: false
key: PROPERTY_TYPE
value: '15'
- description: ''
is_valid: false
key: REAL_ESTATE_TITLE
value: '19'
- description: 折扣价格
is_valid: true
key: SALE_PRICE
value: '7'
- description: 汽车配置
is_valid: true
key: TRIM
value: '9'
- description: 汽车状态
is_valid: true
key: VEHICLE_STATE
value: '11'
- description: 上市年份
is_valid: true
key: YEAR
value: '4'
- description: ''
is_valid: false
key: YEAR_BUILT
value: '16'
key_format: string
strict: true
use_part: true
validate_only: false
value_format: int32
type: array
x-open-allow-strlist: false
x-open-allow-strnum: false
x-open-field-id: 10
product_ids:
description: ''
items:
type: string
x-open-allow-strlist: false
x-open-allow-strnum: false
x-open-convert:
- int64(%s)
type: array
x-open-allow-strlist: false
x-open-allow-strnum: false
x-open-field-id: 5
x-open-source: $.http.body.common_material.product_ids
product_set_id:
description: ''
type: string
x-open-allow-strlist: false
x-open-allow-strnum: false
x-open-convert:
- int64(%s)
x-open-field-id: 4
x-open-source: $.http.body.common_material.product_set_id
product_specific_type:
description: ''
type: string
x-open-allow-strlist: false
x-open-allow-strnum: false
x-open-enum:
enum_package_expired: false
enum_package_id: 1807533365234690
enum_package_name: ProductSpecificType
enums:
- description: ''
is_valid: true
key: ALL
value: '1'
- description: ''
is_valid: true
key: CUSTOMIZED_PRODUCTS
value: '3'
- description: ''
is_valid: true
key: PRODUCT_SET
value: '2'
- description: ''
is_valid: false
key: UNSET
value: '0'
key_format: string
strict: true
use_part: true
validate_only: false
value_format: int32
x-open-field-id: 3
x-open-source: $.http.body.common_material.product_specific_type
tracking_info:
description: ''
properties:
click_tracking_url:
description: ''
type: string
x-open-allow-strlist: false
x-open-allow-strnum: false
x-open-field-id: 2
x-open-source: $.http.body.common_material.tracking_info.action_track_url
impression_tracking_url:
description: ''
type: string
x-open-allow-strlist: false
x-open-allow-strnum: false
x-open-field-id: 1
x-open-source: $.http.body.common_material.tracking_info.track_url
tracking_app_id:
description: ''
type: string
x-open-allow-strlist: false
x-open-allow-strnum: false
x-open-convert:
- int64(%s)
x-open-field-id: 3
x-open-source: $.http.body.common_material.tracking_info.tracking_app_id
tracking_message_event_set_id:
description: ''
type: string
x-open-allow-strlist: false
x-open-allow-strnum: false
x-open-convert:
- int64(%s)
x-open-field-id: 4
type: object
x-open-allow-strlist: false
x-open-allow-strnum: false
x-open-field-id: 12
x-open-source: $.http.body.common_material.tracking_info
utm_params:
description: ''
items:
properties:
key:
description: ''
type: string
x-open-allow-strlist: false
x-open-allow-strnum: false
x-open-field-id: 1
x-open-source: $.http.body.common_material.utms[].field
value:
description: ''
type: string
x-open-allow-strlist: false
x-open-allow-strnum: false
x-open-field-id: 2
x-open-source: $.http.body.common_material.utms[].value
type: object
x-open-allow-strlist: false
x-open-allow-strnum: false
maxItems: 14
type: array
x-open-allow-strlist: false
x-open-allow-strnum: false
x-open-field-id: 7
x-open-source: $.http.body.common_material.utms
type: object
x-open-allow-strlist: false
x-open-allow-strnum: false
x-open-field-id: 13
x-open-source: $.http.body.common_material
ad_name:
description: ''
type: string
x-open-allow-strlist: false
x-open-allow-strnum: false
x-open-field-id: 3
x-open-source: $.http.body.ad_name
ad_text_list:
description: ''
items:
properties:
ad_text:
description: ''
type: string
x-open-allow-strlist: false
x-open-allow-strnum: false
x-open-field-id: 1
x-open-source: $.http.body.title_list[].title
required:
- ad_text
type: object
x-open-allow-strlist: false
x-open-allow-strnum: false
maxItems: 5
type: array
x-open-allow-strlist: false
x-open-allow-strnum: false
x-open-field-id: 6
x-open-source: $.http.body.title_list
adgroup_id:
description: ''
type: string
x-open-allow-strlist: false
x-open-allow-strnum: false
x-open-convert:
- int64(%s)
x-open-field-id: 2
x-open-source: $.http.body.adgroup_id
advertiser_id:
description: ''
type: string
x-open-allow-strlist: false
x-open-allow-strnum: false
x-open-convert:
- int64(%s)
x-open-field-id: 1
x-open-source: $.http.body.advertiser_id
auto_message_list:
description: ''
items:
properties:
auto_message_id:
description: ''
type: string
x-open-allow-strlist: false
x-open-allow-strnum: false
x-open-convert:
- int64(%s)
x-open-field-id: 1
type: object
x-open-allow-strlist: false
x-open-allow-strnum: false
maxItems: 1
type: array
x-open-allow-strlist: false
x-open-allow-strnum: false
x-open-field-id: 12
call_to_action_list:
description: ''
items:
properties:
call_to_action:
description: ''
type: string
x-open-allow-strlist: false
x-open-allow-strnum: false
x-open-enum:
enum_package_expired: false
enum_package_id: 1807533165224961
enum_package_name: CallToAction
enums:
- description: ''
is_valid: true
key: APPLY_NOW
value: apply_now
- description: ''
is_valid: true
key: BOOK_NOW
value: book_now
- description: ''
is_valid: true
key: CALL_NOW
value: call_to_action_call
- description: ''
is_valid: true
key: CHECK_AVAILABILITY
value: cta_check_availability
- description: ''
is_valid: true
key: CONTACT_US
value: contact_us
- description: ''
is_valid: true
key: DOWNLOAD_NOW
value: download_now
- description: ''
is_valid: true
key: EXPERIENCE_NOW
value: experience_now
- description: ''
is_valid: true
key: GET_QUOTE
value: get_quote
- description: ''
is_valid: true
key: GET_SHOWTIMES
value: get_showtimes
- description: ''
is_valid: true
key: GET_TICKETS_NOW
value: get_tickets_now
- description: ''
is_valid: true
key: INSTALL_NOW
value: install_now
- description: ''
is_valid: true
key: INTERESTED
value: interested
- description: ''
is_valid: true
key: JOIN_THIS_HASHTAG
value: join_this_hashtag
- description: ''
is_valid: true
key: LEARN_MORE
value: learn_more
- description: ''
is_val
# --- truncated at 32 KB (216 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/tiktok-ads/refs/heads/main/openapi/tiktok-ads-ad-api-openapi.yml