TikTok Video Downloader avatar

TikTok Video Downloader

Pricing

Pay per event

Go to Apify Store
TikTok Video Downloader

TikTok Video Downloader

Process one public TikTok video URL for structured metadata and an optional stored video file. Choose metadata-only mode or a download quality preference for an Apify workflow.

Pricing

Pay per event

Rating

5.0

(2)

Developer

TrueFetch

TrueFetch

Maintained by Community

Actor stats

5

Bookmarked

135

Total users

5

Monthly active users

6 hours ago

Last modified

Share

TikTok Video Downloader turns one public TikTok video page into structured metadata and, when selected and available, a stored video file for an Apify-based application or data workflow.

  • The effective public input has two fields: one required TikTok URL and one optional four-value quality preference.
  • The Dataset contract exposes 39 named fields for the video, creator, engagement, media attributes, processing context, and file delivery.
  • Comment retrieval is not offered as a public input; the reserved comments output is normally an empty array. 0 rating from 2 ratings, 136 total users, and 6 monthly active users; this is a volatile snapshot, not a reliability guarantee.

Run a one-result test

View API

Smallest-test risk note: submit one public video and choose metadata. TikTok can change access or page behavior, and the effective billing setup can charge Actor start, metadata, and metered Actor usage events.

What does TikTok Video Downloader do?

TikTok Video Downloader processes a single public TikTok video-page URL. It extracts the values available for that page into an Apify Dataset record, including the video ID, caption or title, creator details, thumbnail, publication time, duration, engagement counts, tags, dimensions, frame rate, and audio metadata. A download mode can also place a stored file URL in the video field.

The Actor is designed around a known video URL. It does not search TikTok, enumerate a profile, record a live stream, accept a list, or expose a comments control. Those are separate jobs with different result and cost expectations.

Claims such as “no watermark,” a fixed resolution, or universal access are intentionally absent here. The final media depends on what the page makes available during the run. Private, removed, region-restricted, login-gated, or otherwise unavailable posts may fail or return partial metadata.

How do I run TikTok Video Downloader?

Open the Actor, paste a TikTok video page into Video URL, and decide whether you need only metadata or also a stored file. Metadata mode is the smallest useful test because it verifies the page-to-Dataset contract without requesting the media download.

This README uses the schema’s public example throughout:

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

Run the Actor and inspect Results. A completed record may still contain empty values where TikTok does not expose a usable field. If metadata meets your acceptance criteria, repeat the same URL with low, medium, or high as a file-quality preference. The labels do not manufacture formats that the source does not provide.

Use videos only when you have the rights and authorization needed for your intended processing. The Actor reports public data; it does not decide ownership, licensing, or reuse permissions.

What data does TikTok Video Downloader return?

One normalized Dataset record is produced for the processed page. The overview starts with the thumbnail and prioritizes the fields most useful for reviewing a TikTok item.

GroupDataset fields
Processing contextprocessor, processed_at
Videoid, thumbnail, platform, title, description, duration, published_at
Creatorauthor, author_id, author_url
Classificationcategories, tags
Engagementview_count, like_count, shares_count, dislike_count, comment_count
Media detailswidth, height, fps, audio_title, audio_artist
Reserved and stored valuescomments, video

| Source and availability | source_url, media_type, live_status, availability, age_limit, language | | Creator reach | followers, is_verified | | File and captions | file_ext, file_size, saves_count, subtitles, chapters | An abbreviated illustrative item for the shared URL is:

{
"id": "7521583654028512525",
"platform": "TikTok",
"title": "Example TikTok caption",
"author": "openai",
"thumbnail": "https://example.com/tiktok-thumbnail.jpg",
"view_count": null,
"like_count": null,
"comments": [],
"video": ""
}

The block demonstrates schema shape rather than current values from that post. Counts, titles, and URLs can change. The public input does not request individual comments, so do not build a workflow that expects populated comment objects. In metadata mode, an empty video value is expected.

What inputs can I configure?

The effective input schema contains exactly two properties:

InputRequiredTypeAccepted contract
video_urlYesStringOne public TikTok video page URL.
video_qualityNoStringmetadata, low, medium, or high; metadata mode skips the stored file.

Only video_url has a prefill and example. The optional quality field has no schema prefill, which preserves the distinction between a user-supplied preference and an omitted value. There is no public max_comments field. Sending undocumented inputs is not a supported way to enable additional features.

What platforms and markets does TikTok Video Downloader cover?

The public product is scoped to TikTok video pages. It has no country, language, date, hashtag, profile, follower, or market filter. A run processes the URL supplied by the caller instead of discovering a feed.

TikTok URL forms and redirects can vary by device, locale, and sharing flow. Prefer a resolved video-page URL when possible. A profile URL, search page, hashtag page, sound page, or live page does not match the one-video contract described here.

Availability can differ across regions and over time. Validate representative URLs from the markets relevant to your application, keep the original URL with each result, and handle empty or failed outcomes without assuming that all TikTok pages behave identically.

Why use TikTok Video Downloader?

The Actor provides a consistent Dataset shape around a user-submitted TikTok URL. Developers can consume named fields rather than manually copying captions and engagement numbers. Apify supplies run history, storage access, API clients, schedules, and webhooks around the result.

