logo
languageENdown
menu

BestBuy Canada Reviews

Give one Best Buy Canada product page URL and an expected review count to receive public reviews, ratings, reviewer names, and review times

Overview

Public Best Buy Canada reviews capture how shoppers describe a product in their own words. Given one Canada product page, the result turns the public review area into a consistent set of records covering titles, body text, star ratings, reviewer names, product identifiers, and review times.

The result is built for product-page reputation work rather than scrolling a review gallery. Each review stays tied to the same product URL, SKU, and review link, so praise, complaints, and rating mix can be compared across products and collection runs with the same fields.

Data notes

The data covers publicly visible Best Buy Canada product reviews for the supplied product page at collection time. Reviews follow the selected sort order, and each normal record is identified by its Comment ID so duplicates across collected pages are merged. Deleted, hidden, login-only, and non-Canada-site reviews are outside the coverage.

Rating, Review text, Review title, Reviewer name, and media links are snapshots and may change after collection. Review location keeps the source location label and may name another Best Buy site even on a Canada product page. Reviewed at keeps the source display time without inferring a timezone; Collected at uses the collection timestamp; Created timestamp and Updated timestamp are millisecond values from the source record. Site code, Platform code, SKU ID, and SPU ID keep source identifiers. Review images and Review videos store source link lists as text. Empty source fields stay empty.

What the results look like

Each normal record represents one publicly visible review of the selected Best Buy Canada product.

Comment IDReview titleRatingReviewer nameReviewed at
355520176Bass in Your Bones: The Shokz OpenRun 2 Review5RogueWave2024/08/28 09:56:43
355487208Better Than Before But Not Best4hitsuyoo2024/08/27 23:44:37

Use cases

  • Split reviews by Rating, then read Review title and Review text to group high-score praise and low-score complaints.
  • Compare Product URL, Rating, and Reviewed at across products to see how reputation differs over time.
  • Use Reviewer name, Review text, and Review images to find detailed first-hand usage stories and buyer photos.

Scope and boundaries

Each run accepts 1 Best Buy Canada product. The review count is an expected value, so the actual result may be fewer, equal, or more. Results are pulled 20 reviews per page. Only publicly available reviews are covered. Pull protection capacity is 100 pages / 2,000 reviews.

  • Good for
  • When you need public review details for one Best Buy Canada product
  • When you need review text, ratings, reviewer names, product identifiers, and review times for reputation analysis
  • Do not use for
  • When you need more than one product in a single run — submit a separate run for each product
  • When you need Best Buy US or other country-site reviews
  • When you need deleted, hidden, or login-only reviews

Failure handling

Failure and retry behavior declared by the author. We recommend including it in your system prompt when integrating.

  1. 1If no reviews are returned, verify the product page URL and that reviews are publicly visible, then retry
  2. 2On partial success, keep the completed reviews and use the task status failure counts to judge coverage
  3. 3When submission is unknown, failed, or expired, confirm the product URL and credentials, then submit a new collection
  4. 4Retry later after rate limiting or temporary unavailability

Input

Parameters required to call this App, generated from the input.schema in manifest.json.

FieldBusiness nameTypeRequiredDefaultEnum / ConstraintsExampleDescription
product_urlProduct page URLstringYes——https://www.bestbuy.ca/en-ca/product/18188846Enter the full Best Buy Canada product page URL, for example https://www.bestbuy.ca/en-ca/product/18188846.
expected_countExpected review countstringYes——2Enter the expected number of reviews as a positive integer. This is not a strict maximum, so the actual result may be fewer, equal, or more than this value.
order_typeReview sort orderstring(enum)Yes—4 (Newest) / 8 (Most relevant) / 9 (Most helpful) / 10 (Oldest) / 11 (Highest rating) / 12 (Lowest rating)8Choose how reviews are ordered: 4 is newest, 8 is most relevant, 9 is most helpful, 10 is oldest, 11 is highest rating, and 12 is lowest rating.

Output

Field structure of a single record, generated from the output.schema in manifest.json.

