Product Category Scraper
The Product Category scraper type generates scrapers that extract product listings from category and browse pages. This includes the category information, subcategories, product listings, applied filters, and pagination data.
When to Use
Use the Product Category Page scraper type when your target URLs are category or browse pages — pages that display a curated list of products within a specific category or department.
Example URLs:
https://www.amazon.com/b?node=565108(Amazon "Books" category)https://www.walmart.com/browse/electronics/3944(Walmart "Electronics" category)https://www.target.com/c/headphones-audio-electronics/-/N-5xtb0https://www.ebay.com/b/Cell-Phones/9355/bn_320094
Category pages display products organized by a specific department or category, often with subcategories and curated filters. Search pages display results for a user-entered search query. If the URL contains a search query parameter (e.g., ?q=, ?k=, ?searchTerm=), use the Product Search scraper type instead.
Data Schema
The Product Category scraper extracts the following fields:
Category Information
| Field | Type | Description |
|---|---|---|
categoryName | string | The name of the product category |
categoryUrl | string | The absolute URL of the category page |
categoryId | string | Unique identifier for the category (e.g., browse node ID) |
description | string | Category description or promotional text |
bannerImage | string | Category banner or header image URL |
Breadcrumbs
| Field | Type | Description |
|---|---|---|
breadcrumbs | array | Navigation breadcrumb trail showing category hierarchy |
breadcrumbs[].name | string | Breadcrumb item name |
breadcrumbs[].url | string | Breadcrumb item URL |
Subcategories
| Field | Type | Description |
|---|---|---|
subcategories | array | List of subcategories within this category |
subcategories[].name | string | Subcategory name |
subcategories[].url | string | Subcategory URL |
subcategories[].productCount | number | Number of products in this subcategory |
Products
Each product in the products array contains:
| Field | Type | Description |
|---|---|---|
name | string | Product name/title |
url | string | Product detail page URL |
productId | string | Unique product identifier (e.g., ASIN, SKU) |
price | number | Product price |
currency | string | Currency code (e.g., USD, GBP) |
preDiscountPrice | number | Original price if product is on sale |
image | string | Primary product image URL |
rating | number | Product rating (e.g., 4.5 out of 5) |
reviewCount | number | Total number of reviews |
availability | string | Availability status: in_stock, out_of_stock, pre_order, or limited_stock |
brand | string | Product brand name |
isPrime | boolean | Whether product has Prime shipping (Amazon specific) |
isSponsored | boolean | Whether product is a sponsored/ad listing |
Filters
| Field | Type | Description |
|---|---|---|
appliedFilters | array | Currently applied filters on the category page |
appliedFilters[].filterName | string | Name of the applied filter |
appliedFilters[].filterValue | string | Value of the applied filter |
Pagination
| Field | Type | Description |
|---|---|---|
pagination.currentPage | number | Current page number |
pagination.totalPages | number | Total number of pages |
pagination.totalResults | number | Total number of products in category |
pagination.resultsPerPage | number | Number of products per page |
pagination.nextPageUrl | string | URL to the next page |
pagination.prevPageUrl | string | URL to the previous page |
Example JSON Output
{
"categoryName": "Headphones",
"categoryUrl": "https://www.amazon.com/b?node=12097479011",
"categoryId": "12097479011",
"description": "Shop headphones from top brands including Sony, Bose, Apple, and more.",
"bannerImage": "https://m.media-amazon.com/images/G/01/Electronics/CategoryPages/Headphones_Banner.jpg",
"breadcrumbs": [
{
"name": "Electronics",
"url": "https://www.amazon.com/electronics/b?node=172282"
},
{
"name": "Audio",
"url": "https://www.amazon.com/audio/b?node=172541"
},
{
"name": "Headphones",
"url": "https://www.amazon.com/b?node=12097479011"
}
],
"subcategories": [
{
"name": "Over-Ear Headphones",
"url": "https://www.amazon.com/b?node=12097480011",
"productCount": 2500
},
{
"name": "In-Ear Headphones",
"url": "https://www.amazon.com/b?node=12097481011",
"productCount": 4200
},
{
"name": "On-Ear Headphones",
"url": "https://www.amazon.com/b?node=12097482011",
"productCount": 1800
}
],
"products": [
{
"name": "Sony WH-1000XM5 Wireless Noise Canceling Headphones",
"url": "https://www.amazon.com/dp/B0BX2L8PCS",
"productId": "B0BX2L8PCS",
"price": 328.00,
"currency": "USD",
"preDiscountPrice": 399.99,
"image": "https://m.media-amazon.com/images/I/51aXvjzcukL._AC_UL320_.jpg",
"rating": 4.6,
"reviewCount": 12543,
"availability": "in_stock",
"brand": "Sony",
"isPrime": true,
"isSponsored": false
},
{
"name": "Bose QuietComfort Ultra Wireless Headphones",
"url": "https://www.amazon.com/dp/B0CCZ1L489",
"productId": "B0CCZ1L489",
"price": 349.00,
"currency": "USD",
"preDiscountPrice": 429.00,
"image": "https://m.media-amazon.com/images/I/51JbsHSktkL._AC_UL320_.jpg",
"rating": 4.4,
"reviewCount": 8921,
"availability": "in_stock",
"brand": "Bose",
"isPrime": true,
"isSponsored": false
}
],
"appliedFilters": [
{
"filterName": "Brand",
"filterValue": "Sony"
}
],
"pagination": {
"currentPage": 1,
"totalPages": 15,
"totalResults": 356,
"resultsPerPage": 24,
"nextPageUrl": "https://www.amazon.com/b?node=12097479011&page=2",
"prevPageUrl": null
}
}
Usage Tips
- Distinguish from search pages — Category pages are organized by department/category hierarchy, while search pages are driven by search queries. Use the correct scraper type for best results.
- Subcategory navigation — The scraper extracts subcategory links, which you can use to programmatically crawl deeper into the category hierarchy
- Filter awareness — The
appliedFiltersfield tells you which filters are active on the current page, useful for tracking filtered vs. unfiltered results - Country geotargeting — Set the country to match your target market for localized category listings, prices, and availability
- Not all fields on every site — Some fields (e.g.,
isPrime,bannerImage,subcategories) may return empty depending on the website