Pornhub Scraper avatar

Pornhub Scraper

Pricing

from $4.00 / 1,000 results

Go to Apify Store
Pornhub Scraper

Pornhub Scraper

[๐Ÿ’ฐ $4.00 / 1K] Extract public Pornhub video data โ€” title, duration, views, rating, votes, tags, categories, pornstars, channel, thumbnail, and upload date. Scrape by keyword search or paste video, search, channel, model, pornstar, and category URLs. Optional direct media/download links.

Pricing

from $4.00 / 1,000 results

Rating

0.0

(0)

Developer

SolidCode

SolidCode

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Share

Pull public video data from Pornhub at scale โ€” titles, durations, view counts, up-votes, upload dates, categories, tags, pornstar lists, channel details, thumbnails, and optional HD stream links โ€” from search keywords or any video, channel, model, pornstar, or category page. Built for media researchers, content analysts, and data teams who need structured adult-video metadata in bulk without collecting it page by page.

Why This Scraper?

  • 6 input URL types in one actor โ€” individual video, search results, channel, model, pornstar, and category pages all flow into a single clean dataset, no per-type setup.
  • Keyword search built in โ€” type a performer name or topic and the actor runs the search for you; no need to hand-craft a search URL.
  • 5 sort orders โ€” Most Relevant, Most Recent, Most Viewed, Top Rated, and Longest, applied across every search and listing page.
  • 20+ structured fields per video โ€” including arrays for categories, tags, and pornstar lists, plus production type, channel name and URL, view count, and up-votes.
  • Related-video expansion, capped per source โ€” optionally pull the suggested videos from each video page as extra flat rows, with a per-video cap so your result count stays predictable.
  • HD stream links at 4 qualities โ€” opt in for direct media links: 1080p, 720p, 480p, and 240p streams plus MP4 links for download workflows.
  • One flat row per video โ€” every result is a single record (no nested child arrays), so search results, channel catalogs, and related videos all land in the same table ready to filter and export.
  • ISO-8601 dates and clean arrays โ€” upload dates are normalized and empty placeholder values are stripped, so you never get junk sentinels like "No" in your pornstar or category fields.

Use Cases

Market & Trend Research

  • Track which categories and tags trend across Most Viewed and Top Rated listings
  • Compare view counts and up-votes across a topic to gauge audience demand
  • Surface the longest or most-recent uploads for a search term
  • Build view-count time series by re-running a saved search on a schedule

Content Cataloging

  • Pull a channel, model, or pornstar's full back catalog into a single sheet
  • Index videos by category and tag for a searchable internal library
  • Capture thumbnails and embed URLs for content management systems
  • Map production type (professional vs. homemade) across a creator's output

Competitive & Creator Analysis

  • Benchmark a creator's upload cadence and engagement against peers
  • Compare category mix and tagging strategies between channels
  • Monitor a pornstar page for new releases and rising view counts
  • Analyze which tags correlate with the highest view counts in a niche

Dataset Building

  • Assemble a labeled video-metadata dataset for media or recommendation research
  • Collect related-video graphs to study suggestion patterns
  • Export view, vote, and duration distributions for statistical analysis
  • Feed structured rows into dashboards and BI tools

Compliance & Moderation Research

  • Compile public metadata for content-policy and moderation studies
  • Track category and tag prevalence for safety research
  • Build reference sets of public listings for academic or legal review

Getting Started

The simplest run โ€” one keyword, default of 100 videos:

{
"searchQueries": ["massage"]
}

Sorted Multi-URL Run

Collect from several pages and order them by most viewed:

{
"startUrls": [
"https://www.pornhub.com/model/example-model/videos",
"https://www.pornhub.com/categories/example-category"
],
"sortBy": "mv",
"maxResults": 200
}

Full Configuration

Search and listing pages with related videos and direct media links enabled:

{
"searchQueries": ["amateur"],
"startUrls": [
"https://www.pornhub.com/view_video.php?viewkey=ph0000000000000"
],
"sortBy": "tr",
"maxResults": 500,
"includeRelatedVideos": true,
"maxRelatedPerVideo": 10,
"includeDownloadUrls": true
}

Input Reference

What to Scrape

ParameterTypeDefaultDescription
startUrlsstring[][]Pornhub URLs to collect. Works with video, search results, channel, model, pornstar, user, and category pages. The actor auto-detects each URL type.
searchQueriesstring[][]Keywords to search on Pornhub (for example a performer name or a topic). Each query runs its own search and the matching videos are collected.

Options

ParameterTypeDefaultDescription
maxResultsinteger100The most videos to collect in total across all URLs and searches. Set to 0 for no limit (up to a safety ceiling of 100,000).
sortByselectMost RelevantOrder for search and listing pages: Most Relevant, Most Recent, Most Viewed, Top Rated, or Longest.
includeRelatedVideosbooleanfalseAlso collect the related videos suggested on each video page, added as extra rows. Use the cap below to control how many.
maxRelatedPerVideointeger10When related videos is on, the most related videos to keep for each source video. Keeps your result count predictable.
includeDownloadUrlsbooleanfalseInclude direct media links (streaming and download URLs) for each video. Useful for download workflows.

Output

Every result is one flat row with recordType: "video". Here's a representative result with download links enabled:

