# TikTok Video Downloader (`truefetch/tiktok-video-downloader`) Actor

Download any TikTok video in HD with no watermark, original audio, and creator details — title, hashtags, play count, and like count. $0.05 metadata or $0.25 download.

- **URL**: https://apify.com/truefetch/tiktok-video-downloader.md
- **Developed by:** [TrueFetch](https://apify.com/truefetch) (community)
- **Categories:** Videos, Social media, News
- **Stats:** 105 total users, 10 monthly users, 100.0% runs succeeded, 2 bookmarks
- **User rating**: 5.00 out of 5 stars

## Pricing

Pay per event

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

> **Affiliate disclosure:** Apify links on this page may include referral parameters. If you sign up through one of these links, TrueFetch may earn a commission from Apify at no extra cost to you. Pricing, features, and Actor access are unaffected.

[![TikTok Video Downloader](https://img.shields.io/badge/TikTok%20Video%20Downloader-010101?style=for-the-badge&logo=tiktok&logoColor=white)](https://apify.com/TrueFetch/tiktok-video-downloader?fpr=aiagentapi)
[![TikTok Video Scraper](https://img.shields.io/badge/TikTok%20Video%20Scraper-1F8A70?style=for-the-badge)](https://apify.com/TrueFetch/tiktok-video-downloader?fpr=aiagentapi)
[![$0.05 Metadata / $0.25 Download](https://img.shields.io/badge/$0.05%20Metadata%20%2F%20$0.25%20Download-2E8B57?style=for-the-badge)](https://apify.com/TrueFetch/tiktok-video-downloader?fpr=aiagentapi)
[![MP4, Metadata & Comments](https://img.shields.io/badge/MP4%20%7C%20Metadata%20%7C%20Comments-555555?style=for-the-badge)](https://apify.com/TrueFetch/tiktok-video-downloader?fpr=aiagentapi)
[![Telegram Support](https://img.shields.io/badge/Telegram-Support-26A5E4?style=for-the-badge&logo=telegram&logoColor=white)](https://t.me/AiAgentApi)
[![Telegram Group](https://img.shields.io/badge/Telegram-Group-26A5E4?style=for-the-badge&logo=telegram&logoColor=white)](https://t.me/Apify_Actor)

## TikTok Video Downloader — TikTok Video Scraper: MP4, Metadata & Comments

**Provide a TikTok video URL and download the video file (low/medium/high quality) or extract full metadata — including title, author, view count, like count, comments, and audio info — in clean JSON / MP4.**

> **TL;DR (40-word answer):** TikTok Video Downloader is a no-login Apify Actor that downloads TikTok videos or extracts metadata at **$0.05 per metadata extraction** or **$0.25 per video download**, covering title, author, views, likes, comments, and audio details. Last verified 2026-05-02.

> **What it is NOT:** TikTok Video Downloader is _not_ a bulk channel scraper, _not_ a live stream recorder (use TikTok Live Recorder for that), and _not_ a search tool — it downloads or extracts metadata from a single TikTok video URL per run.

> **TikTok Video Downloader is an Apify Actor that downloads TikTok videos or extracts their metadata including title, author, engagement stats, and comments.** Maintained by TrueFetch on the Apify Store.

---

### 🏷️ Why choose TikTok Video Downloader

**TikTok Video Downloader is best for** content creators, researchers, and developers who need TikTok video files or structured metadata for analysis, archiving, or AI pipelines.

- **📹 Four quality modes** — `metadata` (no download), `low`, `medium`, `high` (MP4 file).
- **💬 Comment extraction** — set `max_comments` to retrieve comment text, author, likes, and timestamps.
- **⚡ Pay-per-video pricing** — **$0.05 per metadata extraction** or **$0.25 per download**. Free Apify plan includes $5 monthly credits ≈ 100 free metadata extractions.

---

### 🚀 Quick Start — run in 3 steps

#### Run in Apify Console

1. **Open the Actor** — go to [TikTok Video Downloader on Apify](https://apify.com/TrueFetch/tiktok-video-downloader?fpr=aiagentapi) and click **Try for free**.
2. **Configure inputs** — paste a TikTok video URL and set the desired quality mode.
3. **Click Start** — the Actor returns structured metadata and optionally a downloadable MP4.

#### Run via Apify API

```bash
curl -X POST "https://api.apify.com/v2/acts/TrueFetch~tiktok-video-downloader/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "video_url": "https://www.tiktok.com/@username/video/1234567890",
    "video_quality": "metadata",
    "max_comments": 0
  }'
````

#### Run via MCP (for AI agents)

TikTok Video Downloader is callable from Claude, ChatGPT, Cursor, and any MCP-compatible client through the [Apify MCP Server](https://docs.apify.com/platform/integrations/mcp?fpr=aiagentapi). Reference the Actor as `TrueFetch/tiktok-video-downloader` and pass the same JSON input as above.

***

### ⚙️ Input parameters

| Parameter       | Type    | Required | Default    | Description                                               | Example                                             |
| --------------- | ------- | :------: | ---------- | --------------------------------------------------------- | --------------------------------------------------- |
| `video_url`     | string  |    ✅    | —          | TikTok video URL.                                         | `https://www.tiktok.com/@username/video/1234567890` |
| `video_quality` | string  |    ❌    | `metadata` | Quality mode: `metadata`, `low`, `medium`, or `high`.     | `high`                                              |
| `max_comments`  | integer |    ❌    | `0`        | Maximum number of comments to extract. `0` = no comments. | `50`                                                |

```json
{
  "video_url": "https://www.tiktok.com/@username/video/1234567890",
  "video_quality": "metadata",
  "max_comments": 0
}
```

***

### 📦 Output dataset

Each run writes one structured video record to the **default Apify dataset**, exportable as JSON, JSONL, CSV, Excel, XML, RSS, or via the dataset API.

| Field           | Type    | Always present? | Description                                             | Example                                               |
| --------------- | ------- | :-------------: | ------------------------------------------------------- | ----------------------------------------------------- |
| `processor`     | string  |       ✅        | Apify Actor URL that produced this record.              | `https://apify.com/TrueFetch/tiktok-video-downloader` |
| `processed_at`  | string  |       ✅        | ISO 8601 UTC timestamp.                                 | `2026-04-24T09:30:00+00:00`                           |
| `id`            | string  |    optional     | Video ID.                                               | `1234567890`                                          |
| `thumbnail`     | string  |    optional     | Thumbnail URL.                                          | `https://...`                                         |
| `platform`      | string  |    optional     | Platform extractor key.                                 | `TikTok`                                              |
| `title`         | string  |    optional     | Video title.                                            | `Morning routine 🌅`                                  |
| `description`   | string  |    optional     | Video description.                                      | `Start your day right!`                               |
| `duration`      | integer |    optional     | Duration in seconds.                                    | `45`                                                  |
| `published_at`  | string  |    optional     | Publication timestamp (ISO 8601).                       | `2026-03-15T08:00:00+00:00`                           |
| `author`        | string  |    optional     | Author username/name.                                   | `@username`                                           |
| `author_id`     | string  |    optional     | Author channel ID.                                      | `@username`                                           |
| `author_url`    | string  |    optional     | Author profile URL.                                     | `https://www.tiktok.com/@username`                    |
| `categories`    | array   |    optional     | Video categories.                                       | `["Lifestyle"]`                                       |
| `tags`          | array   |    optional     | Hashtags.                                               | `["#morning", "#routine"]`                            |
| `view_count`    | integer |    optional     | Total views.                                            | `1500000`                                             |
| `like_count`    | integer |    optional     | Total likes.                                            | `85000`                                               |
| `shares_count`  | integer |    optional     | Total shares/reposts.                                   | `3200`                                                |
| `comment_count` | integer |    optional     | Total comments.                                         | `420`                                                 |
| `width`         | integer |    optional     | Video width in pixels.                                  | `1080`                                                |
| `height`        | integer |    optional     | Video height in pixels.                                 | `1920`                                                |
| `fps`           | integer |    optional     | Frames per second.                                      | `30`                                                  |
| `audio_title`   | string  |    optional     | Audio track name.                                       | `Original Sound`                                      |
| `audio_artist`  | string  |    optional     | Audio artist name.                                      | `@username`                                           |
| `comments`      | array   |    optional     | List of comment objects (if `max_comments > 0`).        | `[{"author": "...", "text": "..."}]`                  |
| `video`         | string  |    optional     | Local path to downloaded MP4 (when quality ≠ metadata). | `/tmp/1234567890.mp4`                                 |

#### Sample output

```json
{
  "processor": "https://apify.com/TrueFetch/tiktok-video-downloader",
  "processed_at": "2026-04-24T09:30:00+00:00",
  "title": "Morning routine 🌅",
  "view_count": 1500000,
  "like_count": 85000,
  "duration": 45
}
```

***

### 💡 Use cases

#### For content teams downloading TikTok videos for repurposing

- **Problem:** a brand team needs to archive TikTok videos from a campaign for internal review and repurposing.
- **How TikTok Video Downloader solves it:** run with `video_quality: "high"` to download the full-resolution MP4.
- **Outcome:** archived MP4 file and full metadata at **$0.25 per video**.

#### For NLP teams extracting TikTok video metadata for analysis

- **Problem:** a data science team needs titles, descriptions, and engagement stats for 100 TikTok videos.
- **How TikTok Video Downloader solves it:** run with `video_quality: "metadata"` to extract structured metadata without downloading video files.
- **Outcome:** 100 metadata records at **$0.05 each** = $5 total.

#### For AI agents extracting TikTok video details on demand

- **Problem:** LLM agents asked "what is this TikTok video about?" need current video metadata.
- **How TikTok Video Downloader solves it:** call the Actor over the [Apify MCP Server](https://docs.apify.com/platform/integrations/mcp?fpr=aiagentapi) and pass the video URL.
- **Outcome:** grounded TikTok video metadata in production AI assistants.

***

### 💰 Pricing, limits, and performance

| Fact                        | Value                                                                     |
| --------------------------- | ------------------------------------------------------------------------- |
| Pricing model               | Pay-per-video (metadata or download)                                      |
| Per-metadata price          | **$0.05 per video = $50 per 1,000**                                       |
| Per-video-download price    | **$0.25 per video = $250 per 1,000**                                      |
| Free-tier monthly allowance | $5 Apify credits ≈ **~100 free metadata extractions / month**             |
| Output fields per video     | **25**                                                                    |
| Login / cookies required    | **No** — works without a TikTok account                                   |
| Export formats              | JSON, JSONL, CSV, Excel, XML, RSS, MP4 (via key-value store), dataset API |

***

### ⚖️ Compared with alternatives

| Capability                                   |     **TikTok Video Downloader**     | Manual download |    yt-dlp script     |
| -------------------------------------------- | :---------------------------------: | :-------------: | :------------------: |
| Structured metadata (views, likes, comments) |                 ✅                  |       ❌        |    you implement     |
| Cloud MP4 download without local setup       |                 ✅                  |       ❌        | you build & maintain |
| Pay-per-video pricing                        | **$0.05 metadata / $0.25 download** |       N/A       |   infra + dev cost   |
| Setup time to first result                   |          **< 60 seconds**           |     minutes     |     30+ minutes      |

**Verdict.** TikTok Video Downloader is ideal for content teams and developers who need cloud-based TikTok video downloads or metadata extraction without managing yt-dlp infrastructure.

***

### ⚠️ Common mistakes to avoid

1. **Missing `video_url`.** This field is required — provide a full TikTok video URL.
2. **Using `video_quality: "metadata"` when you need the video file.** Switch to `low`, `medium`, or `high` for downloads.
3. **Setting `max_comments` to a negative number.** Use `0` to skip comments or a positive integer to enable them.
4. **Providing a profile URL instead of a video URL.** The Actor processes single video URLs, not channel pages.

***

### 🛠️ Troubleshooting

| Problem                                     | Likely cause                               | Fix                                                                  |
| ------------------------------------------- | ------------------------------------------ | -------------------------------------------------------------------- |
| `Missing 'video_url' field`                 | `video_url` not provided.                  | Add `"video_url": "https://www.tiktok.com/..."` to your input JSON.  |
| `'video_quality' must be one of`            | Invalid quality value.                     | Use `metadata`, `low`, `medium`, or `high`.                          |
| `'max_comments' must be a non-negative int` | Negative `max_comments` provided.          | Use `0` or a positive integer.                                       |
| Dataset empty (no result)                   | Video is private, removed, or geo-blocked. | Try a different video URL or check the video is publicly accessible. |

***

### ❓ FAQ

#### What is the difference between metadata and download modes?

Metadata mode (`video_quality: "metadata"`) extracts title, author, stats, and comments without downloading the video file — at $0.05/video. Download modes (`low`/`medium`/`high`) download the actual MP4 — at $0.25/video.

#### Can TikTok Video Downloader extract comments?

Yes. Set `max_comments` to a positive integer (e.g. `50`) to extract comment text, author, likes, and timestamps.

#### Does TikTok Video Downloader work with private videos?

No. The Actor only processes publicly accessible TikTok videos.

#### Does TikTok Video Downloader require a TikTok login?

No — the Actor works without any TikTok account or login credentials.

***

### 🔌 Integrations

TikTok Video Downloader plugs straight into the Apify ecosystem:

- **Schedules** — schedule periodic video downloads or metadata checks ([docs](https://docs.apify.com/platform/schedules?fpr=aiagentapi)).
- **Webhooks** — POST results to your endpoint on `ACTOR.RUN.SUCCEEDED` ([docs](https://docs.apify.com/platform/integrations/webhooks?fpr=aiagentapi)).
- **Apify API** — `run-sync-get-dataset-items` for blocking calls, `runs` for async ([docs](https://docs.apify.com/api/v2?fpr=aiagentapi)).
- **MCP Server** — call the Actor from Claude, ChatGPT, or Cursor agents ([docs](https://docs.apify.com/platform/integrations/mcp?fpr=aiagentapi)).
- **No-code** — Make, Zapier, n8n, Pipedream, Google Sheets, Airtable.

***

### 🧱 Sister Actors from TrueFetch

#### Jobs

- [Best Job Search](https://apify.com/TrueFetch/best-job-search?fpr=aiagentapi)
- [Glassdoor Job Search](https://apify.com/TrueFetch/glassdoor-job-search?fpr=aiagentapi)
- [Glints Company Finder](https://apify.com/TrueFetch/glints-company-finder?fpr=aiagentapi)
- [Glints Job Finder](https://apify.com/TrueFetch/glints-job-finder?fpr=aiagentapi)
- [Indeed Job Search](https://apify.com/TrueFetch/indeed-job-search?fpr=aiagentapi)
- [JobStreet Company Finder](https://apify.com/TrueFetch/jobstreet-company-finder?fpr=aiagentapi)
- [JobStreet Job Finder](https://apify.com/TrueFetch/jobstreet-job-finder?fpr=aiagentapi)
- [LinkedIn Job Search](https://apify.com/TrueFetch/linkedin-job-search?fpr=aiagentapi)
- [StepStone Company Finder](https://apify.com/TrueFetch/stepstone-company-finder?fpr=aiagentapi)
- [StepStone Job Finder](https://apify.com/TrueFetch/stepstone-job-finder?fpr=aiagentapi)

#### Shopping & Deals

- [Amazon Deals Scraper](https://apify.com/TrueFetch/amazon-deals-scraper?fpr=aiagentapi)
- [Amazon Store Finder](https://apify.com/TrueFetch/amazon-store-finder?fpr=aiagentapi)
- [Argos Deals Scraper](https://apify.com/TrueFetch/argos-deals-scraper?fpr=aiagentapi)
- [ASOS Fashion Scraper](https://apify.com/TrueFetch/asos-fashion-scraper?fpr=aiagentapi)
- [eBay Deals Scraper](https://apify.com/TrueFetch/ebay-deals-scraper?fpr=aiagentapi)
- [eBay Seller Finder](https://apify.com/TrueFetch/ebay-seller-finder?fpr=aiagentapi)
- [Flipkart Deals Scraper](https://apify.com/TrueFetch/flipkart-deals-scraper?fpr=aiagentapi)
- [John Lewis Deals Scraper](https://apify.com/TrueFetch/john-lewis-deals-scraper?fpr=aiagentapi)
- [Lidl Deals Scraper](https://apify.com/TrueFetch/lidl-deals-scraper?fpr=aiagentapi)
- [Magalu Deals Scraper](https://apify.com/TrueFetch/magalu-deals-scraper?fpr=aiagentapi)
- [MediaMarkt Deals Scraper](https://apify.com/TrueFetch/mediamarkt-deals-scraper?fpr=aiagentapi)
- [Mercado Livre Deals Scraper](https://apify.com/TrueFetch/mercado-livre-deals-scraper?fpr=aiagentapi)
- [Nykaa Beauty Scraper](https://apify.com/TrueFetch/nykaa-beauty-scraper?fpr=aiagentapi)
- [OTTO Deals Scraper](https://apify.com/TrueFetch/otto-deals-scraper?fpr=aiagentapi)
- [Target Deals Scraper](https://apify.com/TrueFetch/target-deals-scraper?fpr=aiagentapi)
- [TradeIndia Product Finder](https://apify.com/TrueFetch/tradeindia-product-finder?fpr=aiagentapi)
- [TradeIndia Supplier Finder](https://apify.com/TrueFetch/tradeindia-supplier-finder?fpr=aiagentapi)
- [Walmart Deals Scraper](https://apify.com/TrueFetch/walmart-deals-scraper?fpr=aiagentapi)

#### Vehicles

- [AutoTrader Car Finder](https://apify.com/TrueFetch/autotrader-car-finder?fpr=aiagentapi)
- [AutoTrader Dealer Finder](https://apify.com/TrueFetch/autotrader-dealer-finder?fpr=aiagentapi)
- [Cars.com Car Finder](https://apify.com/TrueFetch/carscom-car-finder?fpr=aiagentapi)
- [Cars.com Dealer Finder](https://apify.com/TrueFetch/carscom-dealer-finder?fpr=aiagentapi)
- [Webmotors Car Finder](https://apify.com/TrueFetch/webmotors-car-finder?fpr=aiagentapi)

#### Real Estate

- [MagicBricks Builder Finder](https://apify.com/TrueFetch/magicbricks-builder-finder?fpr=aiagentapi)
- [MagicBricks Home Finder](https://apify.com/TrueFetch/magicbricks-home-finder?fpr=aiagentapi)
- [US Real Estate](https://apify.com/TrueFetch/us-real-estate?fpr=aiagentapi)
- [Zillow Real Estate](https://apify.com/TrueFetch/zillow-real-estate?fpr=aiagentapi)

#### Local Business & Food

- [BBB Business Finder](https://apify.com/TrueFetch/bbb-business-finder?fpr=aiagentapi)
- [BBB Review Checker](https://apify.com/TrueFetch/bbb-review-checker?fpr=aiagentapi)
- [Google Business Profile](https://apify.com/TrueFetch/google-business-profile?fpr=aiagentapi)
- [Reclame Aqui Company Finder](https://apify.com/TrueFetch/reclame-aqui-company-finder?fpr=aiagentapi)
- [Zomato Menu Checker](https://apify.com/TrueFetch/zomato-menu-checker?fpr=aiagentapi)
- [Zomato Restaurant Finder](https://apify.com/TrueFetch/zomato-restaurant-finder?fpr=aiagentapi)

#### Classifieds

- [Kleinanzeigen Listing Finder](https://apify.com/TrueFetch/kleinanzeigen-listing-finder?fpr=aiagentapi)
- [Kleinanzeigen Seller Finder](https://apify.com/TrueFetch/kleinanzeigen-seller-finder?fpr=aiagentapi)
- [OLX Listing Finder](https://apify.com/TrueFetch/olx-listing-finder?fpr=aiagentapi)
- [OLX Seller Finder](https://apify.com/TrueFetch/olx-seller-finder?fpr=aiagentapi)

#### Social Media

- [Find Any Company On LinkedIn](https://apify.com/TrueFetch/find-any-company-on-linkedin?fpr=aiagentapi)
- [Find Anyone On LinkedIn](https://apify.com/TrueFetch/find-anyone-on-linkedin?fpr=aiagentapi)
- [Instagram Explore](https://apify.com/TrueFetch/instagram-explore?fpr=aiagentapi)
- [Instagram Post](https://apify.com/TrueFetch/instagram-post?fpr=aiagentapi)
- [Instagram Profile](https://apify.com/TrueFetch/instagram-profile?fpr=aiagentapi)
- [Reddit Community Post](https://apify.com/TrueFetch/reddit-community-post?fpr=aiagentapi)
- [Reddit Community Profile](https://apify.com/TrueFetch/reddit-community-profile?fpr=aiagentapi)
- [Reddit Community User](https://apify.com/TrueFetch/reddit-community-user?fpr=aiagentapi)
- [Reddit Post Search](https://apify.com/TrueFetch/reddit-post-search?fpr=aiagentapi)
- [Reddit User Profile](https://apify.com/TrueFetch/reddit-user-profile?fpr=aiagentapi)
- [Social Media Marketing](https://apify.com/TrueFetch/social-media-marketing?fpr=aiagentapi)
- [Telegram Channel Message](https://apify.com/TrueFetch/telegram-channel-message?fpr=aiagentapi)
- [Telegram Group Member](https://apify.com/TrueFetch/telegram-group-member?fpr=aiagentapi)
- [Telegram Profile](https://apify.com/TrueFetch/telegram-profile?fpr=aiagentapi)
- [X Community Profile](https://apify.com/TrueFetch/x-community-profile?fpr=aiagentapi)
- [X User Profile](https://apify.com/TrueFetch/x-user-profile?fpr=aiagentapi)

#### Videos & Text

- [Best Video Downloader](https://apify.com/TrueFetch/best-video-downloader?fpr=aiagentapi)
- [Instagram To Text](https://apify.com/TrueFetch/instagram-to-text?fpr=aiagentapi)
- [TikTok Live Recorder](https://apify.com/TrueFetch/tiktok-live-recorder?fpr=aiagentapi)
- [TikTok Video Downloader](https://apify.com/TrueFetch/tiktok-video-downloader?fpr=aiagentapi)
- [TikTok Video Lookup](https://apify.com/TrueFetch/tiktok-video-lookup?fpr=aiagentapi)
- [Video Subtitles Downloader](https://apify.com/TrueFetch/video-subtitles-downloader?fpr=aiagentapi)
- [Video To Text](https://apify.com/TrueFetch/video-to-text?fpr=aiagentapi)
- [YouTube Niche Scraper](https://apify.com/TrueFetch/youtube-niche-scraper?fpr=aiagentapi)
- [YouTube Video Downloader](https://apify.com/TrueFetch/youtube-video-downloader?fpr=aiagentapi)

#### Content & Articles

- [Medium Article Finder](https://apify.com/TrueFetch/medium-article-finder?fpr=aiagentapi)
- [Medium Writer Finder](https://apify.com/TrueFetch/medium-writer-finder?fpr=aiagentapi)

***

### 📞 Support, changelog, last updated

#### Support

- 💬 **Telegram Group:** [t.me/Apify\_Actor](https://t.me/Apify_Actor)
- 📧 **Direct support:** [t.me/AiAgentApi](https://t.me/AiAgentApi)
- 📖 **Actor page & docs:** [apify.com/TrueFetch/tiktok-video-downloader](https://apify.com/TrueFetch/tiktok-video-downloader?fpr=aiagentapi)

Maintained by **TrueFetch** on the [Apify Store](https://apify.com/TrueFetch?fpr=aiagentapi).

> **Cost of doing nothing:** manually downloading TikTok videos and extracting metadata requires yt-dlp setup and maintenance. TikTok Video Downloader returns structured metadata at $0.05/video or MP4 downloads at $0.25/video via API. → [Try it free with $5 of Apify credits](https://apify.com/TrueFetch/tiktok-video-downloader?fpr=aiagentapi).

#### Changelog

- **2026-05-02** — README rewritten for SEO + GEO; documented all output fields, pricing modes, troubleshooting matrix, and FAQ.
- **2026-04** — Added comment extraction support.
- **2026-02** — Initial release: TikTok video downloader and metadata extractor.

***

```json
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": "SoftwareApplication",
      "@id": "https://apify.com/TrueFetch/tiktok-video-downloader#software",
      "name": "TikTok Video Downloader",
      "description": "Apify Actor that downloads TikTok videos or extracts metadata at $0.05 per metadata extraction or $0.25 per video download, covering title, author, views, likes, and comments.",
      "applicationCategory": "BusinessApplication",
      "operatingSystem": "Web, Cloud",
      "url": "https://apify.com/TrueFetch/tiktok-video-downloader",
      "offers": {
        "@type": "Offer",
        "price": "0.05",
        "priceCurrency": "USD",
        "availability": "https://schema.org/InStock"
      },
      "author": { "@id": "https://apify.com/TrueFetch#author-TrueFetch" },
      "publisher": { "@id": "https://apify.com/TrueFetch#publisher" }
    },
    {
      "@type": "Organization",
      "@id": "https://apify.com/TrueFetch#publisher",
      "name": "TrueFetch",
      "url": "https://apify.com/TrueFetch",
      "sameAs": ["https://t.me/Apify_Actor", "https://t.me/AiAgentApi"]
    },
    {
      "@type": "FAQPage",
      "mainEntity": [
        {
          "@type": "Question",
          "name": "What is the difference between metadata and download modes?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Metadata mode extracts title, author, stats, and comments without downloading the video file at $0.05/video. Download modes download the actual MP4 at $0.25/video."
          }
        },
        {
          "@type": "Question",
          "name": "How much does TikTok Video Downloader cost?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "$0.05 per metadata extraction or $0.25 per video download. The Apify Free plan includes $5 of monthly credits — enough for 100 free metadata extractions."
          }
        },
        {
          "@type": "Question",
          "name": "Can TikTok Video Downloader extract comments?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Yes. Set max_comments to a positive integer to extract comment text, author, likes, and timestamps."
          }
        }
      ]
    },
    {
      "@type": "BreadcrumbList",
      "itemListElement": [
        {
          "@type": "ListItem",
          "position": 1,
          "name": "Apify",
          "item": "https://apify.com"
        },
        {
          "@type": "ListItem",
          "position": 2,
          "name": "Videos & Text",
          "item": "https://apify.com/store?category=VIDEO"
        },
        {
          "@type": "ListItem",
          "position": 3,
          "name": "TikTok Video Downloader",
          "item": "https://apify.com/TrueFetch/tiktok-video-downloader"
        }
      ]
    }
  ]
}
```

***

**Last Updated:** May 2, 2026
**Schema version:** 1.1
**Maintained by:** [TrueFetch](https://apify.com/TrueFetch?fpr=aiagentapi) · 💬 [Telegram Group](https://t.me/Apify_Actor) · 📧 [Support](https://t.me/AiAgentApi)

# Actor input Schema

## `video_url` (type: `string`):

Enter the video URL

## `video_quality` (type: `string`):

Choose the video quality for download: High (4K), Medium (720p), Low (480p), or Metadata only

## `max_comments` (type: `integer`):

Maximum number of comments to get. Set to 0 to skip comments

## Actor input object example

```json
{
  "video_url": "https://www.tiktok.com/@openai/video/7521583654028512525",
  "video_quality": "metadata"
}
```

# Actor output Schema

## `results` (type: `string`):

All video details and optional download links with full engagement stats and comments

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "video_url": "https://www.tiktok.com/@openai/video/7521583654028512525",
    "video_quality": "metadata",
    "max_comments": 0
};

// Run the Actor and wait for it to finish
const run = await client.actor("truefetch/tiktok-video-downloader").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "video_url": "https://www.tiktok.com/@openai/video/7521583654028512525",
    "video_quality": "metadata",
    "max_comments": 0,
}

# Run the Actor and wait for it to finish
run = client.actor("truefetch/tiktok-video-downloader").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "video_url": "https://www.tiktok.com/@openai/video/7521583654028512525",
  "video_quality": "metadata",
  "max_comments": 0
}' |
apify call truefetch/tiktok-video-downloader --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=truefetch/tiktok-video-downloader",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "TikTok Video Downloader",
        "description": "Download any TikTok video in HD with no watermark, original audio, and creator details — title, hashtags, play count, and like count. $0.05 metadata or $0.25 download.",
        "version": "1.0",
        "x-build-id": "leXdN1oobPmQN5D1C"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/truefetch~tiktok-video-downloader/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-truefetch-tiktok-video-downloader",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/truefetch~tiktok-video-downloader/runs": {
            "post": {
                "operationId": "runs-sync-truefetch-tiktok-video-downloader",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/truefetch~tiktok-video-downloader/run-sync": {
            "post": {
                "operationId": "run-sync-truefetch-tiktok-video-downloader",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "video_url"
                ],
                "properties": {
                    "video_url": {
                        "title": "Video URL",
                        "type": "string",
                        "description": "Enter the video URL"
                    },
                    "video_quality": {
                        "title": "Video Quality",
                        "enum": [
                            "high",
                            "medium",
                            "low",
                            "metadata"
                        ],
                        "type": "string",
                        "description": "Choose the video quality for download: High (4K), Medium (720p), Low (480p), or Metadata only"
                    },
                    "max_comments": {
                        "title": "Max Comments",
                        "minimum": 0,
                        "maximum": 10000,
                        "type": "integer",
                        "description": "Maximum number of comments to get. Set to 0 to skip comments"
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
