# TikTok setup for PopMCP

You end up pasting the Client key and Client secret from the Credentials block of your app in the TikTok for Developers portal.

- Auth: OAuth authorization
- Setup time: 25 min, plus 5-10 business days for app review
- API base URL: https://open.tiktokapis.com/v2
- Credentials screen: https://developers.tiktok.com/apps
- Provider docs: https://developers.tiktok.com/doc/login-kit-web

## Approval required before this works

TikTok for Developers must review and approve your app - each product (Login Kit, Display API, Content Posting API) and each scope is granted individually - before the app leaves sandbox and real TikTok users can authorise it.

- Typical wait: TikTok's own developer FAQ states "App review may take several days to two weeks after submission." There is no guarantee of approval, and a rejected app restarts the clock on resubmission.
- Cost: No fee. TikTok charges nothing for a developer account, sandbox use, or app review.
- Blocked until approved: Production OAuth for anyone outside your sandbox. An unapproved app works only for the TikTok accounts you explicitly add as sandbox target users - TikTok caps this at 10 accounts per sandbox - so no customer can connect their own account. Approval grants only the products and scopes named in the application (TikTok: "your app will have access to the products and scopes requested in the application"), so anything you did not request and demonstrate needs a fresh submission. The Content Posting API is a further step: until your client passes its audit, everything it posts is forced to private viewing mode.
- Works meanwhile: Sign up at developers.tiktok.com, create an app and get a client key and client secret instantly, then build the entire integration in Sandbox mode - the full OAuth flow, Display API reads and Content Posting all work against your own and up to 10 invited TikTok accounts. You then import the sandbox configuration into the production draft to submit.

## Before you begin

- A TikTok developer account created at developers.tiktok.com/signup
- An organization to own the app, strongly recommended for real integrations
- A public website you control, so you can verify URL ownership of your Terms of Service, Privacy Policy and web URLs
- A demo video of the end-to-end flow (up to 5 videos, 50 MB each) for the review submission
- App review approval before anyone outside Sandbox can connect. The Content Posting API also requires verified URL properties

## Get your credentials

### 1. Connect an app

Click your profile icon in the main navigation bar and choose Manage apps. Click Connect an app, pick your organization under Select the app owner, and click Confirm.

Screen: https://developers.tiktok.com/apps

### 2. Fill in App details and Platforms

Under App details open Basic information and set the App icon (1024 x 1024, up to 5 MB), App name, Category and Description. In Platforms select Web and enter your website URL along with the Terms of Service and Privacy Policy URLs.

Screen: https://developers.tiktok.com/apps

### 3. Add Login Kit and the Content Posting API, then the scopes

In Products click Add products and add Login Kit and Content Posting API. Paste PopMCP's callback URL into Login Kit's Redirect URI, then open Scopes and add `user.info.basic`, `user.info.profile`, `user.info.stats`, `video.list`, `video.upload` and `video.publish`.

Screen: https://developers.tiktok.com/apps

### 4. Verify URL ownership

Click URL properties at the top of the app page, confirm you are in Production mode, and click Verify properties. Choose Domain or URL prefix, download the signature file, and upload it to that location.

Screen: https://developers.tiktok.com/apps

### 5. Copy the Client key and Client secret

Open App details and find the Credentials block. Copy the Client key, click Show to reveal the Client secret, and paste both into PopMCP.

Screen: https://developers.tiktok.com/apps

### 6. Submit for review and go Live

Fill in the App review section, explaining how each product and scope is used, and upload at least one demo video of the full flow. Click Save, then Submit for review.

Screen: https://developers.tiktok.com/apps

## Fields PopMCP asks for

- Client key (clientKey) [required]: Your TikTok app's "Client key" from developers.tiktok.com (Manage apps -> your app -> Basic information). Add the callback URL above as a Login Kit redirect URI on that app first.
- Client secret (clientSecret) [required]: The app's Client secret (same page as the Client key). Stored encrypted; used server-side only and never shown again.

## Callback URL to register

https://app.popmcp.com/api/providers/tiktok/callback

## Scopes requested

- user.info.basic
- user.info.profile
- user.info.stats
- video.list
- video.upload
- video.publish

## Verify

The TikTok connector opens the TikTok authorization screen. After you approve, the card shows your display name and avatar with a Connected badge, and the posting and analytics tools appear.

## Troubleshooting

### redirect_uri mismatch on the authorize screen

Cause: The callback URL is not registered in the Login Kit product configuration, or it has a query string or fragment appended.

Fix: Add PopMCP's exact callback URL as a Redirect URI under Products, Login Kit. It must be absolute, static and under 512 characters.

### HTTP 429 with error code rate_limit_exceeded

Cause: More than six publish requests in a one-minute sliding window on the same user access token.

Fix: Space out posts. The limit is per user token, so adding more app credentials does not help.

### Direct Post is rejected or the scope is unavailable

Cause: video.publish was not approved in review, or the app's URL properties are unverified.

Fix: Verify URL properties, then resubmit App review with a demo video that shows the posting flow on the same domain you registered.

### Only your own account can connect

Cause: The app is still in Draft or is running in Sandbox mode.

Fix: Submit the Production revision for review and wait for the status to become Live. Review typically takes 5-10 business days.

### Credentials stop working after an edit

Cause: Clicking Create revision on a Live app produces a Draft that is not live until it is re-approved.

Fix: Resubmit the revision for review. The previous Live configuration keeps serving until then.

---

Source: https://www.docs.popmcp.com/docs/integrations/tiktok/