B&H Product Scraper
Pricing
from $2.50 / 1,000 b&h product scrapeds
B&H Product Scraper
πΈ Scrape detailed product data from B&H Photo & Video including price, specifications, weight, images, reviews, and availability. π Ideal for building Shopify catalogs, product databases, or monitoring price and stock changes across the B&H catalog.
Pricing
from $2.50 / 1,000 b&h product scrapeds
Rating
0.0
(0)
Developer
Krazee
Actor stats
0
Bookmarked
13
Total users
4
Monthly active users
5.4 hours
Issues response
3 days ago
Last modified
Categories
Share
πΈ B&H Photo Video Product Scraper
This B&H Photo Video product scraper extracts structured product data from B&H Photo & Video, including price, technical specifications, images, reviews, weight, and availability.
The actor collects structured product information directly from individual product pages and returns it as a clean dataset ready for further processing.
The extracted data can be used to build Shopify product catalogs, maintain ecommerce product databases, or monitor price and inventory changes across the B&H catalog.
π Table of Contents
- π Build and Update Your Product Catalog
- β‘ Quick Start
- π¦ What Data You Get
- π₯ Common Use Cases
- βοΈ Scraping Modes
- β¬οΈ Input Format
- π§ͺ Example Input
- π₯ Example Output (JSON)
- π§ͺ Reliability & Run Recovery
- π Related Scrapers
π Build and Update Your Product Catalog
This actor is designed to help you build a product catalog once and keep it updated over time.
A typical workflow looks like this:
- Run the actor on B&H category pages to discover and collect product data.
- The actor saves the discovered product URLs.
- Later, run the actor again to refresh product information for those same products.
This allows you to keep your catalog updated with changes such as:
- price updates
- stock availability changes
- new reviews and ratings
- promotions and discounts
Without crawling category pages again.
This makes recurring updates much faster and more efficient, especially when managing large product catalogs.
β‘ Quick Start
First Run (Catalog Discovery)
1οΈβ£ Provide category URLs
2οΈβ£ Run the actor in Full Sync mode
The actor will:
- discover products
- scrape them
- store their URLs for future updates
Future Runs (Fast Updates)
Run the actor again in Update Existing mode.
The actor will:
- load previously discovered product URLs
- scrape only the product pages
- skip category crawling entirely
This makes refresh runs significantly faster and lighter.
π¦ What Data You Get
Each dataset item represents one fully structured product record from B&H Photo & Video.
Key Product Fields
The dataset captures the most important attributes typically required for Shopify catalogs, ecommerce databases, and product monitoring systems:
nameβ Product namebrandNameβ Manufacturer / brandpriceβ Current product priceskuβ B&H product identifiermanufacturerCatalogNumberβ Manufacturer part number (MPN)itemWeightβ Product weight for shipping calculationsimageUrlsβ Product image galleryratingandreviewCountβ Customer reputation signalssellingPointsβ Product feature highlightsincludedItemsβ Items included in the boxspecificationsβ Full technical specification table
These fields allow the dataset to power workflows such as product catalog creation, listing automation, market research, and price monitoring.
Complete Field Overview
| Category | Whatβs Included | Why Itβs Useful |
|---|---|---|
| π Product Identity | skubhIdnameshortDescriptionitemCodemanufacturerCatalogNumberupc | Core identifiers used for catalog imports, product matching, and inventory systems |
| π· Brand Information | brandName | Useful for catalog filtering, brand analysis, and marketplace listings |
| π° Pricing & Promotions | pricecurrencyPricestrikethroughPricehasDiscounthasSavingsinstantSavingsAmountinstantSavingsPercent | Enables price tracking, discount monitoring, and promotion analysis |
| π Commercial Rules | soldInKitOnlycallForPricemapItemhasSessionPricing | Indicates special pricing rules or sales restrictions |
| π¦ Inventory & Availability | stockAvailabilitystockStatusstockMessagestockImportancestockShipTimemaxSellQuantityminSellQuantitysellsInMultipleOf | Tracks stock signals, availability changes, and selling limits |
| π Physical & Packaging Specs | itemWeightweightUnititemLengthitemWidthitemHeightdimensionUnitpackageWeightpackageLengthpackageWidthpackageHeight | Essential for shipping calculations, logistics, and catalog completeness |
| π¦ Box Contents | includedItems[] | Lists everything included with the product, useful for product page descriptions and bundle validation |
| πΌ Images & Media | mainImageUrlimageUrls[]imageCounthasImageshasSecondaryImageshasVideoshas3DImages | Provides complete product media assets for catalogs or storefronts |
| β Reviews & Reputation | ratingreviewCounthasReviews | Helps evaluate product popularity and customer satisfaction |
| π‘ Warranty & Protection | hasManufacturerWarrantymanufacturerWarrantyPeriodhasProtectionPlansprotectionPlanCountlowestProtectionPlanPricehasWarranty | Valuable for customer assurance signals and product comparisons |
| π Category Context | category1category2category3 | Useful for catalog categorization and product grouping |
| π SEO & URLs | productUrlcanonicalUrlshortUrlpageTitleseoShortDescription | Useful for linking, indexing, and referencing product pages |
| π§Ύ Technical Specifications | specifications β Fully grouped specification table extracted from the product page | Provides the complete technical spec sheet for each product |
| π§βπ» Metadata | scrapedAtrawPayloadVersion | Tracks scraping time and dataset versioning |
π‘ All fields are normalized, nullable-safe, and structured for analytics pipelines, catalog systems, or product monitoring workflows.
π₯ Common Use Cases
This actor is typically used in workflows where complete product data from B&H Photo & Video is required for catalogs, monitoring, or research.
π Build Shopify or Ecommerce Product Catalogs
Collect detailed product information including:
- product name and brand
- price and discounts
- weight and package dimensions
- product images
- feature highlights (
sellingPoints) - items included in the box
- full technical specifications
This data can be used to populate product listings in Shopify or other ecommerce systems.
The category fields (category1, category2, category3) can also help organize products into collections or product types when importing large catalogs.
π Maintain and Refresh Product Databases
After discovering products once, the actor can refresh product data later without crawling categories again.
This makes it easy to keep large product databases updated with:
- price changes
- stock availability
- review updates
- new promotions or discounts
This workflow is especially useful when managing large product catalogs that need regular updates.
π° Price Monitoring
Track product prices and promotional signals across B&H products.
Useful fields include:
pricestrikethroughPriceinstantSavingsAmountinstantSavingsPercent
This allows you to monitor price fluctuations and discount activity across product categories.
π¦ Inventory and Availability Monitoring
The dataset includes several signals related to stock availability and selling limits, such as:
stockStatusstockMessagemaxSellQuantitystockShipTime
These can help track availability changes and inventory behavior.
π§Ύ Product Research and Specification Databases
The actor extracts complete technical specification tables from each product page.
This allows you to build structured datasets containing:
- detailed product specifications
- product features (
sellingPoints) - packaging information
- included accessories
Such datasets can be used for product comparison tools, research databases, or catalog enrichment.
π Product and Market Analysis
Because the dataset includes structured pricing, categories, ratings, and inventory signals, it can also be used for:
- category-level product analysis
- brand distribution research
- review and reputation tracking
- product feature comparisons
βοΈ Scraping Modes
The actor supports two simple modes depending on what you want to do.
π Full Sync
Use Full Sync when you want to discover and scrape products from B&H category pages.
The actor will:
- crawl the provided category URLs
- discover all product pages in those categories
- scrape complete product data
- save discovered product URLs for future updates
This mode is typically used when building your product catalog for the first time.
π Update Existing
Use Update Existing when you already have a saved product list and want to refresh product data.
Instead of crawling category pages again, the actor will:
-
load the previously discovered product URLs
-
scrape each product directly
-
return updated information such as:
- price
- availability
- reviews
- promotions
- stock signals
For example:
- You run Full Sync on a set of category URLs and collect 20,000 products.
- Later you run Full Sync again on other categories and collect another 20,000 products.
- After some time you want to refresh your dataset.
Instead of crawling categories again, you simply run Update Existing, and the actor will update all saved products in your dataset.
This makes recurring updates much faster and more efficient.
β¬οΈ Input Format
| Input | Description |
|---|---|
mode | Scraping mode: full_sync or update_existing |
categoryUrls | Category URLs used for Full Sync mode |
productsLimit | Max products per category URL |
includeReviews | Include customer reviews |
reviewsLimit | Reviews per product |
productUrlsDatasetId | Dataset containing saved product URLs used for Update Existing mode |
π§ͺ Example Input
Here is a sample JSON input you can provide when running the scraper:
{"mode": "Full sync","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.
π§ͺ Reliability & Run Recovery
The actor is designed to run reliably even when scraping large product catalogs.
Automatic Retries
Temporary network errors or blocked requests may occasionally occur when scraping large sites.
The actor automatically retries failed requests using session rotation and retry logic, allowing the run to continue without manual intervention.
Resume Interrupted Runs
If a run stops unexpectedly (for example due to platform limits, network issues, or manual interruption), you can resume the run without losing progress.
Using Apify's Resurrect Run feature, the actor will continue processing the remaining product URLs instead of starting from the beginning.
This is especially useful when running the actor on large product collections.
How Resume Works
Because the actor saves discovered product URLs and tracks processed requests, a resurrected run will continue from where the previous run stopped.
This applies to both scraping modes:
Full Sync
- Category crawling and product scraping will resume from the remaining items.
Update Existing
- Remaining product URLs that were not yet processed will continue scraping.
What This Means
You can safely run the actor on large category lists or product catalogs without worrying about losing progress if a run stops midway.
π Related Scrapers
- ποΈ Meesho Search Results Scraper β Marketplace product listings and customer reviews
- π Blinkit Search Results Scraper β Quick-commerce pricing and availability
- β‘ Zepto Product Scraper β Hyperlocal delivery intelligence