canonical: https://jentic.com/apis/business-api.tiktok.com/tiktok-marketing

# Business Api Tiktok TikTok Marketing API

The TikTok Marketing API is TikTok's advertising and Business Center API for managing the full TikTok Ads stack: ad accounts, campaigns, ad groups, ads, Smart+ campaigns, creatives, audiences, pixels, catalogs, automated rules, comments, and reporting. It also exposes Business Center, app, and offline events endpoints for advertisers running cross-account or attribution workflows. Authentication uses an Access-Token header issued through the TikTok OAuth flow against `/oauth2/access_token/.`

## For AI agents

Create and manage TikTok ad campaigns, ad groups, ads, audiences, and creatives, run Smart+ campaigns, and pull reporting data on behalf of an authorized advertiser.

## Scope

Does not handle organic TikTok content posting, creator-economy payouts, or non-ad analytics - use for TikTok ad operations and Business Center management only.

## Capabilities

- Create, list, and update TikTok ad campaigns and update their status
- Manage ad groups and ads, including bulk status updates
- Run Smart+ campaigns and ad groups via the /smart_plus paths
- Manage audiences, pixels, and catalogs for ad targeting and product feeds
- Pull reporting data and apply automated rules across the ad account
- Manage creatives, including comments and blocked words
- Operate Business Center entities for multi-account advertisers

## Use cases

### Programmatic TikTok ad campaign management

Create campaigns, ad groups, and ads, then update their status as performance changes. The campaign, adgroup, and ad endpoints each expose create, list, update, and status-update operations, suitable for performance teams that orchestrate dozens or hundreds of ad units across multiple advertisers.

Example prompt: POST `/campaign/create`/ for the new objective, POST `/adgroup/create`/ under it, POST `/ad/create`/ for each creative, then POST `/ad/status/update`/ to enable them.

### Smart+ automated campaigns

Run TikTok Smart+ campaigns where the platform optimizes targeting and creative selection. The `/smart_plus/campaign` and `/smart_plus/adgroup` endpoints mirror the standard create-list-update-status pattern but route to TikTok's automated optimization stack, suitable for teams that want simpler campaign management with platform-driven optimization.

Example prompt: POST `/smart_plus/campaign/create`/ with budget and objective, POST `/smart_plus/adgroup/create`/ under it, then activate with POST `/smart_plus/campaign/status/update/.`

### Reporting and pixel-driven attribution

Pull spend, reach, and conversion data via the Reporting endpoints, and feed in offline conversions through the offline-events endpoints to attribute back to TikTok ads. Pair with pixel and audience endpoints to close the loop on retargeting and lookalike-style audiences.

Example prompt: Pull a campaign-level report from the Reporting endpoints for the last 7 days, then post matching offline events through the offline-events endpoint to attribute store visits.

### AI agent ad operations via Jentic

An AI agent can manage day-to-day TikTok ad operations - pausing underperforming ad groups, building lookalike audiences, and adjusting Smart+ campaigns - without ever holding the raw Access-Token. Jentic securely stores the access token and refresh material and issues scoped, short-lived credentials per operation.

