Xvideos Video Downloader avatar

Xvideos Video Downloader

Pricing

from $2.50 / 1,000 results

Go to Apify Store
Xvideos Video Downloader

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

SolidCode

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

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 sourceType field 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 maxResults cap 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

ParameterTypeDefaultDescription
startUrlsstring[]["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.
searchQuerystring(empty)Optional keyword search across Xvideos. Matching videos are collected. Use it on its own or alongside the links above.

Output Options

ParameterTypeDefaultDescription
downloadFilesbooleanfalseWhen 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

ParameterTypeDefaultDescription
maxResultsinteger100The most videos to collect in total, across every link and search. Each video is one result. Lower this to keep runs small and predictable.
maxVideosPerSourceinteger50For 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

FieldTypeDescription
videoIdstringXvideos video ID for the row (its exact form can vary by source type)
sourceUrlstringThe video's watch-page URL โ€” the same across sources, so the best key for deduplicating a video collected more than one way
titlestringVideo title
uploaderstringUploader / model / channel display name
channelUrlstringUploader or channel page URL when available
durationSecondsnumberExact video length in seconds
viewsnumberPrecise view count
tagsstring[]Tags / keywords listed on the video
uploadDatestringPublish date when shown
thumbnailUrlstringPoster / thumbnail image URL
sourceTypestringHow the row was found: video, pornstar, channel, playlist, or search
fetchedAtstringISO timestamp of when the media links were resolved
FieldTypeDescription
mp4LowstringDirect 240p MP4 link
mp4HighstringDirect 360p MP4 link
hlsUrlstringHLS master playlist link
hlsRenditionsarrayPer-quality HLS variants โ€” each with resolution, name, width, height, and url
availableFormatsarrayEvery media variant in one list โ€” each with quality, width, height, contentType, mediaUrl, and expiresAt
mediaExpiresAtnumberUnix timestamp when the signed media links stop working

Download & Status Fields

FieldTypeDescription
downloadUrlstringDirect link to the saved file โ€” present only when file download is on
kvStoreKeystringStorage key of the saved file โ€” present only when file download is on
statusstringok when the video resolved, or failed when the page couldn't be loaded
errorstringShort 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 mediaExpiresAt on 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 from mp4High/hlsUrl right away.
  • Use the per-source cap to sample big catalogs โ€” set maxVideosPerSource low to grab a representative slice of a prolific model or channel without pulling their entire library.
  • Set maxResults to 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 sourceType on 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 hlsRenditions or availableFormats.

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.

ResultsNo discountBronzeSilverGold
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

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.