TXXX Video Downloader
Pricing
from $1.90 / 1,000 resolved videos
TXXX Video Downloader
Resolve public txxx.com watch-page URLs or numeric TXXX video IDs into dataset rows. Export direct source-hosted media links plus source titles, durations, thumbnails, tags, and expiry hints when available.
Pricing
from $1.90 / 1,000 resolved videos
Rating
0.0
(0)
Developer
Maxime Dupré
Maintained by CommunityActor stats
0
Bookmarked
13
Total users
0
Monthly active users
15 days ago
Last modified
Categories
Share
📥 TXXX downloader for public video URLs and IDs
TXXX Downloader helps developers, researchers, and media teams who already have public TXXX video targets. It turns supported public txxx.com watch-page URLs or numeric video IDs into Apify dataset rows with stable IDs, source URLs, metadata, tags, and direct source-hosted media links.
Use this TXXX video downloader for content review, cataloging, media operations, research, archiving workflows, or an API pipeline. Each successful row keeps the source link and lists the source media variants and expiry details when available.
- Use TXXX Video ID Downloader to resolve a known numeric TXXX video ID.
- Use TXXX Video URL Scraper to resolve a known public TXXX watch-page URL.
- Use TXXX Media Link Extractor to collect direct source-hosted links for a known video.
- Use TXXX Video Metadata Extractor to collect titles, durations, thumbnails, and tags for known videos.
- Use TXXX Video Scraper to turn a list of known public videos into dataset rows.
📦 Direct media links and TXXX video data
Each saved row represents one public TXXX video with at least one direct source-hosted media link. It includes a stable video ID, a source-confirmed watch URL, source metadata when available, tags, and the available media formats.
Repeated URL or ID representations are matched by video ID. The first eligible occurrence is saved, and later matches are ignored. The saved row describes only that first match.
Direct media links stay at the source and can be signed or time-limited. Check availableFormats[].expiresAt when it is present, and run the same target again when you need a fresh link. The Actor does not invent missing quality labels, dimensions, or metadata.
Only successful rows are emitted. Invalid, unsupported, private, removed, blocked, unresolved, or no-media targets are reported in the run log instead of creating placeholder rows.
This Actor is focused on known public TXXX videos. It does not search TXXX, crawl categories, process profiles, bypass private access, copy files into Apify storage, create ZIP archives, transcode media, or install a browser extension.
🚀 Resolve known TXXX video targets
- Open the Actor input.
- Add one or more public
txxx.comwatch-page URLs or numeric video IDs in TXXX videos. - Start the Actor.
- Open the dataset.
- Use
availableFormats[].mediaUrlfor a direct source-hosted media link, and checkexpiresAtwhen it is present.
The Actor saves the first eligible occurrence of each source video as it is found and ignores later copies. The public input accepts up to 100 targets per run.
Limits and access
This Actor works with public TXXX videos that can be reached without logging in. It does not use your TXXX account, cookies, browser session, browser extension, or source API keys.
Some media URLs can expire after they are fetched. If a direct link stops working later, rerun the Actor for the same source URL or video ID to get fresh source links.
Use the Actor only for content you have the right to access, process, or download. The Actor returns source-hosted links; it does not copy videos into Apify storage.
⚙️ Input
Input fields
| Field | Type | What it does |
|---|---|---|
targets | array of strings | Required. Adds 1 to 100 public txxx.com watch-page URLs or numeric TXXX video IDs. Other hosts, including txxx.me, are rejected and reported in the run log, so they do not create dataset rows. |
Example input
The example below is the public input from a successful current-beta default-input run.
{"targets": ["https://txxx.com/videos/21661387/horny-adult-video-gags-crazy/","21661387"]}
Use a supported txxx.com page or a numeric ID for each target. If a host is unsupported, the run log reports it and no dataset row is created for that target.
🧾 Output
The output panel provides a results link to the default dataset. Each successful dataset row has the fields below.
Output fields
| Field | Type | What it does |
|---|---|---|
results | string | Opens the default dataset overview with the saved video rows. |
videoId | string | Identifies the source video for matching and reruns. |
sourceUrl | string | Gives the source-confirmed TXXX watch-page URL. |
title | string or null | Gives the video title when TXXX provides it. |
description | string or null | Gives the video description when TXXX provides it. |
durationSeconds | integer or null | Gives the video length in seconds when available. |
thumbnailUrl | string or null | Links to the source thumbnail or poster when available. |
tags | array of strings | Lists source-provided tags or categories when available. |
availableFormats | array of objects | Lists the direct source-hosted media variants found for the video. |
availableFormats[].quality | string or null | Gives the source quality or resolution label when known. |
availableFormats[].width | integer or null | Gives the media width in pixels when known. |
availableFormats[].height | integer or null | Gives the media height in pixels when known. |
availableFormats[].contentType | string or null | Gives the media content type when known. |
availableFormats[].mediaUrl | string | Links directly to the source media for this format. |
availableFormats[].expiresAt | string or null | Gives the parsed expiry time when the source exposes or implies one. |
Example video row
This complete row is copied from a successful current-beta run. The source media URL may expire after the run.
{"videoId": "21661387","sourceUrl": "https://txxx.com/videos/21661387/horny-adult-video-gags-crazy/","title": "Horny Adult Video Gags Crazy","description": null,"durationSeconds": 479,"thumbnailUrl": "https://tn.txxx.tube/contents/videos_screenshots/21661000/21661387/288x162/1.jpg","tags": ["Fetish","HD","Latex","Humiliation","Handcuffs","Shibari Bondage","Gagging","Bondage","Hogtied","leather","Blindfolded","rubber","pvc","gagged (bit or ball)","handcuffed"],"availableFormats": [{"quality": "220kbps","width": 1280,"height": 720,"contentType": "video/mp4","mediaUrl": "https://ip396430037.ahcdn.com/key=vohql+tMstH+iwLswmLfyA,s=,end=1789076139,limit=3/data=HLaPxA/state=aqHRF14g/buffer=623000/speed=5100000/referer=none,.txxx.com,.gstatic.com/reftag=063878343/download2=/ssd3/121/0/492752620/tx/c7/videos/21661000/21661387/21661387_hq.mp4","expiresAt": "2026-09-09T21:35:39.000Z"}]}
This keeps exports focused on successfully resolved videos. Failed or rejected targets are reported in the run log instead of becoming dataset rows.
💳 Pricing
This Actor uses pay-per-event pricing. You are charged one Resolved video event only for each public TXXX video saved to the dataset with at least one direct media link.
Failed, invalid, duplicate, private, removed, blocked, unresolved, or no-media targets do not create paid video events.
🔌 Integrations
Use the Apify API to start runs and read the dataset. You can also export the dataset in common formats, schedule runs, or connect it to downstream workflows.
❓ FAQ
Does this TXXX downloader save MP4 files?
No. The Actor returns direct source-hosted media links and metadata in the dataset. It does not mirror files, create ZIP archives, or store video copies.
Does it need TXXX cookies or an account?
No. It is built for public, reachable TXXX videos and does not ask for cookies, account sessions, source API keys, or extension accounts.
Can I choose a preferred quality?
The Actor returns all source-exposed variants it can validate. Choose the media link you want from availableFormats in the dataset.
Why are some targets skipped?
Targets can be skipped when they are invalid, duplicate, private, removed, blocked by the source, unresolved, or have no source-exposed media link. Skipped targets are reported in logs instead of being saved as failure rows.
Can I use the results through an API?
Yes. The output is an Apify dataset, so you can fetch it through the Apify API, export it in common formats, schedule runs, or connect it to downstream workflows.
📝 Changelog
v0.1
- Initial release.
🆘 Support
For issues, questions, or feature requests, file a ticket and I'll fix or implement it in less than 24h 🫡
🔗 Related Actors
- XVideos Downloader ↗ - Resolve public XVideos watch-page URLs into direct MP4/HLS links and metadata.
- Upornia Downloader ↗ - Extract direct MP4 links, metadata, tags, and expiry hints from public Upornia video URLs.
- PornTrex Downloader ↗ - Export direct source-hosted MP4 links and metadata from public PornTrex watch pages.
- Motherless Downloader ↗ - Resolve public Motherless video URLs or IDs into direct MP4 links and metadata.
- SpankBang Video Downloader ↗ - Extract direct media links, quality variants, thumbnails, tags, and expiry hints from public SpankBang URLs.
Made with ❤️ by Maxime Dupré