{
"recordType": "video",
"videoId": "1234567890",
"viewKey": "ph0000000000000",
"url": "https://www.pornhub.com/view_video.php?viewkey=ph0000000000000",
"embedUrl": "https://www.pornhub.com/embed/ph0000000000000",
"title": "Relaxing Full Body Massage Session",
"duration": 676,
"durationFormatted": "11:16",
"views": 480121,
"upVotes": 3120,
"uploadDate": "2026-05-26",
"categories": ["Massage", "Amateur"],
"tags": ["relaxing", "oil", "full body"],
"pornstars": ["Jane Example"],
"productionType": "homemade",
"channelName": "Example Studio",
"channelUrl": "https://www.pornhub.com/channels/example-studio",
"thumbnailUrl": "https://di.phncdn.com/videos/example/thumb.jpg",
"previewUrl": "https://dl.phncdn.com/videos/example/preview.webm",
"masterM3u8Url": "https://ev.phncdn.com/hls/videos/example/master.m3u8",
"bestM3u8Url": "https://ev.phncdn.com/hls/videos/example/index-v1-a1.m3u8",
"downloadUrls": [
{ "quality": "1080", "format": "hls", "videoUrl": "https://ev.phncdn.com/hls/videos/example/index-1080.m3u8" },
{ "quality": "720", "format": "hls", "videoUrl": "https://ev.phncdn.com/hls/videos/example/index-720.m3u8" }
],
"sourceUrl": "https://www.pornhub.com/video/search?search=massage",
"scrapedAt": "2026-06-10T14:30:00+00:00"
}

Core Fields

FieldTypeDescription
recordTypestringAlways "video"
videoIdstringNumeric video identifier
viewKeystringPornhub viewkey token for the video
urlstringCanonical video URL
embedUrlstringEmbeddable player URL
titlestringVideo title
sourceUrlstringThe input URL or search query that produced this row
scrapedAtstringISO-8601 timestamp of when the row was collected

Engagement & Timing

FieldTypeDescription
durationintegerLength in seconds
durationFormattedstringLength as H:MM:SS or M:SS
viewsintegerView count
upVotesintegerNumber of up-votes
uploadDatestringISO-8601 upload/publish date

Taxonomy & Channel

FieldTypeDescription
categoriesstring[]Category labels
tagsstring[]Tag labels
pornstarsstring[]Listed performers
productionTypestringprofessional or homemade when known
channelNamestringUploader / channel name
channelUrlstringUploader / channel URL
thumbnailUrlstringPrimary thumbnail URL
previewUrlstringAnimated hover-preview clip URL (when available)

Populated only when includeDownloadUrls is on.

FieldTypeDescription
masterM3u8UrlstringMaster playlist URL covering all available stream qualities
bestM3u8UrlstringHighest-quality stream URL
downloadUrlsobject[]Stream and download links as { quality, format, videoUrl }

Empty fields are stripped from each row, so a video with no listed performers simply omits pornstars rather than returning an empty value.

Tips for Best Results

  • Start small to test. Set maxResults to 10โ€“20 on your first run to confirm the data matches your needs, then scale up.
  • Use a model or pornstar URL to pull a full catalog. A creator's /videos page returns their entire back catalog, bounded only by maxResults โ€” the fastest way to snapshot everything one creator has published.
  • Pick the sort that matches your goal. Use Most Viewed or Top Rated for trend research, Most Recent to monitor new uploads, and Longest to surface full-length content.
  • Fetch media links promptly. When includeDownloadUrls is on, the stream and download URLs are time-limited and tied to the network that requested them โ€” use them right after the run rather than saving them for later.
  • Keep related videos capped. Turning on includeRelatedVideos adds extra rows per source video; leave maxRelatedPerVideo modest (5โ€“10) so your total result count stays predictable.
  • Mix URLs and keywords in one run. Combine startUrls and searchQueries in a single invocation โ€” they share the global maxResults budget and land in the same dataset.
  • Set maxResults to 0 for everything. When you want a creator's or category's complete listing, use 0 (capped at a 100,000 safety ceiling) instead of guessing a number.
  • Plan very large pulls in batches. Results are collected page by page, so a single run gathers as many videos as fit within its time limit. For very large catalogs, raise the run's time limit in the run options, or split the work across several runs (for example by sorting or by separate searches) and merge the datasets afterward.

Pricing

From $4.00 per 1,000 results โ€” a flat per-result rate that undercuts comparable Pornhub data tools. Bronze, Silver, and Gold subscribers pay progressively less; the table below shows the total cost at each discount tier.

ResultsNo discountBronzeSilverGold
100$0.48$0.45$0.43$0.40
1,000$4.80$4.50$4.30$4.00
10,000$48.00$45.00$43.00$40.00
100,000$480.00$450.00$430.00$400.00

A "result" is any video row in the output dataset, including related videos when that option is on. No compute or time-based charges โ€” you pay per result, plus a small fixed per-run start fee.

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 collects only publicly available video metadata and is intended for legitimate research, content cataloging, and analytics. It is for adults aged 18 or older. Users are responsible for complying with applicable laws, local regulations, and Pornhub's Terms of Service, and for using collected data only for their own lawful, compliant purposes. Do not use extracted data for spam, harassment, or any illegal purpose, and respect the rights and privacy of the people depicted.