TNAFlix Video Downloader avatar

TNAFlix Video Downloader

Pricing

$9.00 / 1,000 video links

Go to Apify Store
TNAFlix Video Downloader

TNAFlix Video Downloader

Get direct MP4 links and source metadata from public TNAFlix video URLs or numeric video IDs. Export titles, descriptions, durations, thumbnails, format details, and expiry times in an Apify dataset.

Pricing

$9.00 / 1,000 video links

Rating

0.0

(0)

Developer

Maxime Dupré

Maxime Dupré

Maintained by Community

Actor stats

0

Bookmarked

89

Total users

1

Monthly active users

10 days ago

Last modified

Share

TNAFlix Downloader is for developers, researchers, media teams, and other users who already have public TNAFlix video URLs or numeric video IDs. It saves structured Apify dataset rows with the source video ID and URL, source metadata, and direct MP4 format links, so you can review, catalog, research, support media operations, moderate, or use known videos in an API workflow.

For a small first run, keep the prefilled sample targets and start the Actor. Once the output shape fits your workflow, paste your own list of public TNAFlix video URLs or IDs, run another batch, schedule the Actor, or call it through the Apify API.

📦 TNAFlix rows with direct MP4 formats

Each successful row represents one eligible public TNAFlix video where the source exposed at least one direct MP4 link. A row keeps the source video ID and watch-page URL, source metadata when available, and each MP4 format found on the page. Media URLs can be signed and time-limited, so check expiresAt before later use.

The Actor does not invent missing metadata. Descriptions keep the source meaning and turn HTML character references into readable text. The description is null when it is unavailable. Other nullable fields stay empty when TNAFlix does not expose them. A target with no public MP4 links is skipped without a placeholder row, while other submitted targets can still produce rows.

▶️ Resolve known TNAFlix targets

  1. Open the Actor input.
  2. Add one or more known public TNAFlix watch-page URLs or numeric video IDs.
  3. Start the Actor.
  4. Open the dataset and inspect the saved rows.
  5. Choose a mediaUrl under availableFormats and check expiresAt before using it later.

The Actor saves the first eligible occurrence of a source video as soon as it finds it. If another submitted URL or ID points to that same source video later, it is ignored and not merged into the saved row. Invalid, private, removed, blocked, unavailable, and no-media targets are skipped. Processing continues for other submitted targets.

Use this Actor for known public TNAFlix videos. It does not search TNAFlix, crawl categories or playlists, bypass private access, copy files into Apify storage, create ZIP archives, or install a browser extension. Use only content that you have the right to access and use.

⚙️ Input

Input fields

FieldTypeWhat it does
targetsarray of stringsAccepts 1 to 100 public TNAFlix watch-page URLs or numeric video IDs, with one target per row.
preferredQualitystringChooses a source quality, such as 720p. Leave it blank or use highest for the highest available quality. If your choice is missing, the Actor uses the highest available quality.

Example input

The example below is the public input from a successful current-beta default-input run.

{
"targets": [
"https://www.tnaflix.com/amateur-porn/Amateur-Ebony-BJ-and-Cum-in-Mouth-Eye-Contact-HD/video11530818",
"11477437",
"11192700",
"9496805",
"10121580"
],
"preferredQuality": "highest"
}

The form accepts up to 100 targets. It has no separate result-limit field to leave empty. The Actor checks all submitted targets until the list is exhausted. A target with no usable public MP4 link is skipped, and processing continues for the other targets.

🧾 Output

Every successful dataset row uses this shape. The results output opens the default dataset overview.

Dataset access

FieldTypeWhat it does
resultsstring (URL)Opens the successful TNAFlix video rows in the default dataset overview.

Video row fields

FieldTypeWhat it does
videoIdstringGives the stable TNAFlix video ID.
sourceUrlstring (URL)Gives the source-confirmed TNAFlix watch-page URL.
titlestring or nullGives the source video title when available.
descriptionstring or nullGives readable source video text with HTML character references decoded. It is null when unavailable.
durationSecondsinteger or nullGives the video duration in seconds when available.
thumbnailUrlstring (URL) or nullLinks to the source thumbnail or poster when available.
availableFormatsarray of objectsLists the MP4 formats exposed by the source page.
availableFormats[].qualitystring or nullGives the source quality label, such as 1080p, when known.
availableFormats[].widthinteger or nullGives the format width in pixels when known.
availableFormats[].heightinteger or nullGives the format height in pixels when known.
availableFormats[].contentTypestring or nullGives the media content type when known.
availableFormats[].mediaUrlstring (URL)Links directly to the source media for that format.
availableFormats[].expiresAtstring (date-time) or nullGives the expiry time for the media URL when the source provides it.

Example video row

This complete row is copied from the newest successful run of current beta build 1.0.13.

{
"videoId": "9496805",
"sourceUrl": "https://www.tnaflix.com/amateur-porn/Definitely-needs-some-work.-Fucking-an-ex-girlfriends-face./video9496805",
"title": "Definitely needs some work. Fucking an ex girlfriends face.",
"description": "Watch Big titted Blow job. Busty Girl Deep Throats Dick. on .com, the best hardcore porn site. is home to the widest selection of free BBW sex videos full of the hottest pornstars. If you're craving blowjob XXX movies you'll find them here.",
"durationSeconds": 714,
"thumbnailUrl": "https://cdnl.tnaflix.com/thumb/a16:9q80w920/222/94/96/9496805/10.jpg",
"availableFormats": [
{
"quality": "240p",
"width": 426,
"height": 240,
"contentType": "video/mp4",
"mediaUrl": "https://cdnl.tnaflix.com/222/94/96/9496805/definitely-needs-some-work-fucking-an-ex-girlfriends-face-240p.mp4?rs=118k&rb=1177k&secure=ZmDZwUI3357ybPsERHu-sA==,1791199947",
"expiresAt": "2026-10-05T11:32:27.000Z"
},
{
"quality": "1080p",
"width": 1920,
"height": 1080,
"contentType": "video/mp4",
"mediaUrl": "https://cdnl.tnaflix.com/222/94/96/9496805/definitely-needs-some-work-fucking-an-ex-girlfriends-face-1080p.mp4?rs=522k&rb=5233k&secure=o_zZBgVWO5Vo2qfqlKJRRQ==,1791199947",
"expiresAt": "2026-10-05T11:32:27.000Z"
},
{
"quality": "720p",
"width": 1280,
"height": 720,
"contentType": "video/mp4",
"mediaUrl": "https://cdnl.tnaflix.com/222/94/96/9496805/definitely-needs-some-work-fucking-an-ex-girlfriends-face-720p.mp4?rs=269k&rb=2698k&secure=Wi9gDEoP0dNV0ryUwVkjZQ==,1791199947",
"expiresAt": "2026-10-05T11:32:27.000Z"
},
{
"quality": "480p",
"width": 854,
"height": 480,
"contentType": "video/mp4",
"mediaUrl": "https://cdnl.tnaflix.com/222/94/96/9496805/definitely-needs-some-work-fucking-an-ex-girlfriends-face-480p.mp4?rs=118k&rb=1177k&secure=csV-f3kTnX3oJntTlVA2IA==,1791199947",
"expiresAt": "2026-10-05T11:32:27.000Z"
},
{
"quality": "360p",
"width": 640,
"height": 360,
"contentType": "video/mp4",
"mediaUrl": "https://cdnl.tnaflix.com/222/94/96/9496805/definitely-needs-some-work-fucking-an-ex-girlfriends-face-360p.mp4?rs=118k&rb=1177k&secure=hZ0IVt2SkyLV5F6jYdidzw==,1791199947",
"expiresAt": "2026-10-05T11:32:27.000Z"
},
{
"quality": "144p",
"width": 256,
"height": 144,
"contentType": "video/mp4",
"mediaUrl": "https://cdnl.tnaflix.com/222/94/96/9496805/definitely-needs-some-work-fucking-an-ex-girlfriends-face-144p.mp4?rs=118k&rb=1177k&secure=fuyZGdiYkfME6iZaCyNDGw==,1791199947",
"expiresAt": "2026-10-05T11:32:27.000Z"
}
]
}

Failed targets appear in the run log and do not become dataset rows. A target with no public MP4 links gets a warning, and processing continues for other submitted targets.

💳 Pricing

This Actor uses pay-per-event pricing. The Video link event costs $0.009 for each public video saved with source metadata and direct MP4 links.

Invalid, duplicate, private, removed, blocked, unavailable, and no-media targets do not create this event. Apify platform usage may also apply.

🔌 Integrations

Use the Apify API or Console to start runs and read the dataset. You can export rows as JSON, CSV, Excel, XML, RSS, or HTML, schedule repeat runs, or send completed runs to webhooks and supported integrations.

❓ FAQ

Can I mix TNAFlix URLs and numeric IDs?

Yes. Add public watch-page URLs and numeric video IDs in the same targets list.

What happens when two targets point to the same video?

The Actor saves the first eligible occurrence and ignores later URL or ID aliases for that source video. It does not merge later matches into the saved row.

No dataset row is saved for that target. It gets a warning, no placeholder row is added, and processing continues for other submitted targets.

Does each row include every MP4 format found?

The availableFormats array lists the MP4 formats exposed by the public source page, with quality, dimensions, content type, direct media URL, and expiry time when available.

Do direct media URLs expire?

Some source links are signed or time-limited. Check expiresAt when it is present and run the same target again when you need fresh links.

Can it search TNAFlix by keyword?

No. Add a known public TNAFlix watch-page URL or numeric video ID. The Actor does not search TNAFlix or crawl categories, profiles, or playlists.

Does it save MP4 files to Apify storage?

No. It returns direct source MP4 links and metadata. It does not copy video files or create ZIP archives in Apify storage.

Why are some metadata fields null?

Some source pages do not show every field. The Actor keeps unavailable title, description, duration, thumbnail, or format details empty instead of guessing.

📝 Changelog

v2.0 (05-10-2026)

  • Video rows no longer include fetchedAt. Use availableFormats[].expiresAt to check when a source link expires.
  • Choose a video quality to place it first in availableFormats. All source MP4 formats stay in the row.
  • Runs with only unsupported targets now end with the video count, review link, and feature request or bug report link.
  • Each skipped target gets a warning that names it and says processing continues.
  • Video descriptions now show readable text with HTML character references decoded.

v1.0

  • Returns fresh direct MP4 links only. It has a simpler input form and no Apify-hosted file or ZIP output.

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 🫡

Made with ❤️ by Maxime Dupré