npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

n8n-nodes-tiktok-custom

v1.0.9

Published

Custom TikTok nodes for n8n - upload videos, manage products without usage limits. Session-based authentication for free unlimited access.

Downloads

976

Readme

n8n-nodes-tiktok-custom

Custom TikTok nodes for n8n - Upload videos, manage products, and more without usage limits!

Features

  • 🎥 TikTok Upload: Upload videos with product anchors, captions, and scheduling
  • 🛍️ TikTok Products: Manage your TikTok Shop products and showcase
  • 🔒 Session-based authentication: Use your own TikTok account without API limits
  • 💰 Completely FREE: No credits, no subscriptions, unlimited usage

Installation

Option 1: Via n8n Community Nodes (Recommended - Easiest! ✨)

  1. Open your n8n instance
  2. Go to SettingsCommunity Nodes
  3. Click Install a community node
  4. Enter: n8n-nodes-tiktok-custom
  5. Click Install
  6. Restart n8n
  7. Done! The nodes will appear in your node panel

Option 2: Manual Installation (For development)

Prerequisites

  • n8n installed (self-hosted or Docker)
  • Node.js and npm
  • TypeScript compiler

Steps

  1. Clone or download this repository

    cd path/to/n8n-nodes-tiktok-custom
  2. Install dependencies

    npm install
  3. Build the project

    npm run build
  4. Link to your n8n installation

    npm link
  5. In your n8n directory, link the package

    cd /path/to/your/n8n
    npm link n8n-nodes-tiktok-custom
  6. Restart n8n

    n8n start

Option 3: Via npm (Direct)

cd ~/.n8n
npm install n8n-nodes-tiktok-custom
# Restart n8n

Getting TikTok Session Credentials

⚠️ IMPORTANT: This package uses session-based authentication from TikTok web. You need to extract cookies from your browser.

How to get your session cookies:

  1. Login to TikTok

    • Open https://www.tiktok.com in your browser
    • Login to your account
  2. Open DevTools

    • Press F12 or right-click → Inspect
  3. Navigate to Cookies

    • Go to Application tab (Chrome) or Storage tab (Firefox)
    • Click on Cookieshttps://www.tiktok.com
  4. Copy the required cookies:

    • sessionid (required)
    • msToken (required)
    • odin_tt (optional, for some operations)
  5. In n8n, create TikTok Session credentials

    • Paste the cookie values
    • Optionally customize User-Agent

⚠️ CRITICAL: Capturing Real TikTok Endpoints

The endpoints in this code are PLACEHOLDERS! Before using these nodes, you MUST capture the actual TikTok API endpoints using browser DevTools:

How to capture endpoints:

  1. Open TikTok web (https://www.tiktok.com)
  2. Open DevTools (F12) → Network tab
  3. Filter by XHR/Fetch requests
  4. Perform the action you want to automate:
    • For upload: Go to upload page, start uploading a video
    • For products: Navigate to your shop/showcase
  5. Find the API requests in the Network tab
  6. Right-click on the request → Copy as cURL
  7. Analyze:
    • URL endpoint
    • Request method (GET, POST, PUT)
    • Headers
    • Request body structure
  8. Update the code in the corresponding node file with the real endpoints

Example endpoints to capture:

  • Upload Video:

    • Init: POST /api/v1/web/project/create/
    • Upload: PUT <upload_url>
    • Publish: POST /api/v1/item/create/
  • Get Products:

    • GET /api/commerce/v1/creator/products
  • Product with Anchor:

    • POST /api/v1/item/create/ with anchors in body

Usage

TikTok Products Node

Get a list of products from your showcase:

{
  "operation": "getProducts",
  "count": 10,
  "offset": 0
}

TikTok Upload Node

Upload a video with product anchor:

{
  "videoSource": "binaryData",
  "binaryProperty": "data",
  "caption": "Check out this amazing product!",
  "visibility": 0,
  "allowComment": true,
  "productAnchors": {
    "anchor": [
      {
        "productId": "1234567890",
        "displayName": "My Product"
      }
    ]
  }
}

Example Workflow

Replace your existing @dlir2404/n8n-nodes-tiktok workflow with:

  1. Manual Trigger or any trigger
  2. TikTok Products (Get Products) - Get your products
  3. HTTP Request - Download video
  4. TikTok Upload - Upload with product anchor

Limitations & Important Notes

⚠️ Session-based limitations:

  • Cookies expire periodically - you'll need to refresh them
  • TikTok may change their internal API without notice
  • This is an unofficial method - use at your own risk
  • Rate limiting may apply

⚠️ Endpoints:

  • You MUST capture real endpoints from browser before use
  • The code contains placeholder URLs that won't work without modification

Development

Project Structure

n8n-nodes-tiktok-custom/
├── credentials/
│   └── TikTokSession.credentials.ts
├── nodes/
│   └── TikTok/
│       ├── TikTokUpload.node.ts
│       └── TikTokProducts.node.ts
├── package.json
├── tsconfig.json
└── README.md

Build

npm run build

Watch mode (for development)

npm run dev

Troubleshooting

"Authentication failed" error

  • Your session cookies have expired
  • Re-extract cookies from browser and update credentials

"Rate limit exceeded"

  • TikTok is temporarily blocking your requests
  • Wait a few minutes before retrying
  • Consider adding delays between operations

Node doesn't appear in n8n

  • Make sure you ran npm run build
  • Verify the link with npm link and in n8n directory
  • Restart n8n completely
  • Check n8n logs for errors

Contributing

This is an educational project to demonstrate how to create custom n8n nodes. Feel free to:

  • Capture and share real TikTok endpoints
  • Add more operations (analytics, account management, etc.)
  • Improve error handling
  • Add tests

License

MIT

Disclaimer

This package is for educational purposes. It uses unofficial TikTok web APIs through session authentication. Use responsibly and in accordance with TikTok's Terms of Service.