FieldBusiness nameTypeExampleDescription
biz_idBusiness IDstringhttps://www.bestbuy.ca/en-ca/product/18188846Business identifier for the reviewed product, usually the product URL. Empty when the source has no value.
comment_idComment IDstring355520176Stable review identifier used to recognize and deduplicate a review. Empty when the source has no value.
comment_locationReview locationstringBest Buy USSource location label for the review. It may name another Best Buy site even on a Canada product page. Empty when the source has no value.
comment_textReview textstring[This review was collected as part of a promotion.] I was initially skeptical about the Shokz OpenRun Pro 2 bone conduction headphones. Having never experienced anything like them, I wasn’t convinced that their unique shape and bone conduction technology would deliver a satisfying audio experience. However, from the moment I put them on, I realized Shokz was onto something truly remarkable. The fit of these headphones is incredibly comfortable. As soon as I wrapped them around my head and positioned them over my ears, I decided to put them to the test by shaking my head vigorously. They stayed securely in place without any movement—these things weren’t going anywhere. Pairing them with my phone was a breeze, taking only seconds, and I was ready to dive into the sound experience. When I say I was blown away, I’m not exaggerating. The sound quality is unlike anything I’ve experienced before. While these aren’t designed to be audiophile-grade headphones, they excel in their intended purpose—running, biking, and exercising. The open-ear feature not only enhances safety and comfort but also makes it feel like you have your own personal soundtrack playing as you move about. Since taking them out of the case, I haven’t taken them off. The OpenRun Pro 2 boasts upgraded bass compared to the original model, and it certainly doesn’t disappoint. They’re equipped with IP55 water resistance, offering 12 hours of battery life and quick charging. The inclusion of AI noise-canceling and wind-resistant microphones ensures clear calls and minimal disruption from environmental noise. Charging via a USB-C in a waterproof port is both convenient and practical. I wholeheartedly recommend these headphones to anyone who enjoys running, biking, exercising, or simply wants to listen to music while maintaining situational awareness. The open-ear design is a standout feature, providing a far better experience than the awareness modes in other headphones, which often produce distracting, tinny sounds. The Shokz OpenRun Pro 2 excels in situational awareness without sacrificing sound quality. As a bonus, I found that wearing these headphones while sleeping was surprisingly pleasant. Unlike earbuds that can dig into your ears and cause discomfort over time, these headphones are the perfect solution for someone like me, with small ear canals. They’ve quickly become a staple in my daily routine, and I’m absolutely in love with them!Full review body text. Empty when the source has no value.
comment_timeReviewed atstring2024/08/28 09:56:43Review display time in the source format, without an inferred timezone. Empty when the source has no value.
comment_titleReview titlestringBass in Your Bones: The Shokz OpenRun 2 ReviewReview title. Empty when the source has no value.
comment_typeReview typestring1Source review type code. Empty when the source has no value.
comment_urlReview URLstringhttps://www.bestbuy.ca/en-ca/product/18188846/reviewReview detail page URL. Empty when the source has no value.
crawl_timeCollected atstring2026-09-07T11:16:32Timestamp when this record was collected. Empty when the source has no value.
created_atCreated timestampinteger1788750992953Source record created-at value as a millisecond timestamp. Empty when the source has no value.
image_url_listReview imagesstring["https://photos-us.bazaarvoice.com/photo/2/cGhvdG86YmVzdGJ1eQ/493fa088-538f-5aee-935c-ae01cae47c42", "https://photos-us.bazaarvoice.com/photo/2/cGhvdG86YmVzdGJ1eQ/add47f81-3ec7-57c7-8997-59811684dab2", "https://photos-us.bazaarvoice.com/photo/2/cGhvdG86YmVzdGJ1eQ/ac10e7e9-d3a5-5a2a-a38c-cc9d0554f513", "https://photos-us.bazaarvoice.com/photo/2/cGhvdG86YmVzdGJ1eQ/30c12729-c86e-54e2-8d49-a7090c99e910", "https://photos-us.bazaarvoice.com/photo/2/cGhvdG86YmVzdGJ1eQ/e1d5b1aa-1c96-5cee-baf8-59fc1c7993e3", "https://photos-us.bazaarvoice.com/photo/2/cGhvdG86YmVzdGJ1eQ/96a88bb4-42ec-5015-88f4-c9e38482d071"]Review image URLs stored as source text, often a JSON list string. Empty when the source has no value.
item_image_url_listProduct imagesstring—Product image URLs stored as source text. Empty when the source has no value.
item_sale_propProduct sale attributesstring—Product sale-attribute text from the source. Empty when the source has no value.
job_typeJob typestringCommentSource job type label. Empty when the source has no value.
level_nameLevel namestringoctopusSource data-level label. Empty when the source has no value.
parent_comment_idParent comment IDstring0Parent review identifier; top-level reviews commonly use 0. Empty when the source has no value.
platform_codePlatform codestringbestbuySource platform code. Empty when the source has no value.
product_titleProduct titlestring—Title of the reviewed product. Empty when the source has no value.
product_urlProduct URLstringhttps://www.bestbuy.ca/en-ca/product/18188846Product page URL linked to the review. Empty when the source has no value.
publish_timePublished atstring—Review publish time from the source. Empty when the source has no value.
rating_scoreRatingstring5Source rating text, such as a 1 to 5 score. Empty when the source has no value.
sale_propSale attributesstring—Sale attributes associated with the review. Empty when the source has no value.
shop_idShop IDstring—Shop identifier. Empty when the source has no value.
shop_nameShop namestring—Shop name. Empty when the source has no value.
site_codeSite codestring.caSource site code, such as .ca. Empty when the source has no value.
sku_idSKU IDstring18188846Product SKU identifier. Empty when the source has no value.
source_crawler_timeSource collected atstring—Collection time recorded by the source system. Empty when the source has no value.
spu_idSPU IDstring18188846Product SPU identifier. Empty when the source has no value.
updated_atUpdated timestampinteger1788750992953Source record updated-at value as a millisecond timestamp. Empty when the source has no value.
use_situationUsage contextstring—Usage context recorded with the review. Empty when the source has no value.
user_ageReviewer agestring—Reviewer age text from the source. Empty when the source has no value.
user_avatar_urlReviewer avatarstring—Reviewer avatar URL. Empty when the source has no value.
user_idReviewer IDstring—Reviewer identifier. Empty when the source has no value.
user_nameReviewer namestringRogueWaveReviewer display name. Empty when the source has no value.
user_sexReviewer genderstring—Reviewer gender text from the source. Empty when the source has no value.
video_url_listReview videosstring—Review video URLs stored as source text. Empty when the source has no value.
task_itemSource product URLstringhttps://www.bestbuy.ca/en-ca/product/18188846Product page URL submitted for this collection item.
no_dataNo databooleanfalseWhether this collection item has no available review data.

