TikTok Video Downloader API - Clean URL [NO LOGIN] ✅
Pricing
$5.00 / 1,000 results
TikTok Video Downloader API - Clean URL [NO LOGIN] ✅
Extract clean no-watermark TikTok video URLs at scale. We return the direct CDN URL - you fetch the file yourself. 65-80% cheaper than file-hosting competitors with zero storage overhead. No login. Built for content repurposing, archival, and video research.
Pricing
$5.00 / 1,000 results
Rating
5.0
(3)
Developer
Unseen User
Maintained by CommunityActor stats
4
Bookmarked
2
Total users
1
Monthly active users
an hour ago
Last modified
Categories
Share
🎬 TikTok No-Watermark Video URL Extractor - Clean MP4 URLs in Bulk (No Login)
Extract the clean (no-watermark) MP4 URL from any TikTok video. Bulk URL input, JSON output. You get the URL - your app downloads or streams. No storage cost.
⚡ Why This Actor
Atomic actor. Input one or more TikTok video URLs, get back the no-watermark playback URL plus full metadata (statistics, author, music, caption). You receive a URL. You do NOT receive the file. Your app handles download or stream. That is the cost-efficient pattern. It is built to undercut $20/1k incumbents like api-ninja by 65-80% and $250/1k file-hosters like truefetch by an order of magnitude, by extracting URLs and letting your code do the rest.
- No login. You do not need an account with any underlying data provider. You only need an Apify account.
- Bulk by default. Pass an array of URLs and the Actor extracts them in parallel with retries.
- Honest about edge cases. When TikTok exposes no clean URL, the row carries
clean_url: nullwith a reason, never a silent failure. - No storage cost. The video stays on TikTok's CDN. You fetch it when you want it.
Hero use case
Need to archive 10,000 competitor TikToks? api-ninja: $200. This Actor: $50. Same files, 75% less cost.
That math holds because most teams do not need the file hosted on someone else's server. They need a URL their code can fetch. This Actor gives you that URL and gets out of the way.
🎯 Use Cases
- Content repurposing pipelines - extract clean video URLs to feed your video editor or repurposing tool.
- Social media management tools - let users cross-post TikTok content without watermark-stripping headaches.
- AI training data pipelines - extract video URLs for properly licensed AI training corpora. Consent and licensing are required. See Sections K and 4.8 below.
- Personal archive tools - let users save their own TikTok content cleanly.
- Brand UGC aggregation - collect customer-generated content for sanctioned brand campaigns with creator consent.
- Education and accessibility - bulk extract videos for educational repurposing after a fair-use review.
- Research and journalism - preserve evidence of TikTok content for investigative reporting.
- Backup tools - let creators back up their own content. The most legitimate use case.
- Competitor archival - snapshot competitor videos for marketing and trend analysis at a fraction of file-hosting cost.
- Ad creative analysis - pull top-performing creatives into your ad-intelligence pipeline.
- Video SEO research - pair captions, statistics, and transcripts with your SEO workflow.
💸 Free Plan Limit
Free Apify users get up to 50 results per run. Paying users are not affected and receive results normally.
This limit was set by the Actor developer, not by Apify. To remove it and receive unlimited results, upgrade to any paid Apify plan: https://apify.com/pricing
When a free plan run hits the cap, the Actor finishes successfully (status SUCCEEDED) and the run's status message explains what happened. No error is raised, so the first 50 results are fully usable as normal.
🚀 Quick Start
- Click Try for free on this Actor's page.
- Add one or more TikTok video URLs to
urls. Add a single entry for a single extraction, or paste many for bulk mode. - Optionally toggle
get_transcriptto also get WEBVTT subtitles. - Run the Actor.
- Use the top-level
clean_urlfrom each dataset row. That is the no-watermark MP4.
⚙️ Inputs Overview
| Input | Type | Required | Description | Example or allowed values |
|---|---|---|---|---|
urls | array of strings | Yes | One or more TikTok video URLs. Single URL for a single extraction, or paste many for bulk mode. | ["https://www.tiktok.com/@randomspamvideos25/video/7251387037834595630"] |
get_transcript | boolean | No | Also extract a WEBVTT transcript. No additional cost. Default false. | false |
region | string | No | Proxy country (2-letter code). For accessing geo-restricted content lawfully. Default US. | PH |
trim | boolean | No | If true, returns a slimmed-down response with fewer fields. Default false. | false |
download_media | boolean | No | WARNING: this option costs roughly 10x more per result when media is found. If true, returns permanent hosted URLs instead of TikTok CDN URLs. Default false (recommended). | false |
🧭 How the Clean URL is Selected
The Actor tries three sources in order:
- The explicit no-watermark download URL (
download_no_watermark_addr.url_list[0]). Preferred when present. - The playback URL when the video has no watermark (
play_addr.url_list[0]whenhas_watermark === false). clean_url: nullwhen TikTok did not expose a clean URL for that video. The row also carries the reason.
The row always tells you which source the clean URL came from via the clean_url_source field, so you can audit edge cases.
function getCleanUrl(videoObj) {if (videoObj.download_no_watermark_addr?.url_list?.[0]) {return videoObj.download_no_watermark_addr.url_list[0];}if (videoObj.has_watermark === false && videoObj.play_addr?.url_list?.[0]) {return videoObj.play_addr.url_list[0];}return null;}
📤 Sample Output
One row per input URL.
{"input_url": "https://www.tiktok.com/@user/video/123","aweme_id": "7251387037834595630","clean_url": "https://v16-webapp-prime.tiktok.com/video/...","clean_url_source": "download_no_watermark_addr","has_watermark": false,"url_expires_estimate": "24-72 hours","desc": "POV: you opened TikTok at 2am","create_time": 1735689600,"region": "US","content_type": "video","share_url": "https://www.tiktok.com/@user/video/123","video": {"duration": 15000,"width": 1080,"height": 1920,"has_watermark": false,"download_no_watermark_addr": { "url_list": ["..."] },"play_addr": { "url_list": ["..."] },"download_addr": { "url_list": ["..."] },"cover": "https://...","dynamic_cover": "https://..."},"statistics": {"play_count": 1234567,"digg_count": 78901,"comment_count": 234,"share_count": 567,"collect_count": 890,"download_count": 12,"repost_count": 34},"author": {"unique_id": "user","nickname": "Display Name","follower_count": 100000,"verification_type": 1},"music": {"title": "Original sound","author": "user","duration": 30000,"is_original_sound": true},"transcript_webvtt": "(present only when get_transcript=true)","_metadata": {"fetched_at": "2026-05-25T12:34:56.789Z","url_input": "https://www.tiktok.com/@user/video/123"}}
Field reference (per row)
The statistics object uses TikTok's native field names:
| Field | Description |
|---|---|
play_count | Views |
digg_count | Likes (TikTok calls likes "diggs") |
comment_count | Comments |
share_count | Shares |
collect_count | Saves |
download_count | Downloads |
repost_count | Reposts |
The author object surfaces public profile fields:
| Field | Description |
|---|---|
uid | Internal user ID |
unique_id | The @handle |
nickname | Display name |
sec_uid | Secondary user ID |
signature | Bio |
follower_count | Followers |
following_count | Following |
region | Account region |
verification_type | Verification level |
The music object describes the audio track:
| Field | Description |
|---|---|
id_str | Music ID |
title | Song title |
author | Song author |
owner_handle | Original sound creator (when original audio) |
duration | Music duration (ms) |
user_count | Number of videos using this sound |
play_url | Music play URL |
is_original_sound | Whether this is the creator's original audio |
is_commerce_music | Licensed commerce music flag |
The video object is the critical extraction surface:
| Field | Notes |
|---|---|
duration | Video duration (ms) |
has_watermark | true if TikTok rendered a watermark on the underlying asset |
width | Video width |
height | Video height |
ratio | Aspect ratio |
play_addr | Playback URL object with url_list[]. Often no-watermark when has_watermark is false. |
download_addr | Watermarked download URL with url_list[]. |
download_no_watermark_addr | The clean URL. url_list[] with no-watermark MP4. |
cover | Static thumbnail URL |
dynamic_cover | Animated thumbnail URL |
origin_cover | Original thumbnail URL |
🧱 Failure handling and retries
The Actor is built to keep the dataset coherent even when an input video is private, deleted, geo-blocked, or the upstream is rate-limiting. Each row that did not produce a clean URL carries:
error: the human-readable message (status code and a short body excerpt).error_type: a stable machine tag so you can filter rows in bulk._metadata.resolved_url: present when the input was normalized or expanded.
error_type values:
| Value | What it means |
|---|---|
not_found | The video does not exist (404, 410). Usually deleted or never existed. |
forbidden | Access denied for that URL (401, 403). Often private accounts or geo-blocks not solved by the proxy region. |
bad_request | The URL was rejected as malformed (400). Try re-pasting the canonical TikTok URL. |
rate_limited | The upstream returned 429 after all retries. Re-run later or split into smaller batches. |
upstream_error | 500 / 502 / 503 / 504 / 520+. Transient upstream problem; retried up to 5 times before giving up. |
network_timeout | The request did not return within the per-request timeout. Retried as above. |
network_error | DNS or connection problem. Retried as above. |
config_error | The Actor was misconfigured (for example, the API key secret is not set). |
input_error | No URLs were provided. |
unknown | Anything not classified above. |
Resilience knobs already applied by the Actor:
- URL normalization. Each input is trimmed and stripped of TikTok tracking query parameters (
is_from_webapp,sender_device,utm_*,share_*, and similar) so the upstream sees a canonical URL. - Short URL expansion. Inputs on
vm.tiktok.com,vt.tiktok.com,m.tiktok.com, ortiktok.com/t/...are followed once with a 10s timeout to recover the canonicaltiktok.com/@user/video/<id>form. - Per-request timeout. Each upstream call is bounded to 30 seconds so a slow upstream cannot stall a worker.
- Retries. Up to 5 attempts with exponential backoff (1s, 2s, 4s, 8s, 16s) on 408, 425, 429, 500, 502, 503, 504, 520, 521, 522, 524, 525.
- Bounded concurrency. Up to 3 parallel requests so the upstream rate limiter is rarely hit.
- One failure never sinks the run. Per-URL exceptions are caught, the row is emitted with
error_type, and the worker moves on. - The run always finishes SUCCEEDED. Even validation failures and unexpected crashes are emitted as a dataset row plus a status message; the run never ends in
FAILEDfor a runtime issue.
🐍 Downloading the File From Your Side (Python)
You receive a URL. Here is the buyer-side step: fetch the URL and save it.
import osimport requestsfrom apify_client import ApifyClientclient = ApifyClient(os.environ["APIFY_TOKEN"])run = client.actor("UnseenUser/tiktok-no-watermark-url-extractor").call(run_input={"urls": ["https://www.tiktok.com/@user/video/7251387037834595630",],})for item in client.dataset(run["defaultDatasetId"]).iterate_items():if not item.get("clean_url"):print(f"No clean URL for {item['input_url']}: {item.get('error')}")continueresp = requests.get(item["clean_url"], stream=True, timeout=60)resp.raise_for_status()out = f"{item['aweme_id']}.mp4"with open(out, "wb") as fh:for chunk in resp.iter_content(chunk_size=1024 * 1024):fh.write(chunk)print(f"Saved {out}")
JavaScript
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('UnseenUser/tiktok-no-watermark-url-extractor').call({urls: ['https://www.tiktok.com/@user/video/7251387037834595630'],});const { items } = await client.dataset(run.defaultDatasetId).listItems();for (const item of items) {if (!item.clean_url) {console.log(`No clean URL for ${item.input_url}: ${item.error}`);continue;}const resp = await fetch(item.clean_url);const ab = await resp.arrayBuffer();await import('node:fs/promises').then(fs => fs.writeFile(`${item.aweme_id}.mp4`, Buffer.from(ab)));}
🥊 Comparison
| This Actor | api-ninja | truefetch | |
|---|---|---|---|
| Price per 1,000 videos | ~$5 | ~$20 | ~$250 |
| File hosting | None - you fetch the URL | Hosted file | Hosted file |
| Dependency on vendor infrastructure after extraction | None | File stays on their servers | File stays on their servers |
| Storage and bandwidth risk on you | None | Some | High |
| DMCA exposure surface | Low (no files held) | Medium | High |
| Response shape | URL + full metadata | URL or file | Hosted file URL |
| Response speed | Fast (metadata only) | Slower (hosts file) | Slowest (transfers and hosts) |
| Best when | You already have a place to download or stream from | You want a one-shot file | You explicitly need a managed hosted copy |
The price column reflects typical published list rates at the time of writing. Confirm current pricing on each vendor's site.
❓ FAQ
Q: What is the difference between play_addr, download_addr, and download_no_watermark_addr?
download_no_watermark_addr.url_list[0]is the clean MP4, no watermark. Preferred when present.play_addr.url_list[0]is a playback URL, often with no watermark whenhas_watermarkisfalse.download_addr.url_list[0]is the watermarked version.
The Actor applies the selection logic for you and exposes the result as clean_url, with clean_url_source indicating which field it came from.
Q: How long are the URLs valid?
Typically 24-72 hours from extraction. They are signed CDN URLs with embedded expiration. If you need permanent URLs, enable download_media=true (costs roughly 10x more) or download the file yourself.
Q: Do I need any external account?
No. The Publisher holds the underlying credentials. You only need an Apify account.
Q: Can I use this for AI training?
NO. TikTok's Terms explicitly prohibit AI training on TikTok data, creators retain copyright, and music rights holders are highly litigious. See Section K of the Addendum.
Q: What about minors?
TikTok has many under-18 creators. This Actor's Terms strictly prohibit extracting content of users you know or suspect are minors. See Section L of the Addendum.
Q: What if TikTok sends a cease-and-desist?
Notify UnseenUser within 48 hours via the Apify profile contact form (https://apify.com/UnseenUser) and cease using this Actor immediately.
Q: Can I redistribute the videos?
Almost certainly NO. Each TikTok video has three separate copyright layers (creator's video + music rights + caption). Watermark removal + redistribution is the exact pattern TikTok pursues legally. See Sections G and J of the Addendum.
Q: Does the Actor store or log the videos?
No. No video file is downloaded, stored, or logged by the Actor. The Actor returns URLs and metadata only. The video content stays on TikTok's CDN.
Q: Can it handle bulk and large scale?
Yes. Pass an array in urls. The Actor extracts in parallel with retries on transient failures. Failed URLs become rows with an error field instead of crashing the run.
Q: Should I use download_media=true?
Almost never. It returns permanent hosted URLs instead of TikTok CDN URLs but costs roughly 10x more per result. Use it only when you specifically need permanent URLs and cannot host the file yourself.
🧰 Output schema and presentation
The Actor ships an Output schema, so the Apify UI renders each row as a table with two views:
- Overview - input URL, video ID, clean URL, source field, watermark flag, validity, error.
- Full details - everything: caption, statistics, author, music, video object, transcript, metadata.
You can also export the dataset as JSON, CSV, XLSX, JSONL, or via the Apify API.
🩺 Live view (run-time API)
While a run is in progress the Actor exposes a small read-only HTTP API for monitoring:
GET /- status page (HTML)GET /healthz- liveness probeGET /status- JSON with counters: processed, succeeded, failed, pushed, cap_reachedGET /last- the most recent extracted item
A full OpenAPI v3 description is published alongside the Actor and is also written to the run's key-value store under public-openapi so you can pipe it into any OpenAPI tool.
🗄️ Key-value store layout
The Actor's key-value store uses key prefixes to keep your attention on what matters:
INPUT- the run input record.output-*- user-facing artifacts produced by the run (for example,output-run-summary).public-*- public schemas such aspublic-openapi.state-*- internal run state (collapsed in the UI by default).
🏷️ Attribution: add it back yourself
TikTok adds watermarks to maintain attribution when content circulates off-platform. By extracting a no-watermark URL you remove that attribution mechanism, so you must add attribution yourself when you display or redistribute content:
- The creator handle (for example,
@username). - A link back to the original TikTok URL.
- A visible "Source: TikTok" marker when displayed on other platforms.
Stripping watermarks AND attribution at the same time is the pattern TikTok and creators pursue legally. Do not be that user.
🧩 Related scrapers
Build your full TikTok intelligence stack:
- TikTok Transcript Extractor - pair with this for full content extraction
- TikTok Trends Scraper - find videos to extract
- TikTok Sound & Music Tracker - extract videos using specific sounds
- TikTok Audience Geography Scraper - follower geography
- TikTok Comments & Replies Scraper - video comment threads
- TikTok Followers / Following Scraper - follower and following lists
- TikTok Live Status Scraper - live stream status
- TikTok User Search Scraper - creator discovery
See all scrapers by unseenuser
🔑 Target keywords
tiktok no watermark, tiktok video downloader, scrape tiktok video, tiktok video url extractor, no watermark tiktok api, tiktok download api, bulk tiktok video, content archival tiktok, tiktok download, mp4 extractor, tiktok mp4, bulk video
Apify Actor - Terms of Service
Version: 4.0 Effective Date: May 5, 2026
0. ACCEPTANCE BY USE - IMPORTANT
Read this section first.
These Terms of Service ("Terms") form a binding legal agreement between you ("User," "you," "your") and UnseenUser, the Publisher of this Apify actor ("UnseenUser," "the Publisher," "we," "us," "our").
0.1 How You Accept These Terms
You accept these Terms by any of the following actions, each of which constitutes a clear, affirmative act of acceptance:
- (a) Running the Actor - Initiating any execution of the Actor on the Apify platform
- (b) Using any output returned by the Actor for any purpose
- (c) Continuing to access the Actor's listing or documentation after these Terms are visible
0.2 Continuing Acceptance
Each time you run the Actor or use its outputs, you reaffirm your acceptance of the then-current Terms. If you do not agree to these Terms or any subsequent update, you must stop using the Actor immediately.
0.3 No Anonymous Acceptance
You cannot disclaim acceptance by:
- Failing to read these Terms before running the Actor
- Running the Actor through automated systems
- Sharing your Apify account with others who may not have read these Terms
By the act of running the Actor on Apify, you bind yourself, your organization (if applicable), and any individuals or systems acting on your behalf or under your authority.
0.4 If You Do Not Accept
If you do not agree to these Terms, you must not run the Actor. No use is authorized without acceptance.
PREAMBLE - UNDERSTANDING THE ARCHITECTURE
Before using the Actor, please understand the technical architecture of the service:
The Data Flow
You (User) -> Apify Platform -> Actor (software) -> Third-Party API -> Source PlatformvYou (User) <- Apify Platform <- Actor (software) <- Third-Party API
What Each Party Does
- You (the User): Run the Actor on the Apify platform with input parameters you choose.
- Apify: Operates the cloud infrastructure that hosts and executes Actors. Apify is a Czech-incorporated company (Apify Technologies s.r.o.) governed by its own Terms of Service.
- The Publisher (us): Publishes software code (the Actor) on Apify's platform. The Actor is a thin wrapper that translates your input into requests to a third-party API and returns the API's responses to you. The Publisher does not operate scraping infrastructure. The Publisher does not store or retain data returned by the Actor. The Publisher does not see, log, or process the personal data of any individuals returned in the Actor's outputs beyond what is incidental to passing the data through.
- Third-Party API Provider: HarvestAPI (https://harvest-api.com) or Scrape Creators (https://scrapecreators.com). These are independent third-party companies that operate scraping infrastructure and return data from source platforms.
- Source Platform: LinkedIn, TikTok, YouTube, Reddit, Linktree, etc. These are the platforms whose publicly visible data is accessed by the Third-Party API Providers.
Why This Matters
Your relationship with the Publisher is that of a software user to a software vendor. The Publisher has the responsibilities of a software vendor (functional code, accurate documentation) and the limits of one (the Publisher is not responsible for how you use the data you obtain).
These Terms operate alongside but do not replace:
- Apify's Terms of Service and Acceptable Use Policy (governing your relationship with Apify)
- HarvestAPI Terms of Service and Scrape Creators Terms of Service (governing the underlying data infrastructure)
- Source Platform terms (LinkedIn, TikTok, etc.) governing the public data accessed
- Applicable law in your jurisdiction and the jurisdictions of data subjects
These Terms incorporate the actor-specific addendum published in each Actor's individual listing ("Addendum"). In the event of a conflict, the more restrictive provision applies.
1. NATURE OF THE SERVICE
1.1 What the Actor Is
The Actor is a software program published on the Apify platform. Each Actor:
- (a) Accepts structured input from you on the Apify platform
- (b) Translates that input into HTTP requests to a third-party API operated by HarvestAPI or Scrape Creators
- (c) Receives HTTP responses from that third-party API
- (d) Returns the response data to you in a structured format on the Apify platform
The Actor's source code is hosted on Apify's infrastructure. The Actor runs in Apify's cloud, not on the Publisher's servers. The Publisher operates no servers running the Actor.
1.2 What the Actor Is Not
The Actor is not:
- (a) A scraping tool. The Publisher does not operate scraping infrastructure, proxies, headless browsers, or fake accounts.
- (b) A direct connection to any source platform. Connections to source platforms are made by HarvestAPI / Scrape Creators.
- (c) A data storage or data retention service. The Publisher does not maintain a database of any data the Actor returns.
- (d) A licensed access channel to LinkedIn, TikTok, YouTube, Reddit, X (Twitter), Meta, Linktree, or any other source platform.
- (e) Affiliated with, endorsed by, sponsored by, or authorized by any source platform.
1.3 The Publisher's Limited Role
The Publisher's role is limited to:
- (a) Designing and writing the Actor's source code
- (b) Publishing the Actor on the Apify Store
- (c) Maintaining the Actor (updating it when API providers change schemas)
- (d) Providing documentation and customer support via Apify's contact mechanism
The Publisher is a software vendor, similar to a developer who publishes an app on the Apple App Store or Google Play Store. The Publisher is not a data provider, data broker, data processor, or data controller for purposes of GDPR, CCPA, Israel's Privacy Protection Law, or equivalent.
1.4 The Third-Party API Providers' Role
HarvestAPI (https://harvest-api.com) and Scrape Creators (https://scrapecreators.com) are independent third-party companies. They:
- (a) Operate the actual data scraping infrastructure
- (b) Maintain relationships with source platforms (or accept the operational risk of accessing public data without such relationships)
- (c) Are themselves Apify publishers (HarvestAPI publishes 9+ actors directly; Scrape Creators publishes 10+)
- (d) Provide their own Terms of Service governing their operations
- (e) Are responsible for compliance obligations relating to the data collection itself
The Publisher is a customer of these providers. The Publisher is not their agent, partner, or representative.
2. WHO MAY USE THE ACTOR
2.1 Eligibility
You may use the Actor only if:
- (a) You are at least 18 years old or the age of majority in your jurisdiction
- (b) You have legal capacity to enter into binding contracts
- (c) You are not located in or resident of a country subject to comprehensive sanctions by the United States, European Union, United Kingdom, or Israel
- (d) You are not on any prohibited persons list
2.2 User Representations
By using any Actor, you represent and warrant that:
- (a) Truthful identity: Information you provide about your identity and intended use is accurate.
- (b) Lawful intent: Your intended use complies with applicable law in your jurisdiction.
- (c) Source platform compliance: You will independently comply with the Terms of Service of any source platform whose data you obtain through the Actor.
- (d) Data subject rights: Where Actor outputs include personal data, you will respect data subject rights under applicable law.
- (e) No prohibited use: You will not use the Actor for any of the purposes prohibited in Section 4.
These representations are continuous. They must remain true throughout your use.
3. PERMITTED USES
The Actor may be used for any lawful purpose, including:
- Market research and competitive analysis
- Academic research
- Journalism and investigative reporting
- Internal business intelligence
- Brand monitoring
- Recruitment research where consistent with applicable employment law
- Building products that further process publicly available information lawfully
Specific permitted uses for each Actor are described in that Actor's individual listing and Addendum.
4. PROHIBITED USES
You may not use the Actor for any of the following:
4.1 Illegal Activity
Activity illegal under the law of your jurisdiction, the User's jurisdiction, or the jurisdiction of any data subjects.
4.2 Harassment, Stalking, and Personal Targeting
- Compiling profiles for harassment, stalking, or doxxing
- Tracking individuals' movements or activities without their knowledge
- Building profiles of journalists, activists, dissidents, or vulnerable populations for retaliatory purposes
4.3 Discrimination
- Using outputs for discriminatory employment, lending, housing, or insurance decisions based on protected characteristics
- Building lists for discriminatory purposes
4.4 Spam and Unsolicited Commercial Communication
- Sending unsolicited marketing in violation of CAN-SPAM, CASL, GDPR, PECR, Israeli Anti-Spam Law (סעיף 30א לחוק התקשורת), or equivalent laws
- Building "lead lists" from scraped contacts without proper consent infrastructure
- Reselling contact data for spam purposes
4.5 Fraud and Deception
- Identity theft or impersonation
- Generation of fake reviews, testimonials, or coordinated inauthentic behavior
- Election interference or political disinformation
- Securities fraud
4.6 Source Platform Abuse
- Using outputs to circumvent technical protection measures of source platforms
- Creating fake accounts on source platforms based on Actor outputs
- Vote manipulation, engagement manipulation, or platform algorithm gaming
- Building services that competitively substitute for source platforms
4.7 Reselling the Actor's Service
- Reselling raw Actor outputs as your own data product or scraping-as-a-service
- Sharing your Apify credentials to provide third parties indirect access
- Building competing API services using Actor outputs
4.8 AI Training Without Authorization
- Using Actor outputs as training data for commercial AI/ML models without separate licensing authority from the source platform
4.9 Sensitive Targeting
- Specifically targeting or profiling based on health conditions, sexual orientation, religious beliefs, political opinions, or other sensitive characteristics
- Targeting children under 16 (or local age of consent for data processing)
4.10 Privacy Law Violations
- Processing personal data of EU/UK/California/Israeli residents without complying with applicable privacy law
- Failing to honor data subject access, deletion, or objection requests
- Processing data for purposes incompatible with its publication context
5. SOURCE PLATFORM TERMS - YOUR RESPONSIBILITY
5.1 Acknowledgment
The Actor accesses publicly visible data on third-party platforms ("Source Platforms") through the Third-Party API Providers (HarvestAPI / Scrape Creators). Source Platforms include LinkedIn, TikTok, YouTube, Reddit, X (Twitter), Meta/Facebook, Linktree, Komi, Pillar, Linkbio, Linkme, and Amazon.
5.2 Your Sole Responsibility
You acknowledge:
- (a) You are solely responsible for ensuring your downstream use of data obtained through the Actor complies with the Source Platform's Terms of Service
- (b) The Publisher makes no representation that any specific use is permitted under any Source Platform's terms
- (c) The Third-Party API Providers, not the Publisher, bear responsibility for the lawfulness of the data collection itself
- (d) You should review Source Platform terms before commercial use:
- LinkedIn: https://www.linkedin.com/legal/user-agreement
- TikTok: https://www.tiktok.com/legal/page/global/terms-of-service/en
- YouTube: https://www.youtube.com/static?template=terms
- X: https://twitter.com/en/tos
- Reddit: https://www.redditinc.com/policies/user-agreement
- Meta: https://www.facebook.com/legal/terms
- Linktree: https://linktr.ee/s/terms/
5.3 Cease-and-Desist Compliance
If you receive a cease-and-desist letter or other legal demand from a Source Platform regarding your use of Actor outputs, you must:
- (a) Cease the contested use immediately
- (b) Notify UnseenUser within 48 hours via UnseenUser's Apify profile contact form (https://apify.com/UnseenUser)
- (c) Cooperate with the Publisher as needed to mitigate
- (d) Not assert against the Publisher any claim arising from your inability to use the Actor for that Source Platform
6. DATA PROTECTION - REFLECTING ACTUAL ARCHITECTURE
6.1 Roles Under Privacy Law
For purposes of GDPR, UK GDPR, CCPA, Israel's Privacy Protection Law (PPL) including Amendment 13, and equivalents:
- You (the User) are the Data Controller of any personal data you obtain through the Actor and subsequently process for your own purposes.
- HarvestAPI and Scrape Creators are the entities that collect data from source platforms. They bear the responsibilities of data processors or controllers (depending on context) for the collection itself.
- The Publisher acts solely as a software vendor, not as a data controller or processor, because the Publisher does not store, retain, or substantively process personal data. The Actor merely passes API responses through.
6.2 No Data Retention by the Publisher
The Publisher confirms:
- (a) The Publisher does not maintain a database of personal data obtained through the Actor.
- (b) The Actor passes data from the Third-Party API directly to you on the Apify platform. Data does not flow through the Publisher's infrastructure.
- (c) Apify's standard execution and operational logging may include limited information about Actor runs (input parameters, run duration, data volume). This is governed by Apify's own privacy practices.
- (d) The Publisher does not access, view, or analyze your Actor outputs except as needed for technical support if you specifically share them with the Publisher.
6.3 Your Obligations as Data Controller
Where your use of the Actor involves processing personal data, you are responsible for:
- (a) Establishing a lawful basis for your processing (consent, legitimate interest with documented balancing test, contract, etc.)
- (b) Providing transparent notice to data subjects as required by applicable law
- (c) Honoring data subject access, rectification, erasure, restriction, and portability requests
- (d) Implementing appropriate security measures
- (e) Conducting Data Protection Impact Assessments where required
- (f) Appointing a Data Protection Officer if your operations require one
- (g) Registering databases with applicable supervisory authorities
- (h) Honoring opt-out requests for direct marketing
- (i) Cross-border transfer safeguards where data crosses borders
6.4 Israel's Amendment 13 - User Compliance
If your use of the Actor involves Israeli residents' personal data, you must comply with the Privacy Protection Law as amended (Amendment 13, effective August 14, 2025). These obligations are yours as the data controller, not the Publisher's as the software vendor.
6.5 Sensitive Data Targeting Restrictions
You will not use the Actor to specifically target, profile, or build datasets focused on:
- Health or medical conditions
- Religious beliefs
- Political opinions
- Sexual orientation or gender identity
- Genetic or biometric data
- Criminal history
- Children under 16
7. INTELLECTUAL PROPERTY
7.1 Actor Code
The Actor's source code, schemas, documentation, and branding are owned by the Publisher. You receive a limited, non-exclusive, non-transferable, revocable license to use the Actor for permitted purposes during your active subscription/run with Apify.
7.2 Output Data
The Publisher claims no ownership over the public data the Actor returns. Source Platforms may have copyright, database rights, or other rights in their data; data subjects may have copyright in user-generated content. Your use of output data must respect these rights independently.
7.3 Restrictions
You may not reverse engineer, decompile, or reuse the Actor's code in a competing actor.
7.4 Feedback
Feedback you provide may be used by the Publisher to improve products without compensation to you.
8. PRICING AND PAYMENT
8.1 Apify Platform Billing
Pricing is administered through Apify's pricing models. Apify processes all payments. Apify's payment terms govern refunds and disputes.
8.2 Pricing Changes
The Publisher may change Actor pricing with at least 14 days' notice via the Actor's Apify listing.
8.3 No Refunds for Misuse
If your access is suspended or terminated for breach of these Terms, you forfeit any unused balance and are not entitled to refunds.
9. SERVICE AVAILABILITY AND CHANGES
9.1 No Uptime Guarantee
The Actor depends on:
- (a) The Apify platform
- (b) Underlying API providers (HarvestAPI, Scrape Creators)
- (c) Source Platforms' continued public accessibility
Any of these may change behavior, restrict access, or become unavailable without notice. The Publisher makes no uptime guarantees.
9.2 Service Discontinuation
The Publisher may discontinue any Actor at any time. Reasonable notice will be provided when feasible.
10. DISCLAIMERS
10.1 "AS IS" Service
THE ACTOR IS PROVIDED "AS IS" AND "AS AVAILABLE" WITHOUT WARRANTIES OF ANY KIND, INCLUDING WARRANTIES OF MERCHANTABILITY, FITNESS FOR PURPOSE, NON-INFRINGEMENT, OR ACCURACY OF DATA.
10.2 No Representation of Lawfulness
The Publisher makes no representation that your specific use of the Actor or the data it returns is lawful in your jurisdiction or under any Source Platform's terms. The burden of determining lawfulness for your use case is yours.
10.3 No Endorsement of Source Content
Content returned by the Actor was created by third parties. The Publisher does not endorse, verify, or take responsibility for it.
11. LIMITATION OF LIABILITY
11.1 Aggregate Liability Cap
TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, IN NO EVENT SHALL THE AGGREGATE LIABILITY OF THE PUBLISHER FOR ALL CLAIMS RELATING TO THE ACTOR EXCEED THE GREATER OF:
- (a) ONE HUNDRED U.S. DOLLARS (US $100), OR
- (b) THE AMOUNTS YOU PAID THROUGH APIFY FOR USE OF THE ACTOR IN THE THREE (3) MONTHS IMMEDIATELY PRECEDING THE EVENT
11.2 Excluded Damages
THE PUBLISHER IS NOT LIABLE FOR INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL, EXEMPLARY, OR PUNITIVE DAMAGES, OR FOR LOSS OF PROFITS, REVENUE, OR DATA, EVEN IF ADVISED OF THE POSSIBILITY.
11.3 Time Limit
Any claim must be brought within one (1) year of the event.
12. INDEMNIFICATION
12.1 Your Indemnification of the Publisher
You agree to defend, indemnify, and hold harmless the Publisher from any:
- Claims arising from your use of the Actor
- Claims arising from your violation of these Terms
- Claims arising from your violation of any law (including privacy law)
- Claims arising from your violation of any Source Platform's Terms of Service
- Claims arising from your processing of personal data obtained through the Actor
- Reasonable attorneys' fees and costs of defending such claims
12.2 Defense
The Publisher may assume defense at your expense. You will cooperate with the Publisher's defense.
12.3 Scope
The indemnification covers reasonable, foreseeable third-party claims arising from your use. It does not extend to:
- Claims arising from the Publisher's gross negligence or willful misconduct
- Claims regarding the Actor's source code itself (those are the Publisher's responsibility)
- Claims regarding the Third-Party API Provider's data collection (those are their responsibility)
13. SUSPENSION AND TERMINATION
13.1 Termination by the Publisher
The Publisher may terminate your access for material breach, illegal use, breach of warranty, or upon credible legal demand.
13.2 Effects of Termination
Your license ends, you must cease use, and applicable provisions survive.
13.3 Termination by You
You may stop using the Actor at any time on Apify.
14. DISPUTE RESOLUTION
14.1 Informal Resolution First
Send a detailed written description of the dispute via UnseenUser's Apify profile contact form (https://apify.com/UnseenUser) and wait 60 days for resolution attempt before any formal claim.
14.2 Governing Law
These Terms are governed by the substantive laws of the State of Israel, without regard to conflict of law principles.
14.3 Exclusive Jurisdiction
Any dispute shall be brought exclusively in the competent civil courts of Tel Aviv-Jaffa, Israel.
14.4 No Class Actions
You agree to bring claims only in your individual capacity.
14.5 Attorneys' Fees
The prevailing party recovers reasonable attorneys' fees.
15. MISCELLANEOUS
15.1 Entire Agreement
These Terms (with Addendum and incorporated documents) are the entire agreement.
15.2 Severability
Unenforceable provisions are reformed to the minimum extent or severed.
15.3 Assignment
You may not assign without the Publisher's consent. The Publisher may assign to affiliates, successors, or acquirers.
15.4 Force Majeure
Neither party is liable for failure due to events beyond reasonable control, including changes by Source Platforms or Third-Party API Providers, or actions by Apify.
15.5 Third-Party Beneficiaries
Apify, HarvestAPI, and Scrape Creators are intended third-party beneficiaries of Sections 4 (Prohibited Uses), 5 (Source Platform Compliance), and 12 (Indemnification).
15.6 Survival
Sections 0 (Acceptance), 4, 5, 6, 7, 10, 11, 12, 14, and 15 survive termination.
15.7 Language
English controls. Translations are for convenience only.
15.8 Publisher Identification for Legal Process
The Publisher operates on the Apify platform under the username UnseenUser (apify.com/UnseenUser). The Publisher is a registered legal entity. Upon receipt of valid legal process (subpoena, court order, or equivalent) directed through Apify's official channels, the Publisher's full legal identity may be disclosed as required by law. This Section ensures that you have a valid path to legal recourse if needed.
16. ACKNOWLEDGMENT
By using any Actor, you acknowledge that:
- (a) You have read these Terms
- (b) You understand the architecture: you are using software (the Actor) on Apify's platform that calls third-party APIs
- (c) You accept responsibility for your use, including for compliance with Source Platform terms
- (d) Your indemnification obligations cover third-party claims arising from your use
- (e) Disputes are resolved in Israeli courts
- (f) The Publisher's identity, while not publicly disclosed in this listing, can be obtained through valid legal process via Apify
For questions, use UnseenUser's Apify profile contact form (https://apify.com/UnseenUser) before running the Actor.
APPENDIX - Document Version History
| Version | Date | Summary |
|---|---|---|
| 1.0 | May 5, 2026 | Initial publication |
| 2.0 | May 5, 2026 | Hardened (over-broad. Treated User as data broker.) |
| 3.0 | May 5, 2026 | Architecturally accurate. Publisher as software vendor. |
| 4.0 | May 5, 2026 | Anonymous Publisher. All personally identifying information removed. Acceptance-by-Use mechanism formalized. |
These Terms reflect best practices for anonymous Apify actor publishing as of May 2026. Not a substitute for legal advice. Consult qualified Israeli commercial counsel before deploying.
🛡️ Actor-Specific ToS Addendum - TikTok No-Watermark Video URL Extractor
This addendum supplements the Master Terms of Service V4.0. By running this Actor, you accept both the Master ToS and this addendum.
A. Architectural Disclosure
This Actor is a software wrapper. It accepts your input (TikTok video URL or URLs), calls the Scrape Creators /v2/tiktok/video endpoint, applies no-watermark URL selection logic, and returns the response data to you on the Apify platform. UnseenUser does not store, log, or substantively process the data returned. The video files themselves are NOT downloaded. Only metadata and URLs are returned.
B. Nature of Data Returned
This Actor returns: TikTok video metadata + the clean (no-watermark) playback URL. Each result includes: aweme_id, desc (caption), statistics (play_count, digg_count, comment_count, share_count, collect_count, download_count, repost_count), author (handle, nickname, follower_count, verification status), music (title, author, duration, user_count), and video object containing download_no_watermark_addr.url_list[] (clean MP4), play_addr.url_list[] (alternative clean URL when has_watermark is false), download_addr.url_list[] (watermarked fallback), has_watermark (boolean), duration (ms), width, height, cover (thumbnail), dynamic_cover (animated thumb). Optionally: transcript (WEBVTT) when get_transcript=true.
The video CONTENT itself remains on TikTok's CDN (when download_media=false, default) or on Scrape Creators' Supabase storage (when download_media=true). UnseenUser never possesses, stores, or transmits the actual video files.
Where the Actor's output includes the creator's identity (handle, nickname, profile metadata), that data constitutes personal data subject to GDPR, CCPA, Israeli Privacy Protection Law, and equivalent privacy laws in your downstream processing.
C. Permitted Use Cases
You may use this Actor for the following purposes (non-exhaustive list):
- Content repurposing pipelines - extract clean video URLs to feed your video editor / repurposing tool
- Social media management tools - let users cross-post TikTok content without watermark stripping headaches
- AI training data pipelines - extract video URLs for licensed AI training corpora (consent + licensing required)
- Personal archive tools - let users save their own TikTok content cleanly
- Brand UGC aggregation - collect customer-generated content for sanctioned brand campaigns (with creator consent)
- Education / accessibility - bulk extract videos for educational repurposing (fair use review required)
- Research / journalism - preserve evidence of TikTok content for investigative reporting
- Backup tools - let creators backup their own content (most legitimate use case)
D. Specifically Prohibited Uses
In addition to Master ToS Section 4 prohibitions, you may NOT:
- Download videos at scale to host them on competing platforms or to facilitate piracy
- Republish creators' videos as your own content on TikTok, Instagram Reels, YouTube Shorts, or any other platform
- Strip creator attribution from downloaded videos before redistribution
- Train commercial AI/LLM models on TikTok videos without proper licensing. Meta-style class actions and Andersen v. Stability AI demonstrate this is contested.
- Use this Actor to mass-extract videos from minors (TikTok has many under-18 creators)
- Build "TikTok downloader" websites or apps that violate TikTok's anti-circumvention provisions in their Terms
- Use no-watermark URLs to facilitate copyright infringement, deep-fake creation, or non-consensual deep-fake distribution
- Extract videos for use in misinformation campaigns, election interference, or coordinated inauthentic behavior
- Bypass TikTok's regional or content restrictions through URL extraction
E. Platform Terms of Service Considerations
TikTok's Terms of Service prohibit automated extraction of TikTok content AND prohibit circumvention of watermarks. ByteDance has actively litigated against scrapers and downloaders. This Actor accesses publicly visible TikTok video data via Scrape Creators. Scrape Creators bears responsibility for the lawfulness of the data collection. Your downstream use of no-watermark URLs must independently comply with TikTok's Terms of Service, creator rights, music rights, and applicable copyright law. Watermark removal + redistribution = the exact pattern TikTok pursues legally. Be careful with downstream use. If TikTok issues a cease-and-desist regarding data obtained via this Actor, notify UnseenUser within 48 hours via the Apify profile contact form (apify.com/UnseenUser) and cease your use immediately.
F. No-Watermark URL != Authorization to Use
Critical distinction: This Actor returns a clean URL to TikTok's CDN. Possession of this URL does NOT grant you:
- The right to download the file beyond TikTok's normal access terms
- The right to redistribute the file
- The right to remove or claim ownership of the content
- A waiver of the creator's copyright
You are getting the same URL a TikTok mobile app would receive when playing the video. Just without the watermark overlay TikTok normally renders. The underlying video is identical, and the underlying rights are unchanged.
G. The Watermark Question - Why TikTok Adds It
TikTok adds watermarks to videos to:
- Maintain attribution when content circulates off-platform
- Discourage off-platform monetization without TikTok's involvement
- Comply with creator brand requirements
By extracting no-watermark URLs, you remove this attribution mechanism. You must add attribution yourself when displaying or redistributing this content, including:
- Creator handle (for example, "@username")
- Link back to the original TikTok URL
- Visible "Source: TikTok" marker when displayed on other platforms
Stripping watermarks AND attribution simultaneously is the pattern TikTok and creators specifically pursue legally. Do not be that user.
H. Cost Optimization - download_media is a Trap
The endpoint supports download_media=true, which uploads the video to Scrape Creators' permanent Supabase storage and returns those URLs instead. This costs roughly 10x per request when media is found vs. the 1x baseline.
This Actor defaults to download_media=false because:
- Roughly 10x more expensive per result
- Break-even resale floor is roughly 10x higher
- The cost-efficient strategy is to leave it off and download from TikTok's CDN yourself
If a user explicitly opts into download_media=true, they should expect to pay a corresponding 10x premium. The Actor logs a prominent cost warning when this is enabled.
I. URL Lifecycle and Validity
The no-watermark URLs returned are signed CDN URLs with limited validity:
- Typically valid for 24-72 hours from extraction (TikTok varies this)
- URLs include cryptographic signatures. Modifying them breaks them.
- Cannot be "saved" indefinitely. They expire on TikTok's schedule.
- You should fetch the video promptly if you intend to keep it.
Do not build features that assume URLs are permanent. For permanent hosting, you would need to download the file yourself (storage costs to you) and host it (additional rights concerns).
J. Content Copyright - All Three Layers
Every TikTok video has THREE separate copyright layers:
- The creator's video (creator's copyright). The footage, performance, editing choices.
- The music (music rights holder's copyright). Separate from the video.
- The caption text (creator's copyright). Minor but distinct.
Even if you have permission from the creator for layer 1, layer 2 (music) is independently protected. TikTok has temporary licensing deals with music labels. When you extract the video, you carry NO such license.
This is why TikTok-content republication is so legally risky: you almost never have all three sets of rights cleared.
K. AI Training - Special Notice
If you intend to use extracted videos for AI training:
- TikTok's Terms explicitly prohibit AI training without authorization
- Creators retain copyright in their performances and footage
- Music rights holders are the most aggressive AI training litigators (Sony, UMG, Warner have all sued)
- Recent class actions (Andersen v. Stability AI, Getty v. Stability AI) demonstrate AI training on copyrighted media is legally contested
- The Publisher (UnseenUser) does NOT authorize, and has no ability to authorize, AI training use
Your AI training use is your own legal exposure. Get proper licensing or use synthetic / properly licensed datasets instead.
L. Minor Protection - Video Content Specific
TikTok has significant under-18 creator populations. When extracting videos:
- DO NOT extract videos featuring or created by users you know or suspect are minors
- DO NOT process video content depicting minors for ANY commercial purpose
- DELETE any extracted content you discover features minors unless you have valid parental consent
- Be especially alert to school-themed content, child performance videos, and videos with parental-control disclaimers
This restriction is non-negotiable. Minor data and likeness protection violations carry the highest regulatory penalties under COPPA, GDPR Article 8, Illinois BIPA (biometric likeness), and Israeli Privacy Law.
M. Deep-Fake and Non-Consensual Distribution
The no-watermark URL feature is particularly risky because it removes attribution that would normally accompany the video to:
- Deep-fake creation tools
- Non-consensual intimate image (NCII) redistribution
- Identity-fraud scenarios using face footage
DO NOT use this Actor to:
- Extract videos of identifiable individuals for deep-fake creation
- Extract videos to remove watermarks before non-consensual redistribution
- Extract videos for facial recognition training datasets
- Build "face dataset" pipelines targeting TikTok creators
Multiple jurisdictions now have specific deep-fake laws (UK Online Safety Act 2023, California, Texas, New York, Illinois). Your use of this Actor's output is your liability.
N. Storage Cost Avoidance - Why URL Extraction Wins
This Actor's commercial value proposition rests on you NOT hosting the video files:
- api-ninja and similar host the file: storage cost + bandwidth cost + DMCA exposure
- truefetch charges $250/1k partly to offset hosting cost
- This Actor: you get a URL, your app handles the rest
If you build a product on top of this Actor: strongly consider keeping the file-hosting burden on TikTok's CDN (linking) rather than your own infrastructure (downloading + hosting). This:
- Eliminates your storage and bandwidth cost
- Reduces your DMCA exposure
- Reduces your secondary liability for hosted infringing content
- Preserves the URL lifecycle limit as a natural data-minimization mechanism
O. Region Parameter - Proxy, Not Filter
The region parameter sets the proxy country (for example, PH for Philippines), useful for:
- Extracting videos that are geo-restricted in some countries
- Getting region-specific availability data
It does NOT:
- Filter results
- Bypass content restrictions intentionally placed by creators
- Authorize you to redistribute geo-restricted content outside its intended region
Use region for technical access, not for content-restriction bypass.
Document Version: 4.0 (anonymous Publisher, UnseenUser identified) Last Updated: May 5, 2026 Master ToS Version: 4.0