{"id":46644611,"url":"https://github.com/motebaya/tiktok-js","last_synced_at":"2026-03-08T04:08:20.243Z","repository":{"id":60439473,"uuid":"540465214","full_name":"motebaya/tiktok-js","owner":"motebaya","description":"Node JS - CLI and web server tool for download tiktok media without watermark with scraping method. build with express JS, bootstrap5, jquery .etc","archived":false,"fork":false,"pushed_at":"2025-05-15T08:01:35.000Z","size":1742,"stargazers_count":37,"open_issues_count":0,"forks_count":15,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-15T09:21:57.690Z","etag":null,"topics":["downloader","downloader-for-tiktok","downloadervideo","express","express-js-api","openapi","tiktok-download","tiktok-download-without-watermark","tiktok-scraper","tiktok-scrapper","tiktokdownloader","vercel-deployment"],"latest_commit_sha":null,"homepage":"https://tiktokjs-downloader.vercel.app/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/motebaya.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2022-09-23T13:56:34.000Z","updated_at":"2025-05-15T08:01:39.000Z","dependencies_parsed_at":"2024-04-23T12:03:50.009Z","dependency_job_id":"a55ef130-417a-49a3-bcc3-f37fa861cbde","html_url":"https://github.com/motebaya/tiktok-js","commit_stats":null,"previous_names":["motebaya/tiktok-js"],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/motebaya/tiktok-js","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/motebaya%2Ftiktok-js","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/motebaya%2Ftiktok-js/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/motebaya%2Ftiktok-js/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/motebaya%2Ftiktok-js/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/motebaya","download_url":"https://codeload.github.com/motebaya/tiktok-js/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/motebaya%2Ftiktok-js/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30244799,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-08T00:58:18.660Z","status":"online","status_checked_at":"2026-03-08T02:00:06.215Z","response_time":56,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["downloader","downloader-for-tiktok","downloadervideo","express","express-js-api","openapi","tiktok-download","tiktok-download-without-watermark","tiktok-scraper","tiktok-scrapper","tiktokdownloader","vercel-deployment"],"created_at":"2026-03-08T04:08:19.573Z","updated_at":"2026-03-08T04:08:20.188Z","avatar_url":"https://github.com/motebaya.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Tiktok-JS\n\n\u003cdiv align=\"center\"\u003e\nTiktok downloader tool\n\n[![nodejs](https://img.shields.io/badge/nodeJs-18.18.2-green?logo=node.js\u0026logoColor=green)](https://www.php.net/releases/#7.4.33)\n[![tiktok](https://img.shields.io/badge/tiktok-downloader-purple?logo=tiktok\u0026logoColor=white)](https://github.com/motebaya/tiktok-js)\n[![express](https://img.shields.io/badge/ExpresJs-4.18.2-green?logo=Express\u0026logoColor=white)](https://expressjs.com)\n[![bootstrap](https://img.shields.io/badge/Boostrap-5.3-purple?logo=Bootstrap\u0026logoColor=white)](https://getbootstrap.com/docs/5.3/getting-started/introduction/)\n[![express](https://img.shields.io/badge/Jquery-3.7.1-blue?logo=Jquery\u0026logoColor=white)](https://expressjs.com)\n[![Scraper](https://img.shields.io/badge/web-scrapper-blue?logo=strapi\u0026logoColor=blue)](#)\n[![License: MIT](https://img.shields.io/badge/License-MIT-red.svg?logo=github)](https://opensource.org/licenses/MIT)\n[![total stars](https://img.shields.io/github/stars/motebaya/tiktok-js.svg?style=social)](https://github.com/motebaya/tiktok-js/stargazers)\n[![GitHub forks](https://img.shields.io/github/forks/motebaya/tiktok-js.svg?style=social)](https://github.com/motebaya/tiktok-js/network/members)\n\n\u003c/div\u003e\n\nNodeJS CLI and web server tool for downloading TikTok media such as images slideshow, music, and videos (without watermark) using scraping methods.\n\n\u003e [!warning]\n\u003e this is just a free demo version with limited features. the full version is stored locally and has been updated weekly for the past 2 years. it includes 15+ active download servers and extra features like bulk downloads from profiles, organized output, metadata, and more.\n\n\n### Features:\n\n- Available for CLI \u0026 web server.\n- Asynchronous \u0026 concurrency download.\n- API rate limiter with `express-rate-limit`\n- More than 10 server are available for downloading .\n- Support media music, avatar, cover music, thumbnail and etc.\n\n### Features list:\n\nthe list feaures media supported\n\n| Name            | Host                | Images  | Video   | Music   | Videos[slideshow] |\n| --------------- | ------------------- | ------- | ------- | ------- | ----------------- |\n| Aweme           | api-h2.tiktokv.com  | \u0026check; | \u0026check; | \u0026check; |                   |\n| Musicaldown     | musicaldown.com     | \u0026check; | \u0026check; | \u0026check; | \u0026check;           |\n| Savetik         | savetik.co          | \u0026check; | \u0026check; | \u0026check; | \u0026check;           |\n| Snaptik         | snaptik.app         | \u0026check; | \u0026check; | \u0026check; | \u0026check;           |\n| SnaptikPro      | snaptik.pro         |         | \u0026check; | \u0026check; |                   |\n| Ssstik          | ssstik.io           | \u0026check; | \u0026check; | \u0026check; | \u0026check;           |\n| Tikcdn          | tikcdn.app          | \u0026check; | \u0026check; | \u0026check; |                   |\n| Tikmate         | tikmate.online      | \u0026check; | \u0026check; | \u0026check; | \u0026check;           |\n| Tiktokdownloadr | tiktokdownloadr.com |         | \u0026check; | \u0026check; |                   |\n| Tikwm           | tikwm.com           | \u0026check; | \u0026check; | \u0026check; |                   |\n| Ttdownloader    | ttdownloader.com    |         | \u0026check; | \u0026check; |                   |\n\n\u003e [!important]\n\u003e Some servers support rendering image slide show to video, but sometimes it may not work due to issues with the server itself (which are beyond my control). the same applies to other potential issues.\n\n### Install:\n\n```bash\ngit clone https://github.com/motebaya/tiktokJs-downloader\ncd tiktok-js\nnpm i\n```\n\n### Usage (CLI):\n\n```bash\n $ node cli\n usage: cli.js [-h] [-u] [-s] [-t] [-S] [-d] [-l] [-V]\n\n\tTIktok CLI downloader\n © Copyright: @github.com/motebaya - 2023\n\noptional arguments:\n  -h, --help      show this help message and exit\n  -u , --url      tiktok video url\n  -s , --server   choose server list: [aweme, musicaldown, savetik, snaptik, snaptikpro, ssstik, tikcdn, tikmate, tiktokdownloadr, tikwm, ttdownloader]\n  -t , --type     choose existing media type: [image, video, music]\n\nadditional:\n  -S , --search   search username/account using puppeteer by suplied query string. min:1, max:100\n  -d , --dump     dump bulk user videos using puppeteer by suplied username. min: 35, max: 1000\n  -l , --limit    limit arg number\n  -V, --verbose   debug mode on\n\n```\n\n- `-u`,` --url`: tiktok video url.\n- `-s`, `--server`: sever method.\n- `-t`, `--type`: media type to download.\n- `-V`, `--verbose`: enable debug mode.\n- `-S`, `--search`: dump tiktok username by search query (puppeteer)\n- `-d`, `--dump`: dump video id from tiktok user feeds (puppeteer)\n- `-l`, `--limit`: limit dump for user search and userfeed.\n\n\u003e [!note]\n\u003e downloaded media in CLI will be saved in current directory with name `tiktok-downloader-output`\n\u003e see in [downloader.js](lib/downloader.js#68)\n\u003e and it might take a bit longer when using `aweme` server, cause the API has been updated\n\n### Setup Web Server:\n\n- **Run on local server**:\n\n```bash\n ❯ npm run dev\n\u003e tiktok-js@3.1.0 dev\n\u003e nodemon src/index.js\n[nodemon] 3.0.1\n[nodemon] reading config ./package.json\n[nodemon] to restart at any time, enter `rs`\n[nodemon] or send SIGHUP to 1755830 to restart\n[nodemon] ignoring: **/test/** **/trash/**\n[nodemon] watching path(s): *.*\n[nodemon] watching extensions: js\n[nodemon] starting `node src/index.js`\n[nodemon] forking\n[nodemon] child pid: 1755843\n[nodemon] watching 60 files\napp listening on port 3000\n# local address: http://localhost:3000\n```\n\n- **Deploying to vercel with [Vercel CLI](https://vercel.com/docs/cli), for the first time you need to login first with your vercel account.**\n\n```bash\n❯ vercel --prod\nVercel CLI 33.0.1\n? Set up and deploy “./tiktok-js”? [Y/n] y\n? Which scope do you want to deploy to? username\n? Link to existing project? [y/N] n\n? What’s your project’s name? tiktokjs-downloader\n? In which directory is your code located? ./ (just enter)\n🔗  Linked to username/tiktokjs-downloader (created .vercel and added it to .gitignore)\n🔍  Inspect: https://vercel.com/username/tiktokjs-downloader/\u003cunique\u003e [7s]\n✅  Production: https://tiktokjs-downloader-\u003cunique\u003e-username.vercel.app [7s]\n```\n\n### Demo:\n\n- **CLI:**\n  \u003cdetails\u003e\n  \u003csummary\u003e\n    downloading all image slideshow with aweme server (verbose on)\n  \u003c/summary\u003e\n\n  ![demo](assets/image-slideshow.svg)\n\n  \u003c/details\u003e\n\n  \u003cdetails\u003e\n  \u003csummary\u003e\n    downloading video with aweme server (verbose on)\n  \u003c/summary\u003e\n\n  ![demo2](assets/aweme-video.svg)\n\n  \u003c/details\u003e\n\n  \u003cdetails\u003e\n  \u003csummary\u003e\n    downloading music from image slideshow (verbose on)\n  \u003c/summary\u003e\n\n  ![demo2](assets/image-music.svg)\n\n  \u003c/details\u003e\n\n- **Web:**\n\n  https://tiktokjs-downloader.vercel.app/\n\n\u003e [!warning]\n\u003e The latest demo website was deployed on **Apr 23, 2024** with rate limit 10x (same as server count) `API` hit every 24 Hours, and it's maybe not always updated or redeployed to follow the latest update!!. you can deploy /test it self by following [Setup web server](https://github.com/motebaya/tiktok-js#setup-web-server)!.\n\n## License\n\nThis project is licensed under the [MIT License](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmotebaya%2Ftiktok-js","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmotebaya%2Ftiktok-js","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmotebaya%2Ftiktok-js/lists"}