Example prompt: Search Jentic for 'pause a TikTok ad group', load the `/adgroup/status/update`/ schema, and execute the pause for the chosen ad group ID after the user confirms.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/oauth2/access_token/` | Exchange OAuth code for an access token |
| POST | `/campaign/create/` | Create a campaign |
| GET | `/campaign/get/` | List campaigns |
| POST | `/adgroup/create/` | Create an ad group |
| POST | `/adgroup/status/update/` | Update ad group status |
| POST | `/ad/create/` | Create an ad |
| POST | `/smart_plus/campaign/create/` | Create a Smart+ campaign |
| POST | `/ad/status/update/` | Update ad status |

## Key resources

- **Authentication** — Obtain access tokens and list authorized advertisers.
- **Campaigns** — Create, list, update, and toggle status for TikTok ad campaigns.
- **AdGroups** — Manage ad groups, their targeting, and quota.
- **Ads** — Create and manage individual ads under an ad group.
- **Smart+** — Run TikTok Smart+ campaigns and ad groups with automated optimization.
- **Audiences** — Create custom and lookalike audiences for ad targeting.
- **Pixels** — Manage TikTok pixels for site-side conversion tracking.
- **Reporting** — Pull spend, reach, and conversion reports across the account.
- **Catalogs** — Upload and manage product catalogs for shopping ads.
- **BusinessCenter** — Operate Business Center entities for multi-advertiser accounts.

## Why Jentic

- **Setup:** Wiring the TikTok Marketing API by hand means running the OAuth exchange at `/oauth2/access_token`/, scoping calls to an authorized advertiser via `/oauth2/advertiser/get`/, sending the Access-Token header on every request, and handling per-advertiser 429 throttling yourself. Through Jentic you install once, import the TikTok Marketing API from the API Directory, store the access token once, and your agent calls it.
- **Permission scoping:** TikTok carries the advertiser and entity ids in the request body rather than the URL path, so you limit the agent to the operations it needs, such as GET `/campaign/get`/ to list campaigns or POST `/adgroup/status/update`/ to pause one. Write and status operations like POST `/campaign/create`/ or `/ad/status/update`/ stay out of reach unless you add them.
- **Credential handling:** Your TikTok Access-Token and OAuth refresh material are stored once, encrypted, by your own Jentic One instance and injected at execution time. They never enter the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'create a TikTok campaign' or 'pause a TikTok ad group', and Jentic returns the matching operation like POST `/campaign/create`/ or `/adgroup/status/update`/ with its input schema, so the agent calls the right endpoint without reading the TikTok developer portal.

## Related APIs

- **Facebook Graph API** — Meta's ad and content API spans Facebook and Instagram, with a different objective taxonomy than TikTok.
- **Snapchat Marketing API** — Snapchat's advertising API for vertical-video campaigns on Snap.
- **Pinterest API** — Pinterest exposes ads and content endpoints for parallel social distribution.

## FAQ

### What authentication does the TikTok Marketing API use?

Requests carry an Access-Token header obtained via the TikTok OAuth flow at `/oauth2/access_token/.` List authorized advertisers with `/oauth2/advertiser/get/.` Through Jentic, the access token and refresh material are encrypted in the vault and a scoped, short-lived token is issued per operation.

### Can I create and manage TikTok ad campaigns through this API?

Yes - POST `/campaign/create`/ to create a campaign, GET `/campaign/get`/ to list, POST `/campaign/update`/ to edit, and POST `/campaign/status/update`/ to enable, pause, or delete. Ad groups and ads expose the same create-list-update-status pattern.

### What is Smart+ and how do I run it via the API?

Smart+ is TikTok's automated campaign optimization stack. Use `/smart_plus/campaign/create`/ and `/smart_plus/adgroup/create`/ to set up Smart+ entities; status and update operations mirror the standard ad surface.

### How do I pull spend or performance data from a TikTok ad account?

Use the Reporting endpoints, which return aggregated metrics by campaign, ad group, or ad over a date range. Pair with the pixel and offline-events endpoints to attribute conversions to specific ads.

### What are the rate limits for the TikTok Marketing API?

The OpenAPI spec does not declare explicit limits. TikTok publishes per-app and per-advertiser quotas in their developer documentation - implement 429 retry-with-backoff and stagger reporting pulls to avoid spikes.

### How do I create a TikTok campaign through Jentic?

Run `pip install jentic` and search for 'create a TikTok campaign'. Jentic returns the `/campaign/create`/ operation, you load its schema, and execute with the campaign payload - credentials stay in your Jentic One instance.

### Can I limit what my agent is allowed to do with the TikTok Marketing API?

Yes. Because you run Jentic One yourself, you decide which TikTok Marketing operations the agent can call, so you can grant read-only access like GET `/campaign/get`/ to list campaigns while withholding everything else. Write and status operations such as POST `/campaign/create`/ and POST `/adgroup/status/update`/ stay out of reach unless you explicitly add them. Since TikTok carries the advertiser and entity ids in the request body rather than the URL, your own rules govern both which endpoints the agent uses and the credentials it is given at execution time.
