B&H Product Scraper avatar

B&H Product Scraper

Pricing

from $5.00 / 1,000 b&h product scrapeds

Go to Apify Store
B&H Product Scraper

B&H Product Scraper

๐Ÿ“Š Scrape structured product intelligence from B&H Photo Video including pricing, specifications, availability, images, and reviews. ๐Ÿ”— Supports both category URLs and product URLs. Built for accuracy, analytics, and automation workflows.

Pricing

from $5.00 / 1,000 b&h product scrapeds

Rating

0.0

(0)

Developer

Krazee

Krazee

Maintained by Community

Actor stats

0

Bookmarked

11

Total users

2

Monthly active users

6.9 hours

Issues response

2 hours ago

Last modified

Share

๐Ÿ“ธ B&H Product Scraper

Scrape complete product intelligence from B&H Photo & Video in a single run.
Collect pricing, availability, images, reviews, warranty, and key commercial signals from product or category URLs, all cleanly structured and ready for analysis, dashboards, and automation.

๐Ÿ“š Table of Contents


๐Ÿงพ What This Actor Does

You provide:

  • One or more B&H product URLs
  • Or category URLs, where the actor automatically discovers and processes individual products
  • Optional limits for the number of products and reviews to collect

The actor returns:

  • One normalized dataset item per product
  • Stable identifiers such as SKU, item codes, and canonical URLs
  • Pricing, availability, media, reviews, warranty, and SEO signals
  • A schema built for commercial and analytical use cases, not raw page scraping

๐Ÿง  This actor mirrors how B&H internally represents products, resulting in data that is unusually clean, complete, and trustworthy.


๐Ÿ“ฆ What Data You Get

Each dataset item represents one fully normalized product.

CategoryWhatโ€™s Included
๐Ÿ†” Product Identitysku
bhId
name
shortDescription
itemCode
manufacturerCatalogNumber
upc
๐Ÿท BrandbrandName
๐Ÿ’ฐ Pricing & Promotionsprice
currencyPrice
strikethroughPrice
hasDiscount
hasSavings
instantSavingsAmount
instantSavingsPercent
๐Ÿ›’ Commercial RulessoldInKitOnly
callForPrice
mapItem
hasSessionPricing
๐Ÿ“ฆ Inventory & AvailabilitystockAvailability
stockStatus
stockMessage
stockImportance
stockShipTime
maxSellQuantity
minSellQuantity
sellsInMultipleOf
๐Ÿ“ Physical & Packaging SpecsitemWeight
weightUnit
itemLength
itemWidth
itemHeight
dimensionUnit
packageWeight
packageLength
packageWidth
packageHeight
๐Ÿ“ฆ Box ContentsincludedItems[]
๐Ÿ–ผ Images & MediamainImageUrl
imageUrls[]
imageCount
hasImages
hasSecondaryImages
hasVideos
has3DImages
โญ Reviews & Reputationrating
reviewCount
hasReviews
๐Ÿ›ก Warranty & ProtectionhasManufacturerWarranty
manufacturerWarrantyPeriod
hasProtectionPlans
protectionPlanCount
lowestProtectionPlanPrice
hasWarranty
๐Ÿ—‚ Category Contextcategory1
category2
category3
๐Ÿ” SEO & URLsproductUrl
canonicalUrl
shortUrl
pageTitle
seoShortDescription
๐Ÿงพ Technical Specificationsspecifications (fully grouped spec object from product specs page)
๐Ÿง‘โ€๐Ÿ’ป MetadatascrapedAt
rawPayloadVersion

๐Ÿ’ก All fields are normalized, nullable, and safe for analytics pipelines.


๐Ÿ‘ฅ Who This Actor Is For

This actor is built for teams that care about how products are positioned, priced, merchandised, and stocked, not just listed.

It captures:

  • Commercial pricing behavior
  • Availability pressure
  • Spec richness
  • Media completeness
  • Warranty depth

Rather than static attributes alone.


๐Ÿ“Š Data & Analytics Teams

Useful for:

  • ๐Ÿ’ฐ Price and savings tracking
  • ๐Ÿ“‰ MAP enforcement monitoring
  • ๐Ÿ“ฆ Stock volatility analysis
  • โญ Rating vs review maturity modeling
  • ๐Ÿงฎ Category-level aggregation

Key fields:

price, instantSavingsPercent, stockStatus, rating, reviewCount, category1, category2


๐Ÿ”ฅ Use Cases

๐Ÿ’ฐ Pricing & Discount Intelligence

Track price shifts, instant savings, strikethrough logic, and promotional depth across categories.

๐Ÿ›’ Commercial Strategy Analysis

Understand how products are gated (MAP, call-for-price, kit-only restrictions).

๐Ÿ“ฆ Inventory Pressure Monitoring

Detect:

  • In-stock vs soft out-of-stock messaging
  • Quantity caps
  • Shipping timing signals

