lage-tiktok

Unofficial n8n community nodes for TikTok Login Kit OAuth (client_key) and TikTok Open API requests. Not affiliated with TikTok Inc. or ByteDance.

Documentation

n8n-nodes-lage-tiktok

Unofficial n8n community nodes for TikTok Login Kit OAuth and TikTok Open API requests.

This package is not affiliated with, endorsed by, or sponsored by TikTok Inc., ByteDance Ltd., or any of their affiliates. TikTok® is a trademark of its respective owners. Use of the TikTok name and logos is for identification of the third-party API only. You must comply with the TikTok Developer Terms and applicable laws when using this integration.

Resource Link
npm n8n-nodes-lage-tiktok
Source GitHub
Issues GitHub Issues
TikTok Developer Portal developers.tiktok.com
API documentation index developers.tiktok.com/doc

What you get

  1. TikTok OAuth2 API credential — n8n Connect my account with TikTok’s client_key (and Desktop hex PKCE).
  2. TikTok node — authenticated HTTP requests to https://open.tiktokapis.com.
  3. TikTok OAuth Callback (optional) — webhook fallback if Connect cannot finish the token exchange.

Requirements

  • n8n (self-hosted or compatible environment that allows community nodes)
  • A TikTok app in the TikTok Developer Portal
  • Login Kit products enabled (Web and/or Desktop) with the correct redirect URI
  • Scopes your app is approved for (e.g. user.info.basic, video.upload, video.publish)

Official setup guides:

Install

From npm (recommended)

In n8n: Settings → Community Nodes → Install, then enter:

n8n-nodes-lage-tiktok

Or install into your n8n custom extensions directory and restart n8n:

npm install n8n-nodes-lage-tiktok

From source

git clone https://github.com/L-AGE-Dev/n8n-tiktok.git
cd n8n-tiktok
npm install
npm run build

Copy or symlink the built package into your n8n custom nodes path (or use the included deploy-node.bat / deploy-node.sh helpers), then restart n8n.

Credential setup (Connect my account)

  1. In n8n, create credentials of type TikTok OAuth2 API.
  2. Copy the OAuth Redirect URL shown at the top of the credential form (from n8n Connect).
  3. In the TikTok Developer Portal, open your app → Login Kit and register that exact redirect URI:
    • Local Desktop / local n8n: often http://localhost:5678/rest/oauth2-credential/callback under Login Kit Desktop
    • Production Web: your public n8n URL under Login Kit Web, e.g. https://your-n8n.example/rest/oauth2-credential/callback
  4. Fill the credential fields:
    • Login Kit — Web or Desktop
    • Client Key — from the TikTok portal (TikTok uses client_key, not the usual OAuth client_id name)
    • Client Secret
    • Scope — comma-separated, e.g. user.info.basic,video.upload,video.publish
  5. Click Connect my account and complete TikTok login/consent.

Notes:

  • Stock n8n OAuth2 sends client_id; TikTok expects client_key. This credential handles that for authorize, token, and refresh.
  • Web and Desktop both send client_key (+ client_secret) in the token POST body (token docs). Web does not use Basic-header client auth.
  • Desktop Login Kit also requires a hex SHA-256 PKCE code_challenge (not n8n’s default base64url PKCE). Desktop mode mints that automatically.
  • Prefer Connect my account. Use the TikTok OAuth Callback node only if Connect cannot complete the token step in your environment.
  • If API calls fail with Unable to sign without access token, the credential has no access_token (often after a Web Connect that looked successful). Redeploy this package, open the credential, set Login Kit → Web, save, and Connect my account again.

Usage: TikTok request node

Add a TikTok node and select the credential above.

Field Description
Method GET, POST, PUT, PATCH, DELETE
Path API path under https://open.tiktokapis.com (e.g. /v2/user/info/)
Query Parameters Optional query string fields
Headers Optional extra headers (Authorization is set by the credential)
Body JSON body for POST / PUT / PATCH

Example: Get user info

Official docs: Get User Info

Field Value
Method GET
Path /v2/user/info/
Query fields = open_id,union_id,avatar_url,display_name

Example: Content Posting API (overview)

Official docs: Content Posting API — Get Started

Typical flow (scopes such as video.upload / video.publish required; products must be approved in the portal):

  1. Query creator info (POST creator info endpoint per current docs).
  2. Initialize upload/publish (POST init endpoint; prefer PULL_FROM_URL when testing from n8n).
  3. If using file upload, upload binary to the returned upload_url (often via a separate HTTP Request / binary step).

Always follow the current request/response shapes in the official TikTok documentation; endpoints and field names can change.

Optional: OAuth Callback node

Use only as a fallback when Connect cannot finish.

  1. Add TikTok OAuth Callback, activate the workflow, copy the webhook URL.
  2. Register that URL as a redirect URI in Login Kit if you use this path.
  3. Complete authorize in the browser; the node exchanges code using client_key.

Token exchange reference: OAuth user access token management.

Official TikTok documentation (quick links)

Topic URL
Docs home https://developers.tiktok.com/doc/
Create an app https://developers.tiktok.com/doc/getting-started-create-an-app
Login Kit Web https://developers.tiktok.com/doc/login-kit-web
Login Kit Desktop https://developers.tiktok.com/doc/login-kit-desktop
Access tokens https://developers.tiktok.com/doc/oauth-user-access-token-management
User info https://developers.tiktok.com/doc/tiktok-api-v2-get-user-info
Content Posting https://developers.tiktok.com/doc/content-posting-api-get-started
Developer Terms https://developers.tiktok.com/doc/our-guidelines-developer-terms-of-service

Naming and trademarks

  • Package name: n8n-nodes-lage-tiktok (LAGE community package + TikTok as the integration target).
  • UI labels use “TikTok” only to identify the third-party API users connect to.
  • Do not present this package as an official TikTok or ByteDance product.
  • Icons are for API identification in the n8n UI; trademark ownership remains with the respective owners.

Compatibility

  • Built as an n8n community node package (n8n-community-node-package).
  • Requires a peer dependency on n8n-workflow (provided by your n8n installation).

Development

npm install
npm run lint
npm run build

Useful scripts: npm run dev, npm run pkce (Desktop PKCE helpers).

Changelog

See CHANGELOG.md.

License

MIT

Disclaimer

This software is provided “as is”, without warranty. You are responsible for obtaining TikTok API access, respecting rate limits and scopes, handling user data lawfully (including privacy/GDPR where applicable), and complying with TikTok’s and n8n’s terms. The maintainers are not liable for account restrictions, API changes, or misuse of the TikTok platform.

Discussion