node package manager


Access programmatically


Access xvideos (WARNING: NSFW) programmatically with Node.JS.

This module scrapes the HTML of and gives you information you can use in your node programs!

var xv = require("xvideos");
xv.details("", function(err, details) {
  console.log(err, details);

Available via npm:

$ npm install xvideos

Or via git:

$ git clone git:// node_modules/xvideos

The xvideos package exports a single documented function right now, details.


Gets details about a specific video.

xv.details(uri, cb);
// get details about a video 
xv.details("", function(err, details) {
  console.log(err, details);


  • uri - a full url to an xvideos video page
  • cb - a callback to be called in the normal node way with an error (or null) and the video details


Performs a search and returns the results. parameters is an object that is used to construct the query string for the search URL. Available parameters are: k (the actual search string), sort (relevance, uploaddate, rating), datef ("date filter"), (all, today, week, month), durf ("duration filter"), (allduration, 1-3min, 3-10min, 10min_more), and p, which is the page number., cb);
// get details about a video{k: "porn"}, function(err, results) {
  console.log(err, results);


  • parameters - an object containing parameters for the query string (see above for details about its properties)
  • cb - a callback to be called in the normal node way with an error (or null) and the search results

Also see example.js.

#!/usr/bin/env node
var xv = require("xvideos");
// get details about a video 
xv.details("", function(err, details) {
  console.log(err, details);

Output (example):

null { title: 'Stranded busty sweetie decides to have sex with a stranger in public for money',
  duration: '5 min',
   [ 'amateur',
     'public' ],
  flv: '' }

3-clause BSD. A copy is included with the source.