Metadata mode supports triage before file retrieval. The thumbnail-first overview helps reviewers identify items quickly. Nullable fields preserve the difference between zero and unavailable data, and the stored URL keeps the media delivery associated with its processing run.

The Store figures above offer limited public evidence of usage and rating at one date. They cannot establish success for a private URL set, a region, or a future TikTok page change. The one-result CTA is therefore the primary evaluation path.

Who is TikTok Video Downloader for?

Developers can add one-video processing to an internal tool or customer workflow. Social research teams can collect public metadata for a defined, documented sample. Content operations teams can review authorized campaign videos with creator and engagement context. Archivists can preserve permitted files and record when they were processed. AI pipelines can use the metadata before a separate transcription or classification stage.

No-code users can submit a URL in Apify Console and export the Dataset without writing an integration.

This Actor is not for bulk profile harvesting, live-stream recording, comment analysis, audience profiling, private-content access, or determining whether reuse is lawful. Use TikTok Profile Video or TikTok Live Recorder when the input scope is a profile or live stream rather than one video page.

How can I use TikTok Video Downloader through the API or MCP?

Use Actor reference truefetch/tiktok-video-downloader or stable Actor ID ztXfL0bIWLugy66yJ. The live API page provides generated SDK examples and the OpenAPI definition.

The shared metadata scenario can be started over HTTP:

curl -X POST "https://api.apify.com/v2/acts/truefetch~tiktok-video-downloader/runs?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"video_url":"https://www.tiktok.com/@openai/video/7521583654028512525","video_quality":"metadata"}'

For a focused MCP client, expose this Actor through Apify’s hosted endpoint:

{
"mcpServers": {
"apify-tiktok-video": {
"url": "https://mcp.apify.com?tools=truefetch/tiktok-video-downloader",
"headers": {
"Authorization": "Bearer <APIFY_TOKEN>"
}
}
}
}

Ask the connected client to call the Actor with the same two-field JSON input. Store tokens in the client’s secret facility. Authentication is required for Actor runs and result storage. The official MCP documentation explains OAuth, bearer tokens, and tool selection.

How much does TikTok Video Downloader cost?

The effective metadata uses flat pay-per-event prices. Check the published Store price before production runs because local and online configuration snapshots can differ.

Billed eventBilling unitCurrent price
apify-actor-startActor start$0.01
actor_usageMetered usage event$0.00001
metadataOne processed video without file download$0.10
downloadOne processed video with file download and storage$0.20

For the smallest useful metadata-only run, the declared fixed events total $0.11 for Actor start plus metadata, before metered actor_usage units or any live platform charges. A download path uses the $0.20 download event instead of the $0.10 metadata event. Review the completed run for the authoritative charge record.

The effective metadata has no tier-specific discount amounts, so this README does not invent FREE, BRONZE, SILVER, GOLD, PLATINUM, or DIAMOND prices.

How does TikTok Video Downloader compare with alternatives?

OptionBest fitTrade-off
TikTok Video DownloaderOne known public video needing metadata or a stored fileNo profile expansion, live recording, batch list, or comment input.
TikTok Profile VideoCollecting videos from a profile-level inputBroader discovery scope than a one-URL job.
TikTok Live RecorderCapturing a live TikTok sessionLive availability and timing replace the stable page workflow.
Best Video DownloaderA queue containing several supported video sitesWider coverage with less TikTok-specific positioning.

Choose the input entity first: a video page, a profile, and a live session require different Actors. Choose the output second: metadata, a file, comments, and transcripts are also distinct contracts.

What are the limits and troubleshooting steps?

Only one URL is supported per run. The public schema has no batch, comments, profile, search, date, or locale control. Quality values are preferences. Engagement values may be null, and the reserved comments array should not be treated as a comment-scraping result. Repeated runs do not deduplicate prior Dataset items.

If a run fails, confirm that the URL resolves to a public video rather than a profile or share landing page. Retry in metadata mode. If metadata works, test the file request separately. Check the run log when video is empty after a download mode, and keep null counts distinct from genuine zeros.

Short-lived sharing links, removed posts, regional restrictions, and source changes can all affect a later run. Store the original URL and run ID so that a support case can be reproduced.

Frequently asked questions

Can I pass a TikTok profile URL?

No. This public contract is for one video page. Use TikTok Profile Video for profile-level collection.

Can I request comments?

No comment input is exposed. The reserved comments field is normally an empty array.

Does high quality guarantee 4K?

No. It is a preference constrained by the formats available for the supplied post.

Is the downloaded file guaranteed to have no watermark?

No such guarantee is made. The Actor uses the media available during processing.

Why are view or like counts null?

The source did not provide a usable value. Null should not be interpreted as zero.

Does metadata mode store a video?

No. An empty video field is expected in that mode.

Can I schedule it?

Yes, but a schedule repeats the configured single URL. Confirm that repeated processing is intentional and cost-appropriate.

How do I keep costs predictable?

Begin with metadata mode, set a run cost ceiling in Apify, and inspect charged events before scaling.

Their input entities and downstream outputs differ; select the narrowest contract that matches the job.

Support

Online product copy may be older than the current local files, and Store statistics can change rapidly.

For support, provide a safe reproduction URL, redacted input, run ID, expected output, and the observed Dataset or file result.

Run a one-result test

View API