๐Ÿ“Š Market & Category Research

Analyze behavior differences across:

  • Categories
  • Brands
  • Price bands
  • Warranty depth

โญ Reputation & Product Maturity Signals

Correlate:

  • Rating
  • Review volume
  • Media richness
  • Warranty presence

To identify strong vs weak product positioning.

๐Ÿงฉ Dashboards, Alerts & Automation

Feed clean normalized data into:

  • BI dashboards
  • Internal tooling
  • Price monitoring systems
  • Competitive intelligence pipelines
  • Catalog enrichment workflows

๐Ÿง  Why This Dataset Is Different

Unlike raw scraped HTML or unstructured API dumps, this dataset:

  • Flattens nested API structures
  • Normalizes commercial signals
  • Extracts structured physical dimensions
  • Groups technical specs cleanly
  • Preserves warranty hierarchy
  • Maintains nullable-safe analytics fields

Itโ€™s designed for production-grade analytics, not just scraping.


โšก Quick Start

  • Provide one or more B&H product or category URLs

  • Set optional limits

  • Run the actor

Category URLs automatically expand into individual product pages.


โฌ‡๏ธ Input Format

InputDescription
categoryUrlsProduct (/browse/) or category (/buy/) URLs
productsLimitMax products per category URL
includeReviewsInclude customer reviews and ratings
reviewsLimitReviews per product (default: 100)

๐Ÿ’ก Disabling reviews skips review requests and speeds up execution.


๐Ÿงช Example Input

Here is a sample JSON input you can provide when running the scraper:

{
"includeReviews": false,
"categoryUrls": [
"https://www.bhphotovideo.com/c/browse/Lighting-Studio/ci/1161/N/4294551176"
"https://www.bhphotovideo.com/c/buy/light-panels/ci/48383",
],
"productsLimit": 20
}

๐Ÿ“ฅ Example output (JSON):