Record schema

Output is returned record by record. detail.output.idFieldHint

output.schema
{
  "type": "object",
  "properties": {
    "biz_id": {
      "type": "string",
      "title": "Business ID",
      "description": "Business identifier for the reviewed product, usually the product URL. Empty when the source has no value.",
      "prefill": "https://www.bestbuy.ca/en-ca/product/18188846"
    },
    "comment_id": {
      "type": "string",
      "title": "Comment ID",
      "description": "Stable review identifier used to recognize and deduplicate a review. Empty when the source has no value.",
      "prefill": "355520176"
    },
    "comment_location": {
      "type": "string",
      "title": "Review location",
      "description": "Source location label for the review. It may name another Best Buy site even on a Canada product page. Empty when the source has no value.",
      "prefill": "Best Buy US"
    },
    "comment_text": {
      "type": "string",
      "title": "Review text",
      "description": "Full review body text. Empty when the source has no value.",
      "prefill": "[This review was collected as part of a promotion.] I was initially skeptical about the Shokz OpenRun Pro 2 bone conduction headphones. Having never experienced anything like them, I wasn’t convinced that their unique shape and bone conduction technology would deliver a satisfying audio experience. However, from the moment I put them on, I realized Shokz was onto something truly remarkable.\n\n \n\nThe fit of these headphones is incredibly comfortable. As soon as I wrapped them around my head and positioned them over my ears, I decided to put them to the test by shaking my head vigorously. They stayed securely in place without any movement—these things weren’t going anywhere. Pairing them with my phone was a breeze, taking only seconds, and I was ready to dive into the sound experience.\n\n \n\nWhen I say I was blown away, I’m not exaggerating. The sound quality is unlike anything I’ve experienced before. While these aren’t designed to be audiophile-grade headphones, they excel in their intended purpose—running, biking, and exercising. The open-ear feature not only enhances safety and comfort but also makes it feel like you have your own personal soundtrack playing as you move about. Since taking them out of the case, I haven’t taken them off.\n\n \n\nThe OpenRun Pro 2 boasts upgraded bass compared to the original model, and it certainly doesn’t disappoint. They’re equipped with IP55 water resistance, offering 12 hours of battery life and quick charging. The inclusion of AI noise-canceling and wind-resistant microphones ensures clear calls and minimal disruption from environmental noise. Charging via a USB-C in a waterproof port is both convenient and practical.\n\n \n\nI wholeheartedly recommend these headphones to anyone who enjoys running, biking, exercising, or simply wants to listen to music while maintaining situational awareness. The open-ear design is a standout feature, providing a far better experience than the awareness modes in other headphones, which often produce distracting, tinny sounds. The Shokz OpenRun Pro 2 excels in situational awareness without sacrificing sound quality.\n\n \n\nAs a bonus, I found that wearing these headphones while sleeping was surprisingly pleasant. Unlike earbuds that can dig into your ears and cause discomfort over time, these headphones are the perfect solution for someone like me, with small ear canals. They’ve quickly become a staple in my daily routine, and I’m absolutely in love with them!"
    },
    "comment_time": {
      "type": "string",
      "title": "Reviewed at",
      "description": "Review display time in the source format, without an inferred timezone. Empty when the source has no value.",
      "prefill": "2024/08/28 09:56:43"
    },
    "comment_title": {
      "type": "string",
      "title": "Review title",
      "description": "Review title. Empty when the source has no value.",
      "prefill": "Bass in Your Bones: The Shokz OpenRun 2 Review"
    },
    "comment_type": {
      "type": "string",
      "title": "Review type",
      "description": "Source review type code. Empty when the source has no value.",
      "prefill": "1"
    },
    "comment_url": {
      "type": "string",
      "title": "Review URL",
      "description": "Review detail page URL. Empty when the source has no value.",
      "prefill": "https://www.bestbuy.ca/en-ca/product/18188846/review"
    },
    "crawl_time": {
      "type": "string",
      "title": "Collected at",
      "description": "Timestamp when this record was collected. Empty when the source has no value.",
      "prefill": "2026-09-07T11:16:32"
    },
    "created_at": {
      "type": "integer",
      "title": "Created timestamp",
      "description": "Source record created-at value as a millisecond timestamp. Empty when the source has no value.",
      "prefill": 1788750992953
    },
    "image_url_list": {
      "type": "string",
      "title": "Review images",
      "description": "Review image URLs stored as source text, often a JSON list string. Empty when the source has no value.",
      "prefill": "[\"https://photos-us.bazaarvoice.com/photo/2/cGhvdG86YmVzdGJ1eQ/493fa088-538f-5aee-935c-ae01cae47c42\", \"https://photos-us.bazaarvoice.com/photo/2/cGhvdG86YmVzdGJ1eQ/add47f81-3ec7-57c7-8997-59811684dab2\", \"https://photos-us.bazaarvoice.com/photo/2/cGhvdG86YmVzdGJ1eQ/ac10e7e9-d3a5-5a2a-a38c-cc9d0554f513\", \"https://photos-us.bazaarvoice.com/photo/2/cGhvdG86YmVzdGJ1eQ/30c12729-c86e-54e2-8d49-a7090c99e910\", \"https://photos-us.bazaarvoice.com/photo/2/cGhvdG86YmVzdGJ1eQ/e1d5b1aa-1c96-5cee-baf8-59fc1c7993e3\", \"https://photos-us.bazaarvoice.com/photo/2/cGhvdG86YmVzdGJ1eQ/96a88bb4-42ec-5015-88f4-c9e38482d071\"]"
    },
    "item_image_url_list": {
      "type": "string",
      "title": "Product images",
      "description": "Product image URLs stored as source text. Empty when the source has no value."
    },
    "item_sale_prop": {
      "type": "string",
      "title": "Product sale attributes",
      "description": "Product sale-attribute text from the source. Empty when the source has no value."
    },
    "job_type": {
      "type": "string",
      "title": "Job type",
      "description": "Source job type label. Empty when the source has no value.",
      "prefill": "Comment"
    },
    "level_name": {
      "type": "string",
      "title": "Level name",
      "description": "Source data-level label. Empty when the source has no value.",
      "prefill": "octopus"
    },
    "parent_comment_id": {
      "type": "string",
      "title": "Parent comment ID",
      "description": "Parent review identifier; top-level reviews commonly use 0. Empty when the source has no value.",
      "prefill": "0"
    },
    "platform_code": {
      "type": "string",
      "title": "Platform code",
      "description": "Source platform code. Empty when the source has no value.",
      "prefill": "bestbuy"
    },
    "product_title": {
      "type": "string",
      "title": "Product title",
      "description": "Title of the reviewed product. Empty when the source has no value."
    },
    "product_url": {
      "type": "string",
      "title": "Product URL",
      "description": "Product page URL linked to the review. Empty when the source has no value.",
      "prefill": "https://www.bestbuy.ca/en-ca/product/18188846"
    },
    "publish_time": {
      "type": "string",
      "title": "Published at",
      "description": "Review publish time from the source. Empty when the source has no value."
    },
    "rating_score": {
      "type": "string",
      "title": "Rating",
      "description": "Source rating text, such as a 1 to 5 score. Empty when the source has no value.",
      "prefill": "5"
    },
    "sale_prop": {
      "type": "string",
      "title": "Sale attributes",
      "description": "Sale attributes associated with the review. Empty when the source has no value."
    },
    "shop_id": {
      "type": "string",
      "title": "Shop ID",
      "description": "Shop identifier. Empty when the source has no value."
    },
    "shop_name": {
      "type": "string",
      "title": "Shop name",
      "description": "Shop name. Empty when the source has no value."
    },
    "site_code": {
      "type": "string",
      "title": "Site code",
      "description": "Source site code, such as .ca. Empty when the source has no value.",
      "prefill": ".ca"
    },
    "sku_id": {
      "type": "string",
      "title": "SKU ID",
      "description": "Product SKU identifier. Empty when the source has no value.",
      "prefill": "18188846"
    },
    "source_crawler_time": {
      "type": "string",
      "title": "Source collected at",
      "description": "Collection time recorded by the source system. Empty when the source has no value."
    },
    "spu_id": {
      "type": "string",
      "title": "SPU ID",
      "description": "Product SPU identifier. Empty when the source has no value.",
      "prefill": "18188846"
    },
    "updated_at": {
      "type": "integer",
      "title": "Updated timestamp",
      "description": "Source record updated-at value as a millisecond timestamp. Empty when the source has no value.",
      "prefill": 1788750992953
    },
    "use_situation": {
      "type": "string",
      "title": "Usage context",
      "description": "Usage context recorded with the review. Empty when the source has no value."
    },
    "user_age": {
      "type": "string",
      "title": "Reviewer age",
      "description": "Reviewer age text from the source. Empty when the source has no value."
    },
    "user_avatar_url": {
      "type": "string",
      "title": "Reviewer avatar",
      "description": "Reviewer avatar URL. Empty when the source has no value."
    },
    "user_id": {
      "type": "string",
      "title": "Reviewer ID",
      "description": "Reviewer identifier. Empty when the source has no value."
    },
    "user_name": {
      "type": "string",
      "title": "Reviewer name",
      "description": "Reviewer display name. Empty when the source has no value.",
      "prefill": "RogueWave"
    },
    "user_sex": {
      "type": "string",
      "title": "Reviewer gender",
      "description": "Reviewer gender text from the source. Empty when the source has no value."
    },
    "video_url_list": {
      "type": "string",
      "title": "Review videos",
      "description": "Review video URLs stored as source text. Empty when the source has no value."
    },
    "task_item": {
      "type": "string",
      "title": "Source product URL",
      "description": "Product page URL submitted for this collection item.",
      "prefill": "https://www.bestbuy.ca/en-ca/product/18188846"
    },
    "no_data": {
      "type": "boolean",
      "title": "No data",
      "description": "Whether this collection item has no available review data.",
      "prefill": false
    }
  },
  "required": [],
  "additionalProperties": false
}

