MrScraper Listing
Apify Actor that extracts structured data from listing and category pages with AI, including pagination across multiple pages.
The MrScraper Listing Actor unblocks pages and scrapes listing pages from any website. It uses AI-powered extraction, so instead of writing selectors you describe what you want in a prompt and the Actor returns structured data for every item on the page.
What It Does
Point the Actor at a listing URL — a category page, search results, a product grid, a job board, a directory — and it extracts every item it finds. Set max_pages above 1 and it follows pagination automatically.
The prompt field controls what gets extracted. The default asks for everything available, but a specific prompt gives you cleaner, more predictable output.
When to Use It
- Ecommerce: Product names, prices, ratings, and links from category or search pages.
- Job boards: Titles, companies, locations, and posting URLs across paginated results.
- Real estate: Property listings with prices, addresses, and specifications.
- News aggregation: Headlines, summaries, and article links from index pages.
- Business directories: Company names, contact details, and profile URLs.
- Research: Any dataset that lives behind a paginated list.
Two-step pattern
The Listing Actor is often the first half of a pipeline: use it to collect item URLs from a category page, then feed those URLs into the MrScraper PDP Actor to get the full detail of each item.
Input
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
url | string | Yes | — | The listing or category page URL to scrape. |
prompt | string | No | "Extract all available data as much as possible." | Natural-language instructions telling the AI what to extract. |
max_pages | integer | No | 1 | How many paginated pages to process. |
proxy_use_proxy | boolean | No | true | Route requests through residential and mobile IPs. |
proxy_proxy_country | string | No | "" | Country code for accessing geo-restricted listings. |
proxy_bypass_proxy | boolean | No | true | Block images and fonts to speed up the run. |
output_html | boolean | No | false | Include the raw HTML in the output. |
output_markdown | boolean | No | false | Include a Markdown version of the page in the output. |
One URL per run
Unlike the PDP and Unblocker Actors, this Actor takes a single url, not an array. To process several listing pages, start one run per URL.
Example input
{
"url": "https://www.walmart.com/shop/tech/tvs-and-home-theater-new-arrivals?povid=XCAT_NewArrivals_MerchModule_Tech_tvsandhometheatre",
"prompt": "Extract all available data as much as possible.",
"max_pages": 1,
"proxy_use_proxy": true,
"proxy_proxy_country": "",
"proxy_bypass_proxy": true,
"output_html": false,
"output_markdown": false
}Writing a good prompt
The default prompt extracts everything the AI can find, which is useful for exploring a page but noisy for production. Naming the fields you want produces a tighter schema:
{
"url": "https://example.com/laptops",
"prompt": "Extract product name, current price, original price, rating, review count, and the product URL for each laptop.",
"max_pages": 5
}Output
The Actor writes a result field to the Apify dataset as a single row. It contains the MrScraper API response with the extracted structured data in JSON format.
Usage
Open the Actor
Go to apify.com/mrscrapercom/mrscraper-listing and click Try for free.
Set the URL and prompt
Paste the listing page URL, then write a prompt describing the fields you want. Be specific — the prompt is what shapes the output.
Choose how many pages to scrape
Set max_pages to the number of paginated pages you want. Start with 1 to check the output shape before scaling up.
Run and export
Click Start, then export the dataset from the Dataset tab or fetch it through the Apify API.
Run via the API
curl -X POST "https://api.apify.com/v2/acts/mrscrapercom~mrscraper-listing/run-sync-get-dataset-items?token=<APIFY_API_TOKEN>" \
-H "Content-Type: application/json" \
-d '{
"url": "https://www.walmart.com/shop/tech/tvs-and-home-theater-new-arrivals",
"prompt": "Extract product name, price, and rating for each item.",
"max_pages": 1
}'Pricing
Pay-per-event, starting from $100.00 per 1,000 standard requests. Charges break down as:
standard-request: Per URL processed.time-based-cost: Per 30-second interval of run time.bandwidth-cost: Per MB transferred.ai-token-cost: Based on AI token consumption.
Test before scaling
This Actor costs substantially more per request than PDP or Unblocker because each run performs AI extraction across a full page of items. Run once with max_pages: 1 to confirm your prompt returns what you expect, then raise max_pages.