{
"sku": 1667228,
"itemSource": "REG",
"name": null,
"shortDescription": "Sigma 18-50mm f/2.8 DC DN Contemporary Lens for Sony E",
"upc": null,
"brandName": "Sigma",
"brandAuthorizedDealer": true,
"brandUrl": "/c/browse/Sigma/ci/5545/N/4232860402",
"itemCode": "SI185028DCEM",
"manufacturerCatalogNumber": "585965",
"productUrl": "/c/product/1667228-REG/sigma_18_50mm_f_2_8_dg_dn.html",
"shortUrl": "https://bhpho.to/3vhUahU",
"pageTitle": "Sigma 18-50mm f/2.8 DC DN Contemporary Lens for Sony E 585965",
"canonicalUrl": "https://www.bhphotovideo.com/c/product/1667228-REG/sigma_18_50mm_f_2_8_dg_dn.html",
"seoShortDescription": "Sigma 18-50mm f/2.8 DC DN Contemporary",
"price": 555,
"currencyPrice": null,
"strikethroughPrice": null,
"soldInKitOnly": false,
"callForPrice": false,
"mapItem": false,
"hasSessionPricing": false,
"hasDiscount": false,
"hasSavings": false,
"instantSavingsAmount": null,
"instantSavingsPercent": null,
"instantSavingsEndDate": null,
"taxNote": null,
"stockStatus": "IN_STOCK",
"stockImportance": "LOW",
"stockMessage": "Temporarily Out of Stock",
"stockShipTime": null,
"shipsAlone": false,
"freeShipping": false,
"maxSellQuantity": 20,
"minSellQuantity": 1,
"sellsInMultipleOf": 1,
"rating": 5,
"reviewCount": 247,
"hasReviews": true,
"isHighlyRated": true,
"mainImageUrl": "https://static.bhphoto.com/images/images345x345/1634631630_1667228.jpg",
"images": [
{
"url": "https://static.bhphoto.com/images/images345x345/1634631630_1667228.jpg",
"width": 345,
"height": 345,
"type": "main",
"isMain": true,
"note": null
},
{
"url": "https://www.bhphotovideo.com/images/images500x500/sigma_18_50mm_f_2_8_dg_dn_1634631630_1667228.jpg",
"width": 500,
"height": 500,
"type": "gallery",
"isMain": false,
"note": null
},
{
"url": "https://static.bhphoto.com/images/multiple_images/images500x500/1634631378_IMG_1623592.jpg",
"width": 500,
"height": 500,
"type": "gallery",
"isMain": false,
"note": null
},
{
"url": "https://static.bhphoto.com/images/multiple_images/images500x500/1634631378_IMG_1623593.jpg",
"width": 500,
"height": 500,
"type": "gallery",
"isMain": false,
"note": null
},
{
"url": "https://static.bhphoto.com/images/multiple_images/images500x500/1634631378_IMG_1623602.jpg",
"width": 500,
"height": 500,
"type": "gallery",
"isMain": false,
"note": null
},
{
"url": "https://static.bhphoto.com/images/multiple_images/images500x500/1634631378_IMG_1623603.jpg",
"width": 500,
"height": 500,
"type": "gallery",
"isMain": false,
"note": "Sample Photo"
},
{
"url": "https://static.bhphoto.com/images/multiple_images/images500x500/1634631378_IMG_1623604.jpg",
"width": 500,
"height": 500,
"type": "gallery",
"isMain": false,
"note": "Sample Photo"
},
{
"url": "https://static.bhphoto.com/images/multiple_images/images500x500/1634631378_IMG_1623605.jpg",
"width": 500,
"height": 500,
"type": "gallery",
"isMain": false,
"note": "Sample Photo"
},
{
"url": "https://static.bhphoto.com/images/multiple_images/images500x500/1634631378_IMG_1623606.jpg",
"width": 500,
"height": 500,
"type": "gallery",
"isMain": false,
"note": "Sample Photo"
}
],
"imageCount": 9,
"hasImages": true,
"hasSecondaryImages": true,
"hasVideos": true,
"has3DImages": true,
"isUsed": false,
"isRefurbished": false,
"isOpenBox": false,
"isNewArrival": false,
"isNewRelease": false,
"isExclusive": false,
"conditionLabel": null,
"hasManufacturerWarranty": true,
"manufacturerWarrantyPeriod": "Year",
"hasProtectionPlans": true,
"protectionPlanCount": 3,
"lowestProtectionPlanPrice": 71.99,
"hasWarranty": true,
"sellingPoints": [
"E-Mount Lens/APS-C Format",
"27-75mm (35mm Equivalent)",
"Aperture Range: f/2.8 to f/22",
"Minimum Focusing Distance: 4.8\"",
"Three Aspherical Elements",
"Special Low Dispersion Element",
"Rounded 7-Blade Diaphragm",
"Dust- and Splash-Proof Design",
"Includes LH582-02 Lens Hood"
],
"categoryExperts": [
{
"profileTitle": "Rafael D., B&H Photo Expert",
"imageUrl": "https://static.bhphotovideo.com/explora/sites/default/files/exp/rafael-d.png",
"categoryName": "Photography"
},
{
"profileTitle": "Vilson L., B&H Photo Expert",
"imageUrl": "https://static.bhphotovideo.com/explora/sites/default/files/exp/vilson-l.png",
"categoryName": "Photography"
},
{
"profileTitle": "Leonard E., B&H Photo Expert",
"imageUrl": "https://static.bhphotovideo.com/explora/sites/default/files/exp/leonard-e.png",
"categoryName": "Photography"
},
{
"profileTitle": "Marisa P., B&H Photo Expert",
"imageUrl": "https://static.bhphotovideo.com/explora/sites/default/files/exp/marisa-p.png",
"categoryName": "Photography"
},
{
"profileTitle": "Gerry R., B&H Photo Expert",
"imageUrl": "https://static.bhphotovideo.com/explora/sites/default/files/exp/gerry-r.png",
"categoryName": "Photography"
},
{
"profileTitle": "Boyd H., B&H Photo Expert",
"imageUrl": "https://static.bhphotovideo.com/explora/sites/default/files/exp/boyd-h.png",
"categoryName": "Photography"
},
{
"profileTitle": "Gil R., B&H Expert",
"imageUrl": "https://static.bhphotovideo.com/explora/sites/default/files/exp/gil-r.png",
"categoryName": "Photography"
},
{
"profileTitle": "Jeannette G., B&H Photo Expert",
"imageUrl": "https://static.bhphotovideo.com/explora/sites/default/files/exp/jeannette_g.png",
"categoryName": "Photography"
},
{
"profileTitle": "Jamie P., B&H Photo Expert",
"imageUrl": "https://static.bhphotovideo.com/explora/sites/default/files/exp/jamie_p.png",
"categoryName": "Photography"
},
{
"profileTitle": "Patrick D., B&H Photo Expert",
"imageUrl": "https://static.bhphotovideo.com/explora/sites/default/files/exp/patrick_d_1.png",
"categoryName": "Photography"
}
],
"scrapedAt": "2026-01-19T09:10:01.322537",
"rawPayloadVersion": "v1"
},

๐Ÿงญ Output Views in Apify

The actor includes predefined output overviews in the Apify UI, tailored for different user needs such as pricing analysis, inventory monitoring, and market research.
You can explore these directly in the Apify Dataset โ†’ Output tab without writing any code.


๐Ÿงช Troubleshooting (You Rarely Need This)

  • The Actor is built to handle transient issues, including occasional failed requests or network hiccups.

  • Failed requests are automatically retried using a smart exponential backoff strategy.

  • Proper proxy rotation and session management ensure that data extraction remains consistent and uninterrupted.

  • What this means for you: occasional warnings in logs are normal and do not indicate a failure โ€” the Actor will continue fetching until the requested data is collected or retries are exhausted.