Integration

This App can be integrated via MCP, API, SDK, or file export. All channels share the same capabilities and pricing. Every request authenticates with the Authorization: Bearer header using an API key (long-lived, created in the Data Hub Console); MCP clients can also sign in with OAuth, no key required. More options such as CLI and Skill are on the way.

With the MCP (Model Context Protocol), you can call this App directly from AI clients like Claude and Cursor. Pick your client and auth mode, then copy the config below.

Client config

Replace the value after Bearer with your long-lived API key. Works in any client, CI, or headless environment.

mcpServers config
{
  "mcpServers": {
    "hello_moto__bestbuy-ca-comment": {
      "type": "http",
      "url": "https://mcp-v2.octoparse.com?pin=hello_moto/bestbuy-ca-comment",
      "headers": { "Authorization": "Bearer <YOUR_API_KEY>" }
    }
  }
}

Let AI set it up for you

Don't want to edit configs by hand? Copy the install prompt and paste it into any AI client. It will complete the setup its own way. (The prompt asks the AI to request your API key from you, so credentials never end up in chat history or shared configs.)

detail.access.mcp.composeHint

Pricing

Submit one review collection

Charged once per submitted run, regardless of how many records are returned.

$0.0001/ run
Return one review

Charged by the number of records successfully returned. Failed runs are not charged. Billed in units of 20 record; any partial unit is rounded up to 20 record.

$0.004/ 20 record

Multiple billing events accumulate independently. See each item for details. Failed runs are not charged.

View credits

Try it now

Fill in the parameters and run. Results come from a real call.

Example
Parameters are validated against input.schema before submission
Please fill in the required parameters first
From $0.004 / 20 record