This is a catch-all provider — any valid URL under
https://business-api.tiktok.com is supported. TikTok Marketing API. Base URL: https://business-api.tiktok.com/open_api/v1.3. Auth header is Access-Token: <token> (NOT Authorization: Bearer). Discover advertiser_ids via GET /oauth2/advertiser/get/. Most resources are scoped to an advertiser_id query param, e.g. /campaign/get/?advertiser_id=…&campaign_ids=[…]. Responses are wrapped in an envelope: { code, message, request_id, data } — non-zero code indicates an error. Pagination uses page/page_size query params and returns data.page_info { page, page_size, total_number, total_page }. Reports endpoint (GET /report/integrated/get/) accepts breakdowns, dimensions, metrics, and date ranges as query params. See https://business-api.tiktok.com/portal/docs for full reference. The endpoints below are curated examples.Endpoints
List advertisers that have granted this app permission to manage their accounts. Start here after OAuth to discover the advertiser_ids the user authorized; every other endpoint takes one of these as a query param. Requires app_id and secret as query params alongside the user’s Access-Token.
GEThttps://business-api.tiktok.com/open_api/v1.3/oauth2/advertiser/get/?app_id={app_id}&secret={secret} — Free
- SDK
- cURL
Fetch details for one or more advertisers — currency, time zone, status, balance, contact info. Useful for confirming an authorized advertiser_id is active before further calls.
GEThttps://business-api.tiktok.com/open_api/v1.3/advertiser/info/?advertiser_ids=["{advertiser_id}"] — Free
- SDK
- cURL
List campaigns under an advertiser. Paginated via page/page_size; response envelope includes data.page_info { page, page_size, total_number, total_page }. Filterable by status, objective_type, budget_mode.
GEThttps://business-api.tiktok.com/open_api/v1.3/campaign/get/?advertiser_id={advertiser_id}&page=1&page_size=20 — Free
- SDK
- cURL
Create a new campaign under an advertiser. Required: advertiser_id, campaign_name, objective_type (TRAFFIC, CONVERSIONS, REACH, VIDEO_VIEWS, LEAD_GENERATION, etc.), budget_mode, budget. New campaigns default to DISABLE; activate via campaign/update/.
POSThttps://business-api.tiktok.com/open_api/v1.3/campaign/create/ — Free
- SDK
- cURL
Update campaign settings. Common: campaign_name, budget, operation_status (ENABLE / DISABLE / DELETE). Only fields included are modified.
POSThttps://business-api.tiktok.com/open_api/v1.3/campaign/update/ — Free
- SDK
- cURL
List ad groups under an advertiser (optionally filtered by campaign_ids). Ad groups carry targeting, placement, bidding, schedule, and conversion event settings.
GEThttps://business-api.tiktok.com/open_api/v1.3/adgroup/get/?advertiser_id={advertiser_id}&page=1&page_size=20 — Free
- SDK
- cURL
Create an ad group under a campaign. Key fields: campaign_id, adgroup_name, placement_type, placements, billing_event (CPC, CPM, OCPM), bid_type, bid_price, schedule_type, schedule_start_time, location_ids, audience_ids, interests, pixel_id (for conversion ad groups).
POSThttps://business-api.tiktok.com/open_api/v1.3/adgroup/create/ — Free
- SDK
- cURL
List ads under an advertiser (filterable by campaign_ids or adgroup_ids). Each ad references a creative (video_id or image_ids) and an ad group, inheriting targeting from the ad group.
GEThttps://business-api.tiktok.com/open_api/v1.3/ad/get/?advertiser_id={advertiser_id}&page=1&page_size=20 — Free
- SDK
- cURL
Create one or more ads under an ad group. Each ad in creatives[] needs ad_name, ad_format, video_id (or image_ids), ad_text, call_to_action, and landing_page_url.
POST https://business-api.tiktok.com/open_api/v1.3/ad/create/ — Free
- SDK
- cURL
List custom audiences (CUSTOMER_FILE, ENGAGEMENT, WEB, APP, LOOKALIKE, etc.) under an advertiser. Use these as targeting building blocks for ad groups.
GEThttps://business-api.tiktok.com/open_api/v1.3/dmp/custom_audience/list/?advertiser_id={advertiser_id}&page=1&page_size=20 — Free
- SDK
- cURL
Create a customer-file custom audience. Identifiers must be SHA-256 hashed before upload (TikTok will not hash for you). After creation, use /dmp/custom_audience/file/upload/ to add hashed identifiers in batches.
POSThttps://business-api.tiktok.com/open_api/v1.3/dmp/custom_audience/create/ — Free
- SDK
- cURL
List TikTok Pixels for an advertiser. Required to find a pixel_id for conversion-based ad groups and for sending server-side events via the Events API.
GEThttps://business-api.tiktok.com/open_api/v1.3/pixel/list/?advertiser_id={advertiser_id} — Free
- SDK
- cURL
TikTok Events API — post a single server-side pixel event. Body fields: pixel_code, event (e.g. CompletePayment), event_id (for deduplication with browser pixel), timestamp (Unix seconds), and context.user identifiers (email, phone_number, external_id — all pre-hashed SHA-256). Optional properties for value/currency/content_id. Used for offline / CRM / CAPI conversion tracking.
POSThttps://business-api.tiktok.com/open_api/v1.3/pixel/track/ — Free
- SDK
- cURL
Integrated reporting — pull synchronous performance metrics for an advertiser. Specify report_type (BASIC, AUDIENCE, PLAYABLE_MATERIAL), data_level (AUCTION_CAMPAIGN, AUCTION_ADGROUP, AUCTION_AD, AUCTION_ADVERTISER), dimensions (campaign_id, adgroup_id, stat_time_day, country_code, etc.), metrics (impressions, clicks, spend, cpc, ctr, conversions, conversion_rate), and date_range (start_date / end_date YYYY-MM-DD). Returns paginated rows.
GEThttps://business-api.tiktok.com/open_api/v1.3/report/integrated/get/?advertiser_id={advertiser_id}&report_type=BASIC&data_level=AUCTION_CAMPAIGN&dimensions=["campaign_id","stat_time_day"]&metrics=["impressions","clicks","spend","cpc","ctr","conversion"]&start_date=2026-05-01&end_date=2026-05-11&page=1&page_size=100 — Free
- SDK
- cURL
Next Steps
All Providers
Browse all supported AI providers
Forward Proxy
Learn how to construct proxy URLs and authenticate requests