TikTok Marketing API BC API
The BC API from TikTok Marketing API — 36 operation(s) for bc.
The BC API from TikTok Marketing API — 36 operation(s) for bc.
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-bc-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 BC 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: BC
paths:
/bc/account/transaction/get/:
get:
operationId: Bc Account Transaction Get
parameters:
- description: ''
in: query
name: bc_id
required: false
schema:
type: string
x-open-allow-strlist: false
x-open-allow-strnum: false
x-open-convert:
- int64(%s)
x-open-source: $.http.query.bc_id
x-open-field-id: 1
- description: ''
in: query
name: child_bc_id
required: false
schema:
type: string
x-open-allow-strlist: false
x-open-allow-strnum: false
x-open-convert:
- int64(%s)
x-open-source: $.http.query.child_bc_id
x-open-field-id: 2
- description: ''
in: query
name: transaction_level
required: false
schema:
type: string
x-open-allow-strlist: false
x-open-allow-strnum: false
x-open-enum:
enum_package_expired: false
enum_package_id: 1807919387053057
enum_package_name: TransactionLevel
enums:
- description: ''
is_valid: true
key: ADVERTISER
value: '2'
- description: ''
is_valid: true
key: BC
value: '1'
key_format: string
strict: true
use_part: false
validate_only: false
value_format: int32
x-open-source: $.http.query.transaction_level
x-open-field-id: 3
- content:
application/json:
schema:
properties:
account_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: 3
account_name:
description: ''
type: string
x-open-allow-strlist: false
x-open-allow-strnum: false
x-open-field-id: 4
billing_types:
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: 5
end_time:
description: ''
format: datetime
type: string
x-open-allow-strlist: false
x-open-allow-strnum: false
x-open-field-id: 7
owner_of_account:
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: 2
start_time:
description: ''
format: datetime
type: string
x-open-allow-strlist: false
x-open-allow-strnum: false
x-open-field-id: 6
transaction_types:
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: 1
type: object
x-open-allow-strlist: false
x-open-allow-strnum: false
description: ''
in: query
name: filtering
required: false
x-open-field-id: 4
- description: ''
in: query
name: page
required: false
schema:
default: 1
format: int64
type: integer
x-open-allow-strlist: false
x-open-allow-strnum: false
x-open-source: $.http.query.page
x-open-field-id: 5
- description: ''
in: query
name: page_size
required: false
schema:
default: 10
format: int64
type: integer
x-open-allow-strlist: false
x-open-allow-strnum: false
x-open-source: $.http.query.page_size
x-open-field-id: 6
- 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
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: Get the transaction records of a BC or ad accounts. [BC Account Transaction Get](https://business-api.tiktok.com/portal/docs?id=1792849810925569)
tags:
- BC
x-open-allowlist: {}
x-open-denylist: {}
x-open-rules:
base_rule: null
extra_rule:
base_source: []
http_query_source: []
http_source:
- name: bc_id
required: false
source: $.http.query.bc_id
type: number
- name: child_bc_id
required: false
source: $.http.query.child_bc_id
type: number
- name: transaction_level
required: false
source: $.http.query.transaction_level
type: number
- children:
- type: string
is_expand: true
name: transaction_types
required: false
source: $.http.query.filtering.transaction_types[]
sub_type: string
type: array
- children:
- type: string
is_expand: true
name: owner_of_account
required: false
source: $.http.query.filtering.owner_of_account[]
sub_type: string
type: array
- children:
- type: number
is_expand: true
name: account_ids
required: false
source: $.http.query.filtering.account_ids[]
sub_type: number
type: array
- name: account_name
required: false
source: $.http.query.filtering.account_name
type: string
- children:
- type: string
is_expand: true
name: billing_types
required: false
source: $.http.query.filtering.billing_types[]
sub_type: string
type: array
- name: start_time
required: false
source: $.http.query.filtering.start_time
type: string
- name: end_time
required: false
source: $.http.query.filtering.end_time
type: string
- name: page
required: false
source: $.http.query.page
type: number
- name: page_size
required: false
source: $.http.query.page_size
type: number
plugins:
after_response: []
before_request: []
request_query_rule: null
request_rule:
account_ids: $.http.query.filtering.account_ids[]
account_name: $.http.query.filtering.account_name
bc_id: $.http.query.bc_id
billing_types: $.http.query.filtering.billing_types[]
child_bc_id: $.http.query.child_bc_id
end_time: $.http.query.filtering.end_time
owner_of_account: $.http.query.filtering.owner_of_account[]
page: $.http.query.page
page_size: $.http.query.page_size
start_time: $.http.query.filtering.start_time
transaction_level: $.http.query.transaction_level
transaction_types: $.http.query.filtering.transaction_types[]
response_cookie: []
response_header: []
response_rule:
page_info: $.rpc.output.page_info
transaction_list: $.rpc.output.transaction_list
x-open-scene-labels: []
x-open-settings:
pop_resp_nullvalue: false
/bc/asset/admin/delete/:
post:
operationId: Bc Asset Admin Delete
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:
asset_ids:
description: ''
items:
type: string
x-open-allow-strlist: false
x-open-allow-strnum: false
x-open-convert:
- int64(%s)
minItems: 1
type: array
x-open-allow-strlist: false
x-open-allow-strnum: false
x-open-field-id: 4
x-open-source: $.http.body.asset_ids
asset_type:
description: ''
type: string
x-open-allow-strlist: false
x-open-allow-strnum: false
x-open-enum:
enum_package_expired: false
enum_package_id: 1803356502782978
enum_package_name: BCAsset
enums:
- description: ''
is_valid: true
key: ADVERTISER
value: '1'
- description: ''
is_valid: true
key: CATALOG
value: '4'
- description: ''
is_valid: true
key: DOMAIN
value: '6'
- description: ''
is_valid: true
key: LEAD
value: '9'
- description: ''
is_valid: true
key: PIXEL
value: '3'
- description: ''
is_valid: true
key: STOREFRONT
value: '5'
- description: ''
is_valid: true
key: TIKTOK_SHOP
value: '10'
- description: ''
is_valid: true
key: TT_ACCOUNT
value: '8'
key_format: string
strict: true
use_part: false
validate_only: false
value_format: int32
x-open-field-id: 3
x-open-source: $.http.body.asset_type
bc_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.bc_id
child_bc_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.child_bc_id
required:
- bc_id
- asset_type
- asset_ids
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: Delete assets. [BC Asset Admin Delete](https://business-api.tiktok.com/portal/docs?id=1739657251102722)
tags:
- BC
x-open-allowlist: {}
x-open-denylist: {}
x-open-rules:
base_rule: null
extra_rule:
base_source: []
http_query_source: []
http_source:
- name: bc_id
required: true
source: $.http.body.bc_id
type: number
- name: child_bc_id
required: false
source: $.http.body.child_bc_id
type: number
- name: asset_type
required: true
source: $.http.body.asset_type
type: number
- children:
- type: number
name: asset_ids
required: false
source: $.http.body.asset_ids
sub_type: number
type: array
plugins:
after_response: []
before_request: []
request_query_rule: null
request_rule:
asset_ids: $.http.body.asset_ids
asset_type: $.http.body.asset_type
bc_id: $.http.body.bc_id
child_bc_id: $.http.body.child_bc_id
response_cookie: []
response_header: []
response_rule: null
x-open-scene-labels: []
x-open-settings:
pop_resp_nullvalue: false
/bc/asset/admin/get/:
get:
operationId: Bc Asset Admin Get
parameters:
- description: ''
in: query
name: bc_id
required: true
schema:
type: string
x-open-allow-strlist: false
x-open-allow-strnum: false
x-open-convert:
- int64(%s)
x-open-source: $.http.query.bc_id
x-open-field-id: 1
- description: ''
in: query
name: child_bc_id
required: false
schema:
type: string
x-open-allow-strlist: false
x-open-allow-strnum: false
x-open-convert:
- int64(%s)
x-open-source: $.http.query.child_bc_id
x-open-field-id: 2
- description: ''
in: query
name: asset_type
required: true
schema:
type: string
x-open-allow-strlist: false
x-open-allow-strnum: false
x-open-enum:
enum_package_expired: false
enum_package_id: 1803356502782978
enum_package_name: BCAsset
enums:
- description: ''
is_valid: true
key: ADVERTISER
value: '1'
- description: ''
is_valid: true
key: CATALOG
value: '4'
- description: ''
is_valid: false
key: DOMAIN
value: '6'
- description: ''
is_valid: true
key: LEAD
value: '9'
- description: ''
is_valid: true
key: PIXEL
value: '3'
- description: ''
is_valid: true
key: STOREFRONT
value: '5'
- description: ''
is_valid: true
key: TIKTOK_SHOP
value: '10'
- description: ''
is_valid: true
key: TT_ACCOUNT
value: '8'
key_format: string
strict: true
use_part: true
validate_only: false
value_format: int32
x-open-source: $.http.query.asset_type
x-open-field-id: 3
- content:
application/json:
schema:
properties:
advertiser_show_status:
description: ''
type: string
x-open-allow-strlist: false
x-open-allow-strnum: false
x-open-enum:
enum_package_expired: false
enum_package_id: 1800605795462145
enum_package_name: ShowAccountStatus
enums:
- description: ''
is_valid: true
key: SHOW_ACCOUNT_STATUS_APPROVED
value: '2'
- description: ''
is_valid: true
key: SHOW_ACCOUNT_STATUS_IN_REVIEW
value: '3'
- description: ''
is_valid: true
key: SHOW_ACCOUNT_STATUS_NOT_APPROVED
value: '1'
- description: ''
is_valid: true
key: SHOW_ACCOUNT_STATUS_PUNISHED
value: '4'
key_format: string
strict: true
use_part: false
validate_only: false
value_format: int32
x-open-field-id: 1
x-open-source: $.http.query.filtering.advertiser_show_status
keyword:
description: ''
type: string
x-open-allow-strlist: false
x-open-allow-strnum: false
x-open-field-id: 2
x-open-source: $.http.query.filtering.keyword
relation_status:
description: ''
type: string
x-open-allow-strlist: false
x-open-allow-strnum: false
x-open-enum:
enum_package_expired: false
enum_package_id: 1803448727394305
enum_package_name: BCAssetRelationStatus
enums:
- description: ''
is_valid: true
key: BOUND
value: '1'
- description: ''
is_valid: true
key: PENDING
value: '4'
- description: 拒绝
is_valid: false
key: REJECT
value: '5'
- description: 被拒绝
is_valid: true
key: REJECTED
value: '3'
- description: ''
is_valid: true
key: UNBOUND
value: '2'
key_format: string
strict: true
use_part: true
validate_only: false
value_format: int32
x-open-field-id: 4
x-open-source: $.http.query.filtering.relation_status
relation_type:
description: ''
type: string
x-open-allow-strlist: false
x-open-allow-strnum: false
x-open-enum:
enum_package_expired: false
enum_package_id: 1803448641906690
enum_package_name: AssetRelationType
enums:
- description: ''
is_valid: true
key: OWNER_BC
value: '1'
- description: ''
is_valid: true
key: OWNER_INDIVIDUAL
value: '3'
- description: ''
is_valid: true
key: OWNER_PARTNER
value: '2'
key_format: string
strict: true
use_part: false
validate_only: false
value_format: int32
x-open-field-id: 3
x-open-source: $.http.query.filtering.relation_type
type: object
x-open-allow-strlist: false
x-open-allow-strnum: false
x-open-source: $.http.query.filtering
description: ''
in: query
name: filtering
required: false
x-open-field-id: 4
- description: ''
in: query
name: page
required: false
schema:
default: 1
format: int64
minimum: 1
type: integer
x-open-allow-strlist: false
x-open-allow-strnum: false
x-open-source: $.http.query.page
x-open-field-id: 5
- description: ''
in: query
name: page_size
required: false
schema:
default: 10
format: int64
maximum: 50
minimum: 1
type: integer
x-open-allow-strlist: false
x-open-allow-strnum: false
x-open-source: $.http.query.page_size
x-open-field-id: 6
- 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
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: Get assets of a Business Center as admins. [BC Asset Admin Get](https://business-api.tiktok.com/portal/docs?id=1739433007779841)
tags:
- BC
x-open-allowlist: {}
x-open-denylist: {}
x-open-rules:
base_rule: null
extra_rule:
base_source: []
http_query_source: []
http_source:
- name: bc_id
required: true
source: $.http.query.bc_id
type: number
- name: child_bc_id
required: false
source: $.http.query.child_bc_id
type: number
- name: asset_type
required: true
source: $.http.query.asset_type
type: number
- children:
- name: advertiser_show_status
required: false
source: $.http.query.filtering.advertiser_show_status
type: number
- name: keyword
required: false
source: $.http.query.filtering.keyword
type: string
- name: relation_type
required: false
source: $.http.query.filtering.relation_type
type: number
- name: relation_status
required: false
source: $.http.query.filtering.relation_status
type: number
name: filtering
required: false
source: $.http.query.filtering
type: object
- name: page
required: false
source: $.http.query.page
type: number
- name: page_size
required: false
source: $.http.query.page_size
type: number
plugins:
after_response: []
before_request: []
request_query_rule: null
request_rule:
asset_type: $.http.query.asset_type
bc_id: $.http.query.bc_id
child_bc_id: $.http.query.child_bc_id
filtering: $.http.query.filtering
page: $.http.query.page
page_size: $.http.query.page_size
response_cookie: []
response_header: []
response_rule:
list[][]:
- ad_creation_eligible: $.rpc.output.assets[].ad_creation_eligible
advertiser_account_type: $.rpc.output.assets[].advertiser_account_type
advertiser_role: $.rpc.output.assets[].advertiser_role
advertiser_status: $.rpc.output.assets[].advertiser_status
asset_id: $.rpc.output.assets[].asset_id
asset_name: $.rpc.output.assets[].asset_name
asset_type: $.rpc.output.assets[].asset_type
catalog_role: $.rpc.output.assets[].catalog_role
owner_bc_name: $.rpc.output.assets[].owner_bc_name
pixel_code: $.rpc.output.assets[].pixel_code
relation_status: $.rpc.output.assets[].relation_status
relation_type: $.rpc.output.assets[].relation_type
store_role: $.rpc.output.assets[].shop_role
tt_account_roles: $.rpc.output.assets[].tt_account_roles
page_info: $.rpc.output.page_info
x-open-scene-labels: []
x-open-settings:
pop_resp_nullvalue: false
/bc/asset/assign/:
post:
operationId: Bc Asset Assign
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_role:
description: ''
type: string
x-open-allow-strlist: false
x-open-allow-strnum: false
x-open-enum:
enum_package_expired: false
enum_package_id: 1803356642456577
enum_package_name: AdvertiserRole
enums:
- description: ''
is_valid: true
key: ADMIN
value: '0'
- description: ''
is_valid: true
key: ANALYST
value: '2'
- description: ''
is_valid: true
key: OPERATOR
value: '1'
# --- truncated at 32 KB (278 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/tiktok-ads/refs/heads/main/openapi/tiktok-ads-bc-api-openapi.yml