# Bhphotovideo Product Details Scraper (`soft_alexist/bhphotovideo-product-details-scraper`) Actor

Scrape detailed product information from B\&H Photo Video including pricing, specifications, images, inventory, reviews, and 40+ structured fields per item — perfect for price monitoring, competitive analysis, and e-commerce data collection.

- **URL**: https://apify.com/soft\_alexist/bhphotovideo-product-details-scraper.md
- **Developed by:** [Soft Alexist](https://apify.com/soft_alexist) (community)
- **Categories:** Automation, Developer tools, E-commerce
- **Stats:** 2 total users, 1 monthly users, 0.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per usage

This Actor is paid per platform usage. The Actor is free to use, and you only pay for the Apify platform usage, which gets cheaper the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-usage

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## B\&H Photo Video Product Scraper: Extract Electronics Data at Scale

***

### What Is B\&H Photo Video?

B\&H Photo Video is a major U.S.-based electronics retailer offering cameras, lenses, computers, audio equipment, and thousands of other tech products. Their website (bhphotovideo.com) hosts millions of product listings with detailed specifications, pricing, stock status, and customer reviews. Manual data collection from individual product pages is labor-intensive — the **B\&H Photo Video Product Scraper** automates this process, delivering rich, structured product data suitable for price tracking, market research, and e-commerce integrations.

***

### Overview

The **B\&H Photo Video Product Scraper** extracts comprehensive product detail data from individual B\&H product pages, transforming complex HTML layouts into clean, structured records. It is designed for:

- **Price monitoring tools** tracking competitor pricing and promotions
- **E-commerce aggregators** building multi-retailer product databases
- **Market researchers** analyzing electronics pricing trends
- **Resellers and dropshippers** monitoring inventory and profitability
- **Data analysts** conducting competitive landscape studies

Key strengths include high-fidelity data extraction with 40+ fields per product, support for bulk URL processing, and error resilience via `ignore_url_failures`.

***

### Input Format

The scraper accepts a JSON configuration object specifying which products to scrape:

```json
{
    "urls": [
        "https://www.bhphotovideo.com/iphone-12-256gb-certified-pre-owned-best-quality-nova-il-case/PLID96354673",
        "https://www.bhphotovideo.com/iphone-12-pro-max-256gb-certified-pre-owned-better-quality-nova-il-case/PLID96355433"
    ],
    "max_items_per_url": 200,
    "ignore_url_failures": true
}
```

| Field | Type | Description |
|---|---|---|
| `urls` | Array | Direct links to B\&H Photo Video product detail pages. Copy URLs from the product page directly (e.g., `https://www.bhphotovideo.com/[product-name]/PLID[product-id]`). |
| `max_items_per_url` | Number | Maximum records extracted per URL. Set to `200` for full data extraction (or lower to test). |
| `ignore_url_failures` | Boolean | If `true`, the scraper continues running if individual URLs fail to load (recommended for bulk runs). If `false`, the entire job stops on first failure. |

**Pro tip:** Use product links directly from your browser's address bar or from B\&H's category pages to ensure accuracy.

***

### Output Format

**Sample output**

```json
{
  "item_key": {
    "sku_no": 1748813,
    "item_source": "REG"
  },
  "articles": [],
  "core": {
    "short_description": "Canon EOS R8 Mirrorless Camera",
    "item_code": "CAER8",
    "manufacturer_catalog_number": "5803C002",
    "multi_pack_count": 1,
    "multi_pack_text": "Pieces",
    "is_download": false,
    "is_b_h_kit": false,
    "is_j_kit": false,
    "is_gift_card": false,
    "is_mfr_bundle": false,
    "has_essential_kits": false,
    "is_used": false,
    "details_url": "/c/product/1748813-REG/canon_eos_r8_mirrorless_camera.html",
    "bitly_url": "https://bhpho.to/3Dwg99V",
    "brand_series_model": "Canon EOS R8 "
  },
  "brand": {
    "name": "Canon",
    "is_authorized_dealer": true,
    "logo": "https://www.bhphotovideo.com/images/manufacturers/canon_8.gif",
    "url": "/c/browse/Canon/ci/4759/N/4232860731"
  },
  "main_image": {
    "note": null,
    "thumbnail": {
      "url": "https://static.bhphoto.com/images/smallimages/1675811123_1748813.jpg",
      "width": 55,
      "height": 55
    },
    "listing": {
      "url": "https://static.bhphoto.com/images/images150x150/1675811123_1748813.jpg",
      "width": 150,
      "height": 150
    },
    "medium": {
      "url": "https://static.bhphoto.com/images/images250x250/1675811123_1748813.jpg",
      "width": 250,
      "height": 250
    },
    "default": {
      "url": "https://static.bhphoto.com/images/images345x345/1675811123_1748813.jpg",
      "width": 345,
      "height": 345
    },
    "detail": {
      "url": "https://static.bhphoto.com/images/images500x500/canon_eos_r8_mirrorless_camera_1675811123_1748813.jpg",
      "width": 500,
      "height": 500
    },
    "seo": {
      "url": "https://www.bhphotovideo.com/images/fb/canon_eos_r8_mirrorless_camera_1748813.jpg",
      "width": 2000,
      "height": 2000
    },
    "large_images": [
      {
        "url": "https://static.bhphoto.com/images/images500x500/1675811123_1748813.jpg",
        "width": 500,
        "height": 500
      },
      {
        "url": "https://static.bhphoto.com/images/images750x750/1675811123_1748813.jpg",
        "width": 750,
        "height": 750
      },
      {
        "url": "https://static.bhphoto.com/images/images1000x1000/1675811123_1748813.jpg",
        "width": 1000,
        "height": 1000
      },
      {
        "url": "https://static.bhphoto.com/images/images1500x1500/1675811123_1748813.jpg",
        "width": 1500,
        "height": 1500
      },
      {
        "url": "https://static.bhphoto.com/images/images2000x2000/1675811123_1748813.jpg",
        "width": 2000,
        "height": 2000
      }
    ],
    "has_main_image": true
  },
  "info_banners": [],
  "image_info": { },
  "links": [],
  "includes": [
    {
      "item_key": null,
      "short_description": "Canon EOS R8 Mirrorless Camera",
      "note": null,
      "quantity": 1,
      "details_url": null,
      "sub_includes": []
    },
    {
      "item_key": {
        "sku_no": 1116120,
        "item_source": "REG"
      },
      "short_description": "Canon LP-E17 Lithium-Ion Battery Pack",
      "note": null,
      "quantity": 1,
      "details_url": "/c/product/1116120-REG/canon_9967b002_lp_e17_battery_pack.html",
      "sub_includes": []
    },
    {
      "item_key": {
        "sku_no": 1116121,
        "item_source": "REG"
      },
      "short_description": "Canon LC-E17 Charger for LP-E17 Battery Pack",
      "note": null,
      "quantity": 1,
      "details_url": "/c/product/1116121-REG/canon_9968b001_lc_e17_charger_for_lp_e17.html",
      "sub_includes": []
    },
    {
      "item_key": {
        "sku_no": 1434038,
        "item_source": "REG"
      },
      "short_description": "Canon R-F-5 Camera Cover",
      "note": null,
      "quantity": 1,
      "details_url": "/c/product/1434038-REG/canon_3201c001_r_f_5_camera_cover.html",
      "sub_includes": []
    },
    {
      "item_key": null,
      "short_description": "Camera Strap",
      "note": null,
      "quantity": 1,
      "details_url": null,
      "sub_includes": []
    },
    {
      "item_key": null,
      "short_description": "Shoe Cover",
      "note": null,
      "quantity": 1,
      "details_url": null,
      "sub_includes": []
    },
    {
      "item_key": null,
      "short_description": "Limited 1-Year Manufacturer Warranty",
      "sub_description": "",
      "note": null,
      "quantity": 1,
      "details_url": null,
      "sub_includes": []
    }
  ],
  "warranty_coverages": { },
  "price_info": {
    "add_to_cart_button": "ADD_TO_CART",
    "add_to_cart_function": "ATC_LAYER",
    "add_to_cart_message": null,
    "hide_price_and_cart_section": false,
    "show_price_changed_in_cart": false,
    "show_price_changed_in_checkout_message": false,
    "allow_removing_item_in_cart_layer": false,
    "non_orderable_type": null,
    "show_notify_when_in_stock": false,
    "show_call_for_price": false,
    "price_not_yet_available": false,
    "sold_in_kit_only": false,
    "show_price": true,
    "price": 1499,
    "show_strikethrough_price": true,
    "strikethrough_price": 1649,
    "strikethrough_price_label": "PRICE",
    "strikethrough_price_type": "REG",
    "show_grayed_out_price": false,
    "grayed_out_price": null,
    "currency_price": null,
    "currency_strikethrough_price": null,
    "currency_grayed_out_price": null,
    "map_message": null,
    "is_map_item": false,
    "quantity_discount": null,
    "savings": {
      "instant": {
        "amount": 150,
        "currency_amount": null,
        "percent_amount": null,
        "savings_label": "SAVE",
        "savings_label_text": null,
        "savings_label_color": null,
        "savings_tool_tip_text": null,
        "end_date": null
      },
      "deal_zone": null,
      "threshold": null,
      "coupon": null,
      "portal": null,
      "student": null,
      "used": null,
      "rebate": null,
      "bundle": null,
      "price_drop": null,
      "promo": null
    },
    "show_cusma_note": false,
    "tax_note": null,
    "has_session_pricing": false
  },
  "buying_options": {
    "new_department": null,
    "used": {
      "price": 1318.95,
      "currency_price": null,
      "condition_code": "9",
      "condition_short_description": "Minor surface marks",
      "many_available": false,
      "item": {
        "item_key": {
          "sku_no": 803508121,
          "item_source": "USE"
        },
        "brand": {
          "name": "Canon",
          "is_authorized_dealer": false,
          "logo": "https://www.bhphotovideo.com/images/manufacturers/canon_8.gif",
          "url": "/c/browse/Canon/ci/4759/N/4232860731"
        },
        "core": {
          "short_description": "Canon EOS R8 Mirrorless Camera",
          "item_code": "3508121",
          "manufacturer_catalog_number": "5803C002",
          "multi_pack_count": 1,
          "multi_pack_text": null,
          "is_download": false,
          "is_b_h_kit": false,
          "is_j_kit": false,
          "is_gift_card": false,
          "is_mfr_bundle": false,
          "has_essential_kits": false,
          "is_used": true,
          "details_url": "/c/used/1748813/canon_eos_r8_mirrorless_camera.html",
          "bitly_url": "https://bhpho.to/4h4ecpV",
          "brand_series_model": ""
        }
      }
    },
    "open_box": null,
    "refurbished": null,
    "newer_model_replacement": null,
    "similar_model_replacement": null,
    "similar_model": null,
    "lease": null,
    "trade_in_type": "IN_HOUSE"
  },
  "quantity_info": {
    "max_sell_quantity": 30,
    "min_sell_quantity": 1,
    "sells_in_multiple_of": 1
  },
  "shipping_info": {
    "catalog": {
      "shipping_discount": null
    },
    "cutoffs": {
      "cutoff": 1785448800000
    },
    "ship_time": null,
    "ships_alone": false,
    "ship_time_message_type": "ORDER_NOW_TO_SHIP",
    "ship_time_long_message_type": "DEFAULT",
    "shipping_message_type": "CALCULATE_SHIPPING",
    "shipping_long_message_type": "CALCULATE_SHIPPING",
    "promotional_shipping_message_type": "NO_MESSAGE",
    "promotional_shipping_long_message_type": "NO_MESSAGE"
  },
  "promotions": {
    "rewards": null
  },
  "rebates": [],
  "used_info": null,
  "includes_free": {},
  "literatures": [
    {
      "item_key": {
        "sku_no": 1748813,
        "item_source": "REG"
      },
      "product_name": "Canon EOS R8 Mirrorless Camera",
      "item_literatures": [
        {
          "url": "/lit_files/1010819.pdf",
          "file_name": "1010819.pdf",
          "size": 19164935,
          "description": "User Manual"
        }
      ]
    }
  ],
  "video_info": {
    "item_videos": [
      {
        "videos": [
          {
            "name": "Canon EOS R8 - Intro Video",
            "type": "VIMEO",
            "url": "https://player.vimeo.com/video/1108498959",
            "thumbnail_url": null,
            "video_still_url": null,
            "is_primer_video": true,
            "is_staff": false,
            "video_length": 0
          },
          {
            "name": "Canon EOS R8 & R50: Perfect Vloggers, Streamers & Creators!",
            "type": "YOUTUBE",
            "url": "https://www.youtube.com/embed/VLSnrjXcfnY",
            "thumbnail_url": null,
            "video_still_url": null,
            "is_primer_video": false,
            "is_staff": true,
            "video_length": 349
          },
          {
            "name": "Simplicity & Power. The Canon EOS R8",
            "type": "YOUTUBE",
            "url": "https://www.youtube.com/embed/yM4mMFjV9Ws",
            "thumbnail_url": null,
            "video_still_url": null,
            "is_primer_video": false,
            "is_staff": false,
            "video_length": 115
          },
          {
            "name": "The Canon EOS R8 Full-Frame Camera",
            "type": "YOUTUBE",
            "url": "https://www.youtube.com/embed/_K7ruOXVizY",
            "thumbnail_url": null,
            "video_still_url": null,
            "is_primer_video": false,
            "is_staff": false,
            "video_length": 181
          }
        ]
      }
    ],
    "has_videos": true
  },
  "category_info": { },
  "category_experts": [
    {
      "profile_title": "Rafael D., B&H Photo Expert",
      "image_url": "https://static.bhphotovideo.com/explora/sites/default/files/exp/rafael-d.png",
      "category_name": "Photography"
    },
    {
      "profile_title": "Vilson L., B&H Photo Expert",
      "image_url": "https://static.bhphotovideo.com/explora/sites/default/files/exp/vilson-l.png",
      "category_name": "Photography"
    },
    {
      "profile_title": "Leonard E., B&H Photo Expert",
      "image_url": "https://static.bhphotovideo.com/explora/sites/default/files/exp/leonard-e.png",
      "category_name": "Photography"
    },
    {
      "profile_title": "Marisa P., B&H Photo Expert",
      "image_url": "https://static.bhphotovideo.com/explora/sites/default/files/exp/marisa-p.png",
      "category_name": "Photography"
    },
    {
      "profile_title": "Gerry R., B&H Photo Expert",
      "image_url": "https://static.bhphotovideo.com/explora/sites/default/files/exp/gerry-r.png",
      "category_name": "Photography"
    },
    {
      "profile_title": "Boyd H., B&H Photo Expert",
      "image_url": "https://static.bhphotovideo.com/explora/sites/default/files/exp/boyd-h.png",
      "category_name": "Photography"
    },
    {
      "profile_title": "Gil R., B&H Expert",
      "image_url": "https://static.bhphotovideo.com/explora/sites/default/files/exp/gil-r.png",
      "category_name": "Photography"
    },
    {
      "profile_title": "Jeannette G., B&H Photo Expert",
      "image_url": "https://static.bhphotovideo.com/explora/sites/default/files/exp/jeannette_g.png",
      "category_name": "Photography"
    },
    {
      "profile_title": "Jamie P., B&H Photo Expert",
      "image_url": "https://static.bhphotovideo.com/explora/sites/default/files/exp/jamie_p.png",
      "category_name": "Photography"
    },
    {
      "profile_title": "Patrick D., B&H Photo Expert",
      "image_url": "https://static.bhphotovideo.com/explora/sites/default/files/exp/patrick_d_1.png",
      "category_name": "Photography"
    }
  ],
  "selling_points": [
    {
      "description": "24.2MP Full-Frame CMOS Sensor"
    },
    {
      "description": "4K60p 10-Bit Internal Video, Canon Log 3"
    },
    {
      "description": "2.36m-Dot OLED Electronic Viewfinder"
    },
    {
      "description": "3.0\" 1.62m-Dot Vari-Angle Touchscreen"
    },
    {
      "description": "Dual Pixel CMOS AF II"
    },
    {
      "description": "40 fps Electronic Shutter"
    },
    {
      "description": "Movie Digital IS"
    },
    {
      "description": "Vertical Movie Mode"
    },
    {
      "description": "Microphone Input, Headphone Output"
    },
    {
      "description": "Multi-Function Shoe, Wi-Fi & Bluetooth"
    }
  ],
  "configurations": [],
  "stock_info": {
    "status": "IN_STOCK",
    "status_importance": "LOW",
    "status_message": "Temporarily Out of Stock",
    "status_description": null,
    "status_ship_time": null,
    "should_show_immediate_charge_message": false,
    "should_show_immediate_charge_message_for_paypal": true
  },
  "reviews_stats": {
    "review_count": 152,
    "review_rating": 4.7
  },
  "overview": {
    "long_description": null,
    "writers_bio": {
      "bio": "Carroll leverages 8 years of editorial experience and a love for computers, audio, and cameras in his role as the Writing Optimization Team Manager. When not writing or editing, Carroll likes to disassemble electronics and take grainy snapshots.",
      "f_name": "Carroll ",
      "l_name": "Moore",
      "attributes": null,
      "profile_pic": "https://static.bhphotovideo.com/explora/sites/default/files/exp/moore_carroll.jpg",
      "writers_image": "https://static.bhphotovideo.com/explora/sites/default/files/2025-02/bioContainer_carroll-moore_text.jpg"
    },
    "note": null,
    "items": [
      {
        "item": {
          "item_key": {
            "sku_no": 1748813,
            "item_source": "REG"
          },
          "core": {
            "short_description": "Canon EOS R8 Mirrorless Camera",
            "item_code": "CAER8",
            "manufacturer_catalog_number": "5803C002",
            "multi_pack_count": 1,
            "multi_pack_text": "Pieces",
            "is_download": false,
            "is_b_h_kit": false,
            "is_j_kit": false,
            "is_gift_card": false,
            "is_mfr_bundle": false,
            "has_essential_kits": false,
            "is_used": false,
            "details_url": "/c/product/1748813-REG/canon_eos_r8_mirrorless_camera.html",
            "bitly_url": "https://bhpho.to/3Dwg99V",
            "brand_series_model": "Canon EOS R8 "
          },
          "main_image": {
            "note": null,
            "thumbnail": {
              "url": "https://static.bhphoto.com/images/smallimages/1675811123_1748813.jpg",
              "width": 55,
              "height": 55
            },
            "listing": {
              "url": "https://static.bhphoto.com/images/images150x150/1675811123_1748813.jpg",
              "width": 150,
              "height": 150
            },
            "medium": {
              "url": "https://static.bhphoto.com/images/images250x250/1675811123_1748813.jpg",
              "width": 250,
              "height": 250
            },
            "default": {
              "url": "https://static.bhphoto.com/images/images345x345/1675811123_1748813.jpg",
              "width": 345,
              "height": 345
            },
            "detail": {
              "url": "https://static.bhphoto.com/images/images500x500/canon_eos_r8_mirrorless_camera_1675811123_1748813.jpg",
              "width": 500,
              "height": 500
            },
            "seo": {
              "url": "https://www.bhphotovideo.com/images/fb/canon_eos_r8_mirrorless_camera_1748813.jpg",
              "width": 2000,
              "height": 2000
            },
            "large_images": [
              {
                "url": "https://static.bhphoto.com/images/images500x500/1675811123_1748813.jpg",
                "width": 500,
                "height": 500
              },
              {
                "url": "https://static.bhphoto.com/images/images750x750/1675811123_1748813.jpg",
                "width": 750,
                "height": 750
              },
              {
                "url": "https://static.bhphoto.com/images/images1000x1000/1675811123_1748813.jpg",
                "width": 1000,
                "height": 1000
              },
              {
                "url": "https://static.bhphoto.com/images/images1500x1500/1675811123_1748813.jpg",
                "width": 1500,
                "height": 1500
              },
              {
                "url": "https://static.bhphoto.com/images/images2000x2000/1675811123_1748813.jpg",
                "width": 2000,
                "height": 2000
              }
            ],
            "has_main_image": true
          }
        },
        "short_description": "Canon EOS R8 Mirrorless Camera",
        "has_third_party_content": false,
        "upc": "013803351354",
        "overview": {
          "long_description": "A lightweight, travel-friendly, full-frame camera body, the <b>Canon EOS R8 Mirrorless Camera</b> offers powerful photo and video capabilities for both photographers and multimedia content creators. Utilizing a newly developed sensor also found in the EOS R6 Mark II, the R8 features a 24.2MP CMOS sensor paired with a DIGIC X processor. Together, this combination provides outstanding stills performance, impressive 4K 60p 10-bit video, and fast autofocus.",
          "note": null
        },
        "features_content_type": {
          "is_rich": true,
          "is_standard": false
        },
        "feature_groups": [
          {
            "title": null,
            "features": [
              {
                "title": {
                  "text": "Step Up to Full-Frame",
                  "header_level": {
                    "is_h2": true,
                    "is_h3": false,
                    "is_h4": false
                  }
                },
                "note": null,
                "body": "A lightweight, travel-friendly, full-frame camera body, the <b>Canon EOS R8 Mirrorless Camera</b> offers powerful photo and video capabilities for both photographers and multimedia content creators. Utilizing a newly developed sensor also found in the EOS R6 Mark II, the R8 features a 24.2MP CMOS sensor paired with a DIGIC X processor. Together, this combination provides outstanding stills performance, impressive 4K 60p 10-bit video, and fast autofocus."
              },
              {
                "title": null,
                "note": null,
                "body": null,
                "feature_media": {
                  "align": {
                    "is_top": false,
                    "is_right": false,
                    "is_left": false,
                    "is_none": true
                  },
                  "media_type": {
                    "is_image": false,
                    "is_video": true,
                    "is_audio_files": false,
                    "is_audio_playlist": false,
                    "is_audio_track": false
                  },
                  "media_items": [
                    {
                      "media_description": "Canon EOS R8 & R50: Perfect Vloggers, Streamers & Creators!",
                      "media_url": "https://www.youtube.com/embed/VLSnrjXcfnY",
                      "video_length": 349,
                      "is_staff": true
                    }
                  ]
                }
              },
              {
                "title": {
                  "text": "24.2MP Full-Frame Sensor and DIGIC X Processing",
                  "header_level": {
                    "is_h2": true,
                    "is_h3": false,
                    "is_h4": false
                  }
                },
                "note": null,
                "body": "Pairing a powerful full-frame 24.2MP CMOS sensor and DIGIC X image processor, the R8 delivers high resolution imagery with rich and accurate colors. Designed to work in a variety of lighting condition, this camera offers a flexible ISO 100-102400 range that is expandable to ISO 204800 for working in difficult lighting conditions. Using the full width of the sensor, 6K oversampled UHD 4K 60p video recording is supported as is Full HD 1080 180p for slow motion playback. The R8 offers 4:2:2 10-bit shooting and up to 2-hours of video recording is now available at 29.97 fps, allowing you to keep your project rolling. Capable of processing high speed bursts, the DIGIC X image processor also supports up to 40 fps continuous shooting and offers pre-shooting support, which allows the camera to start recording images 0.5 seconds prior to pressing the shutter release button.",
                "feature_media": {
                  "align": {
                    "is_top": false,
                    "is_right": true,
                    "is_left": false,
                    "is_none": false
                  },
                  "media_type": {
                    "is_image": true,
                    "is_video": false,
                    "is_audio_files": false,
                    "is_audio_playlist": false,
                    "is_audio_track": false
                  },
                  "media_items": [
                    {
                      "media_description": null,
                      "media_url": "https://static.bhphoto.com/images/rich_content/desktop/1726747225_IMG_2339795.jpg",
                      "media_caption": null
                    }
                  ]
                }
              },
              {
                "title": {
                  "text": "Dual Pixel CMOS AF II",
                  "header_level": {
                    "is_h2": true,
                    "is_h3": false,
                    "is_h4": false
                  }
                },
                "note": null,
                "body": "Featuring 1053 automatic AF points that cover the entire sensor area, the advanced Dual Pixel CMOS AF II system provides extremely fast and accurate focusing performance. This phase-detection focusing system offers enhanced subject detection and tracking, with the ability to intelligently recognize people, animals, and vehicles while automatically locking onto these subjects and maintaining sharp focus throughout burst and video captures. Additionally, this autofocus system's low-luminance limit focuses down to an impressive -6.5 EV for accurate focusing in dark conditions."
              },
              {
                "title": null,
                "note": null,
                "body": null,
                "feature_media": {
                  "align": {
                    "is_top": false,
                    "is_right": false,
                    "is_left": false,
                    "is_none": true
                  },
                  "media_type": {
                    "is_image": false,
                    "is_video": true,
                    "is_audio_files": false,
                    "is_audio_playlist": false,
                    "is_audio_track": false
                  },
                  "media_items": [
                    {
                      "media_description": "Simplicity & Power. The Canon EOS R8",
                      "media_url": "https://www.youtube.com/embed/yM4mMFjV9Ws",
                      "video_length": 115,
                      "is_staff": false
                    }
                  ]
                }
              },
              {
                "title": {
                  "text": "HDR PQ and Canon Log 3",
                  "header_level": {
                    "is_h2": true,
                    "is_h3": false,
                    "is_h4": false
                  }
                },
                "note": null,
                "body": "Though the EOS R8 camera can record impressive video straight out of camera, content creators looking to take the next step in their imaging journey have the choice of two powerful video recording options in HDR PQ or Canon Log 3 video recording. With HDR PQ recording a 10-bit color file is recorded that does not require additional editing. This 10-bit HDR file is compatible with HDR displays such as TVs, monitors, and smartphones, which display your video with even more color accuracy and dynamic range than standard displays. For creators who like to edit their video files, Canon Log 3 is also available, creating a 10-bit log file which allows for powerful recovery of highlights and shadows as well as creative color grading capability."
              },
              {
                "title": {
                  "text": "Vertical Movie Mode and Aspect Markers",
                  "header_level": {
                    "is_h2": true,
                    "is_h3": false,
                    "is_h4": false
                  }
                },
                "note": null,
                "body": "Movie rotation information can be set during or after movie recording, allowing videos to be played in vertical composition when viewing on a smartphone. The Aspect Markers function displays visual markers for different aspect ratios that may be desired for posting the same file to various social media sites. This display provides consideration for proper composition for the different deliverable files that can be created when editing.",
                "feature_media": {
                  "align": {
                    "is_top": false,
                    "is_right": true,
                    "is_left": false,
                    "is_none": false
                  },
                  "media_type": {
                    "is_image": true,
                    "is_video": false,
                    "is_audio_files": false,
                    "is_audio_playlist": false,
                    "is_audio_track": false
                  },
                  "media_items": [
                    {
                      "media_description": null,
                      "media_url": "https://static.bhphoto.com/images/rich_content/desktop/1726747225_IMG_2339792.jpg",
                      "media_caption": null
                    }
                  ]
                }
              },
              {
                "title": {
                  "text": "Livestreaming",
                  "header_level": {
                    "is_h2": true,
                    "is_h3": false,
                    "is_h4": false
                  }
                },
                "note": null,
                "body": "UVC/UAC compatibility allows the R8 to be used as a web camera to stream live video in Full HD, without additional computer software, to applications such as Zoom, Microsoft Teams, Skype, and similar video conferencing software. Thanks to the full-frame image sensor, you'll be able to have versatility in your exposure, as well as strong background separation when using bright aperture lenses for video conferencing or livestreaming content."
              },
              {
                "title": {
                  "text": "Movie Digital IS",
                  "header_level": {
                    "is_h2": true,
                    "is_h3": false,
                    "is_h4": false
                  }
                },
                "note": null,
                "body": "Record stable videos efficiently with minimum equipment, even when shooting handheld, with Movie Digital IS 5-axis image stabilization. Camera-shake vibrations are reduced even more through coordinated control of Movie Digital IS when using a RF lens featuring optical image stabilization."
              },
              {
                "title": null,
                "note": null,
                "body": null,
                "feature_media": {
                  "align": {
                    "is_top": false,
                    "is_right": false,
                    "is_left": false,
                    "is_none": true
                  },
                  "media_type": {
                    "is_image": true,
                    "is_video": false,
                    "is_audio_files": false,
                    "is_audio_playlist": false,
                    "is_audio_track": false
                  },
                  "media_items": [
                    {
                      "media_description": null,
                      "media_url": "https://static.bhphoto.com/images/rich_content/desktop/1726747225_IMG_2339791.jpg",
                      "media_caption": null
                    }
                  ]
                }
              },
              {
                "title": {
                  "text": "2.36m-Dot EVF and Vari-Angle Touchscreen LCD",
                  "header_level": {
                    "is_h2": true,
                    "is_h3": false,
                    "is_h4": false
                  }
                },
                "note": null,
                "body": "Providing high-resolution eye-level viewing, the R8 is designed with a bright and clear 2.36m-dot OLED EVF for a pleasing electronic viewfinder experience. The EVF supports up to a 120 fps refresh rate and has been designed to provide a bright, sharp, and colorful 100% view of the subject at hand.<br><br>\r\n\r\nAdditionally, a large 3.0\" 1.62m-dot vari-angle touchscreen makes it easy to compose and shoot from virtually any angle. With touch and drag functionality, you can intuitively and swiftly move the autofocus point on the touch-panel LCD.</ul>",
                "feature_media": {
                  "align": {
                    "is_top": false,
                    "is_right": true,
                    "is_left": false,
                    "is_none": false
                  },
                  "media_type": {
                    "is_image": true,
                    "is_video": false,
                    "is_audio_files": false,
                    "is_audio_playlist": false,
                    "is_audio_track": false
                  },
                  "media_items": [
                    {
                      "media_description": null,
                      "media_url": "https://static.bhphoto.com/images/rich_content/desktop/1726747225_IMG_2339793.jpg",
                      "media_caption": null
                    }
                  ]
                }
              },
              {
                "title": {
                  "text": "Flexible Connectivity",
                  "header_level": {
                    "is_h2": true,
                    "is_h3": false,
                    "is_h4": false
                  }
                },
                "note": null,
                "body": "<ul>\r\n<li>Wired and wireless connectivity options allow for multiple methods of transferring photos and videos, livestreaming, as well as for remotely controlling the camera. Physically, the camera features a remote port, a USB-C port, a micro-HDMI port, a microphone input, and a headphone jack for monitoring sound.</li>\r\n<li>Built-in Bluetooth pairing lets you easily connect the camera to compatible smart devices using the free Canon Camera Connect app. This low-energy wireless connection helps preserve battery life, while providing remote control of the camera. It also sends continuously updated GPS location data from your phone, letting you geotag what you've captured so you know precisely where you captured the photo.</li>\r\n<li>Built-in Wi-Fi connectivity enables wireless functions, such as remote live view, file viewing, and transfer, by connecting to Wi-Fi quickly and seamlessly. Using the Canon Camera Connect app, you can also transfer files to your mobile device to browse and share on social media.</li>\r\n<li>Built-in USB-C allows you to connect the camera to a smartphone or computer. All Canon Camera Connect app features that can be used with Wi-Fi are now available when the camera and smartphone are connected via USB, using a compatible cable for your device.</li>\r\n</ul>"
              },
              {
                "title": {
                  "text": "Next-Generation Multi-Function Shoe",
                  "header_level": {
                    "is_h2": true,
                    "is_h3": false,
                    "is_h4": false
                  }
                },
                "note": null,
                "body": "An update to a conventional hot shoe, the Multi-Function Shoe adds a row of pins at the front of the design to permit greater accessory functionality as well as provide power to select accessory types that traditionally rely on separate batteries."
              },
              {
                "title": null,
                "note": null,
                "body": null,
                "feature_media": {
                  "align": {
                    "is_top": false,
                    "is_right": false,
                    "is_left": false,
                    "is_none": true
                  },
                  "media_type": {
                    "is_image": false,
                    "is_video": true,
                    "is_audio_files": false,
                    "is_audio_playlist": false,
                    "is_audio_track": false
                  },
                  "media_items": [
                    {
                      "media_description": "The Canon EOS R8 Full-Frame Camera",
                      "media_url": "https://www.youtube.com/embed/_K7ruOXVizY",
                      "video_length": 181,
                      "is_staff": false
                    }
                  ]
                }
              }
            ]
          }
        ]
      }
    ]
  },
  "specifications": {},
  "bundle_info": {
    "total_savings": 250,
    "bundle_item_image_url": "https://static.bhphoto.com/images/smallimages/1761608730_1923387.jpg"
  },
  "badge": null,
  "featured_info": null,
  "store_info": {
    "on_store_display": "YES",
    "available_for_store_purchase": true,
    "store_pickup_message_type": "AVAILABLE_IN_PICKUP_TIME",
    "store_pickup_long_message_type": "PICKUP",
    "should_show_store_info": false,
    "should_show_store_stock_info": false,
    "should_show_store_address": false,
    "items_in_kit_on_store_display": [],
    "promote_store_pickup": false,
    "show_njf_schedule_change": false
  },
  "compatible_models": [],
  "notes_info": {
    "restrictive_notes": [],
    "general_notes": [],
    "open_market_label": null,
    "should_show_student_note": false,
    "item_manufactured_in": [],
    "shipping_restriction_note": null,
    "export_message_notes": [],
    "can_only_be_shipped_restrictions": [],
    "can_not_be_shipped_restrictions": [
      "CANADA"
    ]
  },
  "condition_flags": {
    "is_b_h_exclusive": false,
    "is_e_d_u_special": false,
    "is_new_release": false,
    "is_new_arrival": false,
    "is_used": false,
    "is_open_box": false,
    "is_featured": false,
    "is_bild_deal": false,
    "is_sold_in_studio_only": false,
    "is_flash_deal": false,
    "check_redirect_to_similar": false
  },
  "financing": null,
  "firmware_updates": [
    {
      "title": "Firmware Update v1.6.0",
      "date": 1778644800000,
      "link": "https://www.usa.canon.com/support/canon-product-advisories/Firmware-Notice-EOS-R8-Firmware-Version-1-6-0",
      "description": "Canon has released firmware version 1.6.0 for the EOS R8 mirrorless camera. This update fixes an issue where in rare cases, the camera was not recognized when connected to a phone via USB.",
      "version": "v1.6.0"
    }
  ],
  "sound_track_info": {
    "item_sound_tracks": [
      {
        "sound_tracks": {
          "audio_files": [],
          "soundcloud": []
        }
      }
    ],
    "has_sound_tracks": false
  },
  "leasing": {
    "options": [],
    "position": "BOTTOM"
  },
  "my_gear_info": {
    "my_gear_bucket_id": "NONE"
  }
}
```

Each scraped product returns a comprehensive record with 40+ structured fields:

#### Product Identification & Core Data

| Field | Meaning |
|---|---|
| `Item Key` | Unique identifier for the product (SKU or PLID) |
| `Core` | Essential product core information (name, brand, model) |
| `Brand` | Manufacturer or brand name |
| `Articles` | Associated articles or content about the product |

#### Visual & Media Content

| Field | Meaning |
|---|---|
| `Main Image` | Primary product image URL for storefront display |
| `Image Info` | Array of all product images with metadata (alt text, dimensions) |
| `Info Banners` | Promotional or informational banners displayed on the listing |
| `Video Info` | Embedded videos (tutorials, reviews, product demonstrations) |
| `Sound Track Info` | Audio samples or soundtrack-related content (for audio products) |

#### Product Details & Specifications

| Field | Meaning |
|---|---|
| `Overview` | High-level product summary and key features |
| `Specifications` | Detailed technical specs (e.g., RAM, storage, processor, resolution) |
| `Category Info` | Product categorization (e.g., Electronics > Phones > iPhones) |
| `Compatible Models` | List of compatible devices or accessories |
| `Selling Points` | Key marketing messages and unique selling propositions |
| `Configurations` | Available options (color, storage, memory variants) |

#### Pricing & Purchase Options

| Field | Meaning |
|---|---|
| `Price Info` | Current retail price, original price, and discounts |
| `Buying Options` | Available purchase methods (buy now, pre-order, back-order) |
| `Promotions` | Active promotional offers and deals |
| `Rebates` | Manufacturer rebates or mail-in promotions |
| `Financing` | Financing options (payment plans, credit card promotions) |
| `Leasing` | B\&H Photo Video leasing program eligibility |

#### Inventory & Condition

| Field | Meaning |
|---|---|
| `Quantity Info` | Current stock levels and availability status |
| `Stock Info` | Detailed inventory data by location or warehouse |
| `Used Info` | Information for refurbished or certified pre-owned items (price, warranty) |
| `Condition Flags` | Product condition indicators (new, refurbished, fair, good, best) |

#### Shipping & Warranty

| Field | Meaning |
|---|---|
| `Shipping Info` | Shipping options, costs, and delivery timeframes |
| `Warranty Coverages` | Standard and extended warranty options available |
| `Links` | Related product links, manuals, and support documentation |

#### Includes & Accessories

| Field | Meaning |
|---|---|
| `Includes` | What comes in the box (accessories, cables, documentation) |
| `Includes Free` | Complimentary items bundled with purchase |
| `Bundle Info` | Available bundle packages and discounts |
| `Literatures` | Downloadable manuals, quick-start guides, and specification sheets |

#### Community & Store Data

| Field | Meaning |
|---|---|
| `Reviews Stats` | Aggregate review ratings, number of reviews, and sentiment data |
| `Category Experts` | Expert recommendations or staff picks |
| `Store Info` | In-store availability and local pickup options |
| `My Gear Info` | Customer gear tracking and wishlist integration |

#### Special Attributes

| Field | Meaning |
|---|---|
| `Badge` | Special badges or labels (Best Seller, Hot Deals, New Arrival) |
| `Featured Info` | Featured status on category pages or homepage |
| `Notes Info` | Editorial notes or special instructions from B\&H |
| `Firmware Updates` | Available firmware versions for electronics |

***

### How to Use

1. **Find product URLs** — Browse bhphotovideo.com and identify products you want to scrape. Copy the full product URL from your browser's address bar (must include the PLID parameter).

2. **Prepare your list** — Add URLs to the `urls` array. You can add single URLs or batch-paste multiple URLs using the bulk edit feature.

3. **Configure settings** — Set `max_items_per_url` to `200` for complete data extraction, or lower for a preview run. Set `ignore_url_failures: true` for robust bulk scraping.

4. **Start the scraper** — Run the actor and monitor the log for progress. The scraper will fetch data from each URL sequentially.

5. **Export results** — Download the dataset as JSON, CSV, or Excel for analysis or integration into other systems.

**Best practices:**

- Test with 2–3 product URLs first to verify output quality
- Use `ignore_url_failures: true` for runs with 20+ URLs to avoid stalling
- Store results in a database or data warehouse for ongoing analysis
- Respect B\&H's Terms of Service regarding data usage and scraping frequency

***

### Real-World Applications

- **Price tracking:** Monitor competitor pricing on identical or similar products
- **Market research:** Analyze product availability, promotions, and review sentiment across categories
- **E-commerce aggregation:** Feed B\&H data into multi-channel product feeds or price comparison sites
- **Inventory monitoring:** Track stock levels for high-demand items or discontinued products
- **Reseller analytics:** Identify high-margin products and pricing trends for resale
- **Promotion tracking:** Capture seasonal sales, bundle offers, and financing promotions

The detailed output (40+ fields per product) enables sophisticated analysis: from simple price comparisons to complex trend modeling using reviews, specifications, and stock data.

***

### Conclusion

The **B\&H Photo Video Product Scraper** transforms unstructured product listings into machine-readable data. With 40+ output fields covering pricing, specifications, media, inventory, and reviews, it streamlines data collection and unlocks insights for competitive analysis, market research, and e-commerce operations.

# Actor input Schema

## `urls` (type: `array`):

Add the URLs of the Specific product urls you want to scrape. You can paste URLs one by one, or use the Bulk edit section to add a prepared list.

## `ignore_url_failures` (type: `boolean`):

If true, the scraper will continue running even if some URLs fail to be scraped.

## Actor input object example

```json
{
  "urls": [
    "https://www.bhphotovideo.com/c/product/1748813-REG/canon_eos_r8_mirrorless_camera.html",
    "https://www.bhphotovideo.com/c/product/1900551-REG/fujifilm_16949882_x_e5_mirrorless_camera_with.html",
    "https://www.bhphotovideo.com/c/product/1748813-REG/canon_eos_r8_mirrorless_camera.html",
    "https://www.bhphotovideo.com/c/product/1933661-REG/canon_powershot_elph_360_camera.html",
    "https://www.bhphotovideo.com/c/product/1899782-REG/fujifilm_16953962_x_m5_body_silver_with.html"
  ],
  "ignore_url_failures": true
}
```

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "urls": [
        "https://www.bhphotovideo.com/c/product/1748813-REG/canon_eos_r8_mirrorless_camera.html",
        "https://www.bhphotovideo.com/c/product/1900551-REG/fujifilm_16949882_x_e5_mirrorless_camera_with.html",
        "https://www.bhphotovideo.com/c/product/1748813-REG/canon_eos_r8_mirrorless_camera.html",
        "https://www.bhphotovideo.com/c/product/1933661-REG/canon_powershot_elph_360_camera.html",
        "https://www.bhphotovideo.com/c/product/1899782-REG/fujifilm_16953962_x_m5_body_silver_with.html"
    ],
    "ignore_url_failures": true
};

