Powerful PornHub API for Node.js


Keywords
node.js, pornhub, pornhub-api, hubtraffic, webmaster, api, hacktoberfest, nodejs, porn, pornhub-scraper
License
MIT
Install
npm install pornhub.js@1.11.0

Documentation

PornHub.js

logo

npm License

Powerful PornHub API for Node.js

Features

  • Parser: Parse pages for Video, Album, Photo, PornStar and Model
  • Search: Search for Video, Album, Gif, PornStar and Model, support all the query parameters
  • Pagination: Support pagination for search results
  • WebMaster: Utilize the WebMaster API from Hubtraffic like a king 😎

Documents

Getting Started

Requirements

  • Node.js >= 14

Installation

npm install pornhub.js --save
pnpm install pornhub.js --save
yarn add pornhub.js

Usage

import { PornHub } from 'pornhub.js'

// const { PornHub } = require('pornhub.js')
const pornhub = new PornHub()

Search Video

const result = pornhub.searchVideo('tokyo hot')
console.log(result.data[0]) // first video
Result
{
  "title": "Japanese Tokyo Hot",
  "url": "https://www.pornhub.com/view_video.php?viewkey=***",
  "views": "14M",
  "duration": "14:24",
  "hd": true,
  "premium": false,
  "freePremium": false,
  "preview": "https://ci.phncdn.com/videos/***.jpg"
}

Getting Video Information

const url = 'https://www.pornhub.com/view_video.php?viewkey=ph5ac81eabe203d'
const video = await pornhub.video(url)
console.log(video)
Result
{
  "title": "Japanese Tokyo Hot",
  "views": 49517,
  "duration": 1922,
  "durationFormatted": "32:02",
  "vote": { "up": 64, "down": 14, "total": 78, "rating": 0.82 },
  "premium": false,
  "thumb": "data:image/gif...",
  "provider": { "username": "wowgirls", "url": "/users/wowgirls" },
  "tags": ["hardcore", "hentai", "memes"],
  "categories": ["HD-Porn", "SFW"],
  "pornstars": ["pig"],
  "mediaDefinitions": [
    {
      "defaultQuality": true,
      "format": "hls",
      "quality": 720,
      "videoUrl": "https://cv.phncdn.com/videos/.../720P_1500K_.m3u8?validfrom=...&validto=...&rate=...&burst=...&ip=...&ipa=...&hash=..."
    },
    {
      "defaultQuality": false,
      "format": "hls",
      "quality": [1080, 720, 480, 240],
      "videoUrl": "https://cv.phncdn.com/videos/.../480P_600K_.m3u8?validfrom=...&validto=...&rate=...&burst=...&ip=...&ipa=...&hash=..."
    },
    {
      "defaultQuality": false,
      "format": "hls",
      "quality": 240,
      "videoUrl": "https://cv.phncdn.com/videos/.../240P_400K_.m3u8?validfrom=...&validto=...&rate=...&burst=...&ip=...&ipa=...&hash=...",
      "remote": true
    }
  ]
}

More

See DOCUMENT for more information.

Notice

  • Please note that video downloading is no longer supported. We are unable to provide a download link due to the changes made by PornHub. Instead, the raw mediaDefinitions are provided. You can try to download videos via the m3u8 information in mediaDefinitions or use alternative tools such as yt-dlp. But that would be out of the scope of this project.

License

MIT