MrScraper PDP

Apify Actor that unblocks and extracts structured data from detail pages — products, articles, hotels, job postings, and more.

The MrScraper PDP Actor unblocks pages and scrapes detail pages from any website. It's stealth, reliable, and scalable — you give it a list of URLs and a content category, and it returns structured fields for each page.

"PDP" stands for product detail page, but the Actor handles many kinds of single-item pages, not just products.

What It Does

The Actor fetches each URL through MrScraper's unblocking engine, then extracts structured data according to the category you select. Supported categories:

  • article
  • post
  • hotel
  • job posting
  • product
  • property
  • restaurant
  • social media profile
  • tour/attraction

When to Use It

  • Extracting product name, price, images, and specifications from ecommerce item pages.
  • Pulling article titles, authors, and body text from news or blog posts.
  • Collecting hotel, restaurant, or attraction details for travel data.
  • Gathering job posting fields from careers pages.
  • Building a structured dataset from a list of URLs you already have — for example, URLs produced by the Listing Actor.

Need the URLs first?

Run the MrScraper Listing Actor over a category or search page to collect item URLs, then feed those URLs into this Actor for the full detail of each item.

Input

ParameterTypeRequiredDefaultDescription
urlsarrayYesList of detail page URLs to scrape. Each entry is an object with a url field.
categorystringYesThe type of page being scraped. Determines which fields are extracted. See the list above.
browser_rendering_enabledbooleanNofalseEnable browser rendering for JavaScript-heavy pages.
browser_rendering_listen_networkbooleanNofalseCapture network requests made during page loading.
browser_rendering_wait_for_selectorstringNo""CSS selector to wait for before extraction.
proxy_use_proxybooleanNotrueRoute requests through residential and mobile IPs.
proxy_proxy_countrystringNo""Country code for geo-targeted proxy routing.
proxy_bypass_proxybooleanNotrueBlock images, fonts, and stylesheets to speed up the run.
output_htmlbooleanNofalseInclude the raw HTML in the output.
output_markdownbooleanNofalseInclude a Markdown version of the page in the output.

Example input

{
  "urls": [
    {
      "url": "https://www.ebay.com/itm/236604718789"
    }
  ],
  "category": "product",
  "browser_rendering_enabled": false,
  "browser_rendering_listen_network": false,
  "browser_rendering_wait_for_selector": "",
  "proxy_use_proxy": true,
  "proxy_proxy_country": "",
  "proxy_bypass_proxy": true,
  "output_html": false,
  "output_markdown": false
}

Output

Each scraped page is pushed to the Apify dataset as one item. The extracted fields depend on the category you selected — a product page returns price and images, while an article page returns author and body content.

{
  "url": "https://example.com/product/123",
  "category": "product",
  "title": "Product Name",
  "description": "Product description...",
  "price": "$99.99",
  "images": ["https://example.com/image1.jpg"],
  "html": "<!-- raw HTML (if enabled) -->",
  "markdown": "<!-- markdown version (if enabled) -->"
}

The html field appears only when output_html is true, and markdown only when output_markdown is true.

Usage

Add your URLs and category

Paste the detail page URLs into the urls field, then pick the category that matches the page type. Getting the category right matters — it determines which fields the extractor looks for.

Adjust proxy and rendering options

Leave the defaults for most sites. If the page returns empty or partial data, enable browser_rendering_enabled and set browser_rendering_wait_for_selector to an element that appears once the content has loaded.

Run and export

Click Start, then export the dataset as JSON, CSV, or XLSX from the Dataset tab.

Run via the API

curl -X POST "https://api.apify.com/v2/acts/mrscrapercom~mrscraper-pdp/run-sync-get-dataset-items?token=<APIFY_API_TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{
    "urls": [
      { "url": "https://www.ebay.com/itm/236604718789" }
    ],
    "category": "product"
  }'

Pricing

Pay-per-event, starting from $3.00 per 1,000 standard requests. Additional charges apply for browser rendering, network listening, run time (per 30-second interval), bandwidth, and AI token usage. Apify Store discounts apply based on your subscription tier.

Keep runs lean

Browser rendering, network listening, and the output_html / output_markdown options all add cost — rendering and listening as separate events, and the output options through bandwidth. Enable them only when you need them.

On this page