// Run the Actor and wait for it to finish
const run = await client.actor("soft_alexist/bhphotovideo-product-details-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "urls": [
        "https://www.bhphotovideo.com/c/product/1748813-REG/canon_eos_r8_mirrorless_camera.html",
        "https://www.bhphotovideo.com/c/product/1900551-REG/fujifilm_16949882_x_e5_mirrorless_camera_with.html",
        "https://www.bhphotovideo.com/c/product/1748813-REG/canon_eos_r8_mirrorless_camera.html",
        "https://www.bhphotovideo.com/c/product/1933661-REG/canon_powershot_elph_360_camera.html",
        "https://www.bhphotovideo.com/c/product/1899782-REG/fujifilm_16953962_x_m5_body_silver_with.html",
    ],
    "ignore_url_failures": True,
}

# Run the Actor and wait for it to finish
run = client.actor("soft_alexist/bhphotovideo-product-details-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "urls": [
    "https://www.bhphotovideo.com/c/product/1748813-REG/canon_eos_r8_mirrorless_camera.html",
    "https://www.bhphotovideo.com/c/product/1900551-REG/fujifilm_16949882_x_e5_mirrorless_camera_with.html",
    "https://www.bhphotovideo.com/c/product/1748813-REG/canon_eos_r8_mirrorless_camera.html",
    "https://www.bhphotovideo.com/c/product/1933661-REG/canon_powershot_elph_360_camera.html",
    "https://www.bhphotovideo.com/c/product/1899782-REG/fujifilm_16953962_x_m5_body_silver_with.html"
  ],
  "ignore_url_failures": true
}' |
apify call soft_alexist/bhphotovideo-product-details-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=soft_alexist/bhphotovideo-product-details-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/acts/5SWk9QUgrlK3gr6S3/builds/MEwdrSvirV08gU9vN/openapi.json
