TikTok Ads API: Access, Tokens, and Reporting

By Mika ReyesPublished 7 min read

The short answer

The TikTok Ads API is the Marketing API inside TikTok API for Business. To use it, register as a developer at business-api.tiktok.com, create a developer app (review takes 2 to 3 business days), send advertisers your authorization URL, and exchange the auth_code for a long-term access token that returns their advertiser IDs. Reporting runs through report/integrated/get, and apps start at 10 queries per second.

The TikTok Ads API is the Marketing API inside TikTok API for Business (business-api.tiktok.com). It lets your software create campaigns, manage ad accounts, and pull reports for advertisers who authorize your app. Getting access takes five steps: a TikTok for Business account, developer registration, a developer app, advertiser authorization, and a token exchange.

This is a reference for developers at marketing platforms and SaaS products adding TikTok ads features for their customers. Every step below comes from TikTok's own API for Business docs. If you need the organic side of TikTok (posting and creator analytics), that's a different portal, covered in TikTok API for Business vs. Developers.

What is the TikTok Ads API?

The TikTok Ads API is TikTok's Marketing API, one product inside TikTok API for Business. It covers ad accounts, campaigns, ad groups, ads, creatives, audiences, Business Center, and reporting. Most developers searching "TikTok marketing API" or "TikTok Ads API" mean the same thing.

TikTok API for Business also holds other products that share the portal but authorize differently:

API in TikTok API for Business Who authorizes it auth_code lifetime
Marketing API A TikTok for Business advertiser 1 hour, single use
Accounts API / Mentions API An organic TikTok account holder 10 minutes, single use
TTO API (TikTok One Creator Marketplace) A TTO Creator Marketplace account 1 hour, single use

Source: TikTok's authorization overview.

The current Marketing API version for most endpoints is v1.3. On October 23, 2026, TikTok launched Reporting API v2.0, which so far covers reporting endpoints only. More on that below.

How do I get TikTok Ads API access?

You get TikTok Ads API access by registering your company as a developer, then creating a developer app that TikTok reviews. Individuals can't apply. Here's the sequence from TikTok's register as a developer and create a developer app guides.

  1. Create a TikTok for Business account, then log in to the developer portal at business-api.tiktok.com and click Become a Developer.
  2. Fill in your developer profile. Use a verified company email domain (TikTok suggests an alias like developers+tiktok@company.com that your team shares). Personal and temporary emails are rejected.
  3. Pick your user type: Technology Company, Direct Advertiser, or Agency. A mismatch between the type and your details is a stated rejection reason.
  4. Give a company website that is public, fully built, on a domain your company owns, and matches your email domain. Shortened links and social media pages don't count.
  5. Describe how you'll use TikTok data and the API. TikTok says to be as descriptive as possible. You hear back within three business days.
  6. Create a developer app once the profile is approved. Name it, describe its intended uses and who can access it, add an advertiser redirect URL (up to 10, localhost allowed), and select the scope of permission for the endpoints you need.
  7. Wait for app review. TikTok says the review "may take 2 to 3 business days." If it's rejected, edit and resubmit.

Each developer can have up to five developer apps. Keep your scope of permission tight and tied to the app description, because TikTok checks that the two match.

How do I get a TikTok Ads API access token?

You get a TikTok Ads API access token by sending an advertiser your authorization URL, catching the auth_code on your redirect URL, and POSTing it to the oauth2/access_token endpoint. The result is a long-term token that does not expire. Steps from TikTok's Marketing API authorization guide:

  1. Copy the Advertiser authorization URL from My Apps, in your app's Basic Information section, and send it to the advertiser.
  2. The advertiser reviews your permissions, agrees to the Platform Service Agreement, and confirms with a code sent to the email on their ad account.
  3. TikTok redirects to your redirect URL with auth_code (and your state) in the query string. Your server reads it.
  4. Exchange the code within one hour. It works once.
curl -X POST "https://business-api.tiktok.com/open_api/v1.3/oauth2/access_token/" \
  -H "Content-Type: application/json" \
  -d '{
    "app_id": "<APP_ID>",
    "secret": "<APP_SECRET>",
    "auth_code": "<AUTH_CODE>"
  }'

The response holds access_token, scope (numeric scope IDs), and advertiser_ids, the ad accounts the token can reach:

{
  "code": 0,
  "message": "OK",
  "data": {
    "access_token": "xxxxxxxxxxxxx",
    "scope": [4],
    "advertiser_ids": ["123456789", "123456781"]
  },
  "request_id": "2020042715295501023125104093250"
}

Source: TikTok's obtain a long-term access token reference. Details to plan for:

  • The token does not expire. TikTok's docs say so outright. Revoke it with /oauth2/revoke_token/ when a customer disconnects.
  • /oauth/token/ is the alternative. It's new in v1.3, takes client_id, client_secret, code, and grant_type=authorization_code, and accepts form-encoded bodies. /oauth2/access_token/ only takes JSON.
  • Big agencies time out. If a token can reach thousands of ad accounts, set return_advertiser_ids to false and list accounts separately.
  • Send the token in an Access-Token header, not Authorization: Bearer, on Marketing API calls.

Don't confuse this with the Accounts API. Tokens for organic TikTok accounts are short-term and need renewing. A TikTok integration that does both ads and organic runs two token lifecycles.

What are TikTok advertiser IDs?

A TikTok advertiser ID is the ID of one ad account, and almost every Marketing API call takes one. The token exchange returns the list your token can access. To refresh that list later, call GET /open_api/v1.3/oauth2/advertiser/get/ with your app_id, secret, and the access token, per TikTok's official Business API SDK.

Store the mapping between your customer and their advertiser IDs on your side. One customer often brings several ad accounts, and one Business Center can hold many. In v1.3, advertiser_ids come back as strings, so don't parse them as numbers (v1.2 returned numbers).

How does TikTok Ads API reporting work?

TikTok Ads API reporting runs through report/integrated/get for synchronous reports and report/task/* endpoints for asynchronous ones. You pass advertiser IDs, dimensions such as campaign_id or stat_time_day, and the metrics you want.

Endpoint Use it for
report/integrated/get/ A synchronous report, returned in the response
report/task/create/ Start an asynchronous report for large pulls
report/task/check/ Poll an async task's status
report/task/download/ Download a finished async report
report/task/cancel/ Cancel an async task

Reporting API v2.0 changes the shape. TikTok's changelog for October 23, 2026 says Basic, Audience, and DSA reports merge into one Ad Report, and the maximum number of advertisers per request went from 5 to 20. The v2.0 synchronous report reference adds:

  • The method is POST to https://business-api.tiktok.com/open_api/v2.0/report/integrated/get/, with a JSON body.
  • report_type, data_level, service_type, and advertiser_id are gone as request parameters. Use advertiser_ids or bc_id.
  • Filters are singular: campaign_ids becomes campaign_id, and filter_value (a string) becomes filter_values (an array).
  • Delivery metrics can be sorted and filtered, and stat_time_week and stat_time_month are new dimensions.
  • A synchronous report returns up to 20,000 ads. Above that, filter by campaign_id, adgroup_id, or ad_id in batches of up to 100 IDs.

If you're building new reporting today, start on v2.0 so you don't migrate twice. If you compare API numbers with an Ads Manager export, compare against an asynchronous report, since TikTok says synchronous reports are the ones truncated at 20,000 ads.

What are the TikTok Ads API rate limits?

Every TikTok developer app starts at the Basic level: 10 queries per second, 600 per minute, and 864,000 per day. Throttled requests return "code": 40100. Levels from TikTok's rate limits overview:

Level QPS QPM QPD
Basic (default) 10 600 864,000
Advanced 20 1,200 1,728,000
Premium 30 1,800 2,592,000
Ultimate 50 3,000 4,320,000
  • Limits are per endpoint. Hitting the cap on /campaign/get/ doesn't block /ad/get/.
  • Some endpoints are tighter. Async report creation is capped at 2 QPS, 60 QPM, and 4,500 per day at every level. /ad/create/ starts at 5 QPS.
  • Backoff is fixed. After a QPM throttle, wait 5 minutes. After a QPD throttle, wait until 00:00 UTC.
  • Upgrades go one level at a time. Apply in My Apps under your app's Authorization section, with a reason (TikTok's example is reporting errors from the current limit).

TikTok recommends two habits: batch reads (pass many adgroup_ids in one filter instead of one call per ID) and a client-side token bucket or queue so you never fire more concurrent requests than your QPS allows.

What changes on January 1, 2027?

Starting January 1, 2027, TikTok's campaign, ad group, and ad creation endpoints stop supporting non-Search Legacy Manual Flow campaigns for Sales, App Promotion, and Lead Generation objectives. The notice sits at the top of TikTok's current docs and names /campaign/create/, /campaign/copy/task/create/, /adgroup/create/, /ad/create/, and /ad/aco/create/.

TikTok's advice is to move affected workflows to the Upgraded Smart+ APIs. If your product creates TikTok campaigns for customers on those objectives, plan that migration alongside the Reporting v2.0 move.

Where does Adeli fit?

Adeli runs TikTok ads for your customers without a Marketing API app of your own. Through Adeli's ads API you manage your customers' TikTok ad accounts and campaigns, track results, and pull leads, alongside Meta and LinkedIn ads. On the organic side, Adeli publishes to TikTok through TikTok API for Business and handles the token refresh cycle for every connected TikTok account, so you publish videos and read TikTok analytics with the same API key you use for Instagram, Facebook, YouTube, X, and Bluesky.

If you're building an AI marketing platform that runs paid and organic side by side, Adeli takes both flows off your plate: the developer registration, app review, auth codes, and token handling above are already done. Adeli is priced per profile (one of your customers), with every platform included, so the bill tracks how you charge. See pricing.

faq

Frequently asked questions

Does the TikTok Ads API access token expire?

No. TikTok's docs say the long-term access token you get from an advertiser's authorization does not expire. To end access, for example when a customer disconnects, revoke it with the oauth2/revoke_token endpoint.

How long is a TikTok ad authorization code valid?

A Marketing API auth_code is valid for one hour and can be used once. If it expires before you exchange it, the advertiser has to go through the authorization URL again. Accounts API codes from organic TikTok accounts last only 10 minutes.

Can individual developers get TikTok Ads API access?

No. TikTok's registration guide says it can't onboard personal accounts or individual developers. You need a verified company email domain and a public company website on a domain your company owns.

Is the TikTok Marketing API the same as the TikTok Content Posting API?

No. The Marketing API lives on business-api.tiktok.com and manages ads for advertisers. The Content Posting API lives on developers.tiktok.com and publishes organic videos for creators. They have separate apps, separate reviews, and separate tokens.

Power your next project
with one ads & social media API

Give your users publishing, scheduling, and analytics through one integration your team can actually maintain.

Try with agents

Start with free credits. No credit card required.