Pornhub Downloader avatar

Pornhub Downloader

Pricing

$4.45 / 1,000 scraped videos

Go to Apify Store
Pornhub Downloader

Pornhub Downloader

Download public Pornhub video data from video URLs, listing URLs, or search terms. Export metadata, engagement, tags, channel details, thumbnails, and source-visible HLS links.

Pricing

$4.45 / 1,000 scraped videos

Rating

0.0

(0)

Developer

Maxime Dupré

Maxime Dupré

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

🎬 Pornhub downloader for public video data

Pornhub Downloader collects public Pornhub video data from direct video URLs, listing URLs, search pages, or plain search terms. Use this Pornhub downloader when you need repeatable exports for content review, research, cataloging, moderation support, media operations, or an API workflow.

For a quick first run, add one Pornhub video URL or search term, keep Maximum discovery videos at 25, and start the Actor. The run saves one row per accepted public video with the source view key, title, description, duration, upload date, thumbnail, engagement, tags, categories, performers, channel details, discovery context, and source-visible media links when Pornhub exposes them.

✅ What this Actor does

  • Accepts public Pornhub video URLs.
  • Accepts Pornhub listing URLs and search result pages.
  • Accepts plain search terms and discovers matching public videos.
  • Lets you filter discovered videos by production type and duration.
  • Saves one dataset row per accepted public video.
  • Returns video metadata, engagement, taxonomy, channel details, thumbnails, and media variants when available.
  • Pushes accepted rows during the run so you can inspect early results before a larger job finishes.
  • Skips duplicate or unsupported targets instead of filling your export with failure rows.

This Actor is built for public Pornhub pages. It does not use a Pornhub account, cookies, Premium access, private content, or a browser extension.

📦 Data you can export

Each saved video can include:

  • viewKey - Pornhub's source-native video identifier.
  • title, description, durationSeconds, uploadDate, and thumbnailUrl.
  • engagement.views, engagement.upvotes, engagement.downvotes, engagement.likePercent, and engagement.favorites.
  • taxonomy.categories, taxonomy.tags, taxonomy.performers, and taxonomy.production.
  • channel.name, channel.url, channel.videoCount, and channel.subscriberCount.
  • media.masterPlaylistUrl and media.variants with quality, dimensions, content type, and media URL when the source exposes playable links.
  • discovery context, including the search term, listing or search URL, and result rank when the video came from discovery.

You can open the dataset in Apify, export it as JSON, CSV, Excel, XML, RSS, or HTML, call it from the Apify API, schedule recurring runs, or connect the results to webhooks and integrations.

🚀 How to run

  1. Add one target per row in Pornhub targets.
  2. Use direct video URLs when you already know the exact videos.
  3. Use listing URLs, search URLs, or plain search terms when you want discovery.
  4. Set Maximum discovery videos to cap search and listing output.
  5. Choose optional production and duration filters for discovery targets.
  6. Start the Actor and open the dataset.

Example targets:

https://www.pornhub.com/view_video.php?viewkey=ph5f1b2c3d4e5f6
https://www.pornhub.com/video/search?search=example
example search term

🔧 Input options

FieldWhat to enter
targetsOne Pornhub video URL, listing URL, search URL, or plain search term per row.
maxItemsMaximum videos to collect from search terms and listing URLs. Default is 25; maximum is 5000.
productionDiscovery filter for all videos, professional videos, or homemade videos.
minDurationOptional minimum duration filter for discovery targets.
maxDurationOptional maximum duration filter for discovery targets.

Direct video URLs are resolved as individual videos. Discovery targets use Maximum discovery videos so run size and spend stay predictable.

📤 Output example

{
"viewKey": "ph5f1b2c3d4e5f6",
"title": "Example video title",
"description": "Source video description when available.",
"durationSeconds": 742,
"uploadDate": "2026-06-01",
"thumbnailUrl": "https://ei.phncdn.com/videos/202606/01/123456/original/(m=eaAaGwObaaaa)(mh=example).jpg",
"engagement": {
"views": 1234567,
"upvotes": 12345,
"downvotes": 321,
"likePercent": 97,
"favorites": 4567
},
"taxonomy": {
"categories": ["Category"],
"tags": ["tag"],
"performers": ["Performer Name"],
"production": "professional"
},
"channel": {
"name": "Channel Name",
"url": "https://www.pornhub.com/channels/channel-name",
"videoCount": 120,
"subscriberCount": 456789
},
"media": {
"masterPlaylistUrl": "https://example.com/master.m3u8",
"variants": [
{
"quality": "720p",
"width": 1280,
"height": 720,
"contentType": "application/vnd.apple.mpegurl",
"mediaUrl": "https://example.com/720p.m3u8"
}
]
},
"discovery": {
"query": "example search term",
"listingUrl": "https://www.pornhub.com/video/search?search=example+search+term",
"rank": 1
}
}

💳 Pricing

This Actor uses pay-per-event pricing. You are charged $0.00445 for each accepted public video saved by the Actor, which is $4.45 per 1,000 accepted videos.

Targets that do not produce an accepted video, such as invalid, duplicate, unsupported, unavailable, or no-result targets, do not create scraped-video events. Use Maximum discovery videos to keep test runs small and cap larger discovery jobs.

⚠️ Limits and caveats

The Actor works with public Pornhub pages and the data Pornhub exposes for those pages at run time. Some videos may have missing descriptions, engagement counts, channel facts, taxonomy values, thumbnails, or media variants. In those cases, the Actor saves the available data and leaves unavailable values empty.

Source-visible media URLs can depend on Pornhub availability and playback rules after your run. If a downstream tool needs fresh links, rerun the Actor for the same target.

Discovery targets stop when the Actor reaches Maximum discovery videos or when Pornhub stops returning matching public videos for the submitted listing, search page, or search term.

❓ FAQ

Can I use search terms instead of Pornhub URLs?

Yes. Add one plain search term per row in Pornhub targets. The Actor converts it into Pornhub search discovery and saves matching public videos up to Maximum discovery videos.

Does this Actor download hosted video files?

No. It exports public video metadata and source-visible media links. It does not copy files into Apify storage or create ZIP archives.

Does it need cookies, login, or a Pornhub account?

No. The normal workflow is for public pages and does not require Pornhub cookies, login, a browser extension, or a source API key.

Why did a target return no videos?

The target may be invalid, unsupported, duplicated, unavailable, restricted, temporarily empty, or not exposing accepted public videos during the run. The Actor continues with the next target and keeps the dataset focused on successful video results.

📝 Changelog

  • 0.1: Initial release.

🆘 Support

For issues, questions, or feature requests, file a ticket and I'll fix or implement it in less than 24h 🫡

🔗 Other actors

Made with ❤️ by Maxime Dupré