Xvideos Video Downloader
Pricing
from $2.50 / 1,000 results
Xvideos Video Downloader
[๐ฐ $2.5 / 1K] Download videos from Xvideos. Paste video links, pornstar, channel, or playlist pages, or a search term and get one row per video with direct media links, details, and optional file downloads.
Pricing
from $2.50 / 1,000 results
Rating
0.0
(0)
Developer
SolidCode
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Turn any Xvideos link into clean, structured data โ one row per video with the direct MP4 and HLS links, title, duration, view count, upload date, tags, uploader, and thumbnail, plus an optional one-click save of the actual video file into your run's storage. Paste a single video, a whole pornstar or channel page, a playlist, or just a keyword โ all in the same run. Built for content archivists, media researchers, and library builders who need Xvideos videos in bulk, structured and download-ready, without copying watch pages one at a time.
Why This Scraper?
- Five source types plus keyword search, mixed in one run โ feed it direct video links, pornstar/model pages, channel pages, user profiles, and playlists, or run a site-wide keyword search, and combine all of them in a single job. No separate runs, no manual URL collection.
- Whole catalogs from one link โ paste a single pornstar or channel page and it automatically walks the listing and pulls every video, capped by your per-source and total limits so a prolific model can't blow past your budget.
- Both MP4 and HLS on every video โ each row carries the direct 240p and 360p MP4 links plus the HLS master playlist and up to four HLS quality renditions (250p, 360p, 480p, 720p), so you can pick the format your workflow needs.
- Full per-video metadata, not just a link โ exact duration in seconds, precise view count, upload date, tag list, uploader name, channel URL, and thumbnail come stamped on every row, pulled from the page's own structured data rather than guessed.
- Optional real-file archiving โ flip one toggle and the actual MP4 is saved into your run's storage with a ready-to-use
downloadUrl, which matters because Xvideos media links are token-signed and expire in a few hours. Very large files (over ~230 MB) are left as direct links rather than saved, so runs stay fast and reliable. - A ready-to-read expiry on every media link โ each row includes
mediaExpiresAt, the exact moment the signed links stop working, so your automation knows precisely how long it has to download. - Source tracking on every row โ a
sourceTypefield records whether each video came from a direct link, pornstar, channel, playlist, or search, so mixed runs stay attributable and easy to split downstream. - Two hard caps for predictable cost โ a global
maxResultscap bounds the whole run, and a separate per-source cap (default 50) lets you sample large pornstar or channel catalogs without pulling thousands of videos.
Use Cases
Content Archiving & Backup
- Snapshot a pornstar's or channel's full catalog before it changes or disappears
- Save both the direct media links and the actual MP4 files in one pass
- Rebuild a personal collection from a list of video links
- Keep a rolling backup of specific playlists on a schedule
Research & Trend Analysis
- Study upload patterns across models by duration, views, and upload date
- Build a keyword-based dataset of videos with tags and view counts for trend work
- Compare view counts and tags across a set of channels
- Sample search results for a term to gauge catalog size and popularity
Media Library Building
- Turn pornstar, channel, and playlist links into a structured spreadsheet of every video
- Attach uploader, tags, duration, and thumbnail to each video for search and filtering
- Index videos by stable video ID and source type
- Feed clean per-video rows into a media asset manager
Creator & Automation Tools
- Pipe new video rows straight into Google Sheets or a database
- Trigger downstream workflows whenever a channel publishes new videos
- Power an internal dashboard from the JSON output
- Schedule recurring pulls of a watchlist of models, channels, or search terms
Getting Started
Download a Single Video
The simplest run โ just one video link:
{"startUrls": ["https://www.xvideos.com/video.abc123/example"]}
Keyword Search With Caps
Search Xvideos for a term and keep the run small and predictable:
{"searchQuery": "sunset beach","maxResults": 200,"maxVideosPerSource": 100}
Multi-Source Run With File Downloads
Mix a pornstar page, a channel, and a playlist, save the real files, and cap the total:
{"startUrls": ["https://www.xvideos.com/pornstars/example-model","https://www.xvideos.com/channels/example-channel","https://www.xvideos.com/favorite/12345/my-playlist"],"searchQuery": "highlights","downloadFiles": true,"maxResults": 500,"maxVideosPerSource": 50}
Input Reference
What to Download
| Parameter | Type | Default | Description |
|---|---|---|---|
startUrls | string[] | ["https://www.xvideos.com/video.abc123/example"] | One or more Xvideos links. A single video link resolves to one row; a pornstar/model page, channel page, user profile, or playlist link automatically collects every video on it. Mix different link types freely. |
searchQuery | string | (empty) | Optional keyword search across Xvideos. Matching videos are collected. Use it on its own or alongside the links above. |
Output Options
| Parameter | Type | Default | Description |
|---|---|---|---|
downloadFiles | boolean | false | When on, the real video files are saved to this run's storage and each row gets a ready-to-use download link โ handy because Xvideos media links expire quickly. Very large videos (over ~230 MB) are skipped for download but keep their direct links. When off, you get the direct media links and full details only, which is faster and cheaper. |
Limits
| Parameter | Type | Default | Description |
|---|---|---|---|
maxResults | integer | 100 | The most videos to collect in total, across every link and search. Each video is one result. Lower this to keep runs small and predictable. |
maxVideosPerSource | integer | 50 | For pornstar, channel, playlist, and search sources: the most videos to pull from a single one. Ignored for direct video links. |
Output
Each row is one video, carrying its metadata, direct media links, and โ when enabled โ a saved-file download link. Here's a representative row with file download turned on:
{"videoId": "98765432","sourceUrl": "https://www.xvideos.com/video.abc123/example","title": "Sunset beach highlights","uploader": "example-model","channelUrl": "https://www.xvideos.com/pornstars/example-model","durationSeconds": 2669,"views": 1840233,"tags": ["beach", "sunset", "travel"],"uploadDate": "2024-06-18","thumbnailUrl": "https://cdn.xvideos-cdn.com/videos/thumbs/example.jpg","availableFormats": [{ "quality": "240p", "width": 426, "height": 240, "contentType": "video/mp4", "mediaUrl": "https://.../video_low.mp4?secure=...", "expiresAt": 1719800000 },{ "quality": "360p", "width": 640, "height": 360, "contentType": "video/mp4", "mediaUrl": "https://.../video_high.mp4?secure=...", "expiresAt": 1719800000 },{ "quality": "720p", "width": 1280, "height": 720, "contentType": "application/x-mpegURL", "mediaUrl": "https://.../hls-720p.m3u8", "expiresAt": 1719800000 }],"mp4Low": "https://.../video_low.mp4?secure=...","mp4High": "https://.../video_high.mp4?secure=...","hlsUrl": "https://.../hls.m3u8","hlsRenditions": [{ "resolution": "1280x720", "name": "720p", "width": 1280, "height": 720, "url": "https://.../hls-720p.m3u8" }],"mediaExpiresAt": 1719800000,"downloadUrl": "https://api.apify.com/v2/key-value-stores/abc/records/98765432.mp4","kvStoreKey": "98765432.mp4","sourceType": "pornstar","fetchedAt": "2026-07-04T12:00:00+00:00","status": "ok","error": null}
Core Fields
| Field | Type | Description |
|---|---|---|
videoId | string | Xvideos video ID for the row (its exact form can vary by source type) |
sourceUrl | string | The video's watch-page URL โ the same across sources, so the best key for deduplicating a video collected more than one way |
title | string | Video title |
uploader | string | Uploader / model / channel display name |
channelUrl | string | Uploader or channel page URL when available |
durationSeconds | number | Exact video length in seconds |
views | number | Precise view count |
tags | string[] | Tags / keywords listed on the video |
uploadDate | string | Publish date when shown |
thumbnailUrl | string | Poster / thumbnail image URL |
sourceType | string | How the row was found: video, pornstar, channel, playlist, or search |
fetchedAt | string | ISO timestamp of when the media links were resolved |
Media Links
| Field | Type | Description |
|---|---|---|
mp4Low | string | Direct 240p MP4 link |
mp4High | string | Direct 360p MP4 link |
hlsUrl | string | HLS master playlist link |
hlsRenditions | array | Per-quality HLS variants โ each with resolution, name, width, height, and url |
availableFormats | array | Every media variant in one list โ each with quality, width, height, contentType, mediaUrl, and expiresAt |
mediaExpiresAt | number | Unix timestamp when the signed media links stop working |
Download & Status Fields
| Field | Type | Description |
|---|---|---|
downloadUrl | string | Direct link to the saved file โ present only when file download is on |
kvStoreKey | string | Storage key of the saved file โ present only when file download is on |
status | string | ok when the video resolved, or failed when the page couldn't be loaded |
error | string | Short reason when status is failed |
Tips for Best Results
- Start with one video โ run a single video link first to confirm the output shape matches what you need, then scale up to pornstar pages, channels, playlists, and search.
- Download promptly, because links expire โ Xvideos media links are signed and stop working within a few hours; check
mediaExpiresAton each row, or turn on file download so the actual MP4 is saved into storage before the link goes stale. Very large videos (over ~230 MB) aren't saved as files โ those rows still carry their direct links, so grab them frommp4High/hlsUrlright away. - Use the per-source cap to sample big catalogs โ set
maxVideosPerSourcelow to grab a representative slice of a prolific model or channel without pulling their entire library. - Set
maxResultsto bound cost โ it counts individual videos, so a run capped at 200 stops at exactly 200 videos no matter how large the source pages are. - Leave file download off unless you need the actual files โ direct media links plus full metadata cover most workflows and finish faster; turn download on only when you want the files saved in storage.
- Combine sources in one run โ video links, pornstar and channel pages, playlists, and a search keyword can all go into the same job; results stream into one dataset with
sourceTypeon every row. - Prefer HLS renditions for higher quality โ the single-file MP4 links top out at 360p; for 480p or 720p, use the entries in
hlsRenditionsoravailableFormats.
Pricing
From $2.50 per 1,000 results โ a flat pay-per-result rate, with real file downloads included at no surcharge. Bronze, Silver, and Gold subscribers pay progressively less; the table below shows total cost at each discount tier.
| Results | No discount | Bronze | Silver | Gold |
|---|---|---|---|---|
| 100 | $0.30 | $0.28 | $0.265 | $0.25 |
| 1,000 | $3.00 | $2.80 | $2.65 | $2.50 |
| 10,000 | $30.00 | $28.00 | $26.50 | $25.00 |
| 100,000 | $300.00 | $280.00 | $265.00 | $250.00 |
A "result" is one collected video โ each resolved video is a single result. No compute or time-based charges โ you pay per result, plus a small fixed per-run start fee. Turning on file download saves the actual files at the same per-result price, with no extra charge.
Integrations
Export data in JSON, CSV, Excel, XML, or RSS. Connect to 1,500+ apps via:
- Zapier / Make / n8n โ Workflow automation
- Google Sheets โ Direct spreadsheet export
- Slack / Email โ Notifications on new results
- Webhooks โ Trigger custom APIs on run completion
- Apify API โ Full programmatic access
Legal & Ethical Use
This actor is intended for lawful use such as personal backup, archiving of content you have the right to save, and legitimate research. Xvideos hosts adult content, so use is strictly limited to adults (18+) in jurisdictions where such material is legal. Respect copyright and the rights of the performers and creators whose videos you collect โ collect only content that is publicly available and that you are permitted to access, and use it for personal or otherwise authorized purposes only. You are responsible for complying with all applicable laws, with Xvideos' Terms of Service, and with the rights and privacy of any person depicted. Do not redistribute, misrepresent, or otherwise use downloaded content in ways that infringe those rights or any law, and do not use the data for harassment or any unlawful purpose. You alone are responsible for how you use the content you collect.