API Description

Best Buy Reviews API Collect Best Buy product reviews, ratings, publication dates and images.

Request URL

POST https://scrapeapi.pangolinfo.com/api/v1/ecommerce/bestbuy/reviews

Request Headers

ParametersParameter valueTypeDescription
Content-Typeapplication/jsonstringData format
AuthorizationBearer xxxstringAuthorization Token

Collection timeout: 90 seconds. Allow at least 105 seconds in your client.

Request Parameters

ParameterRequiredTypeDescription
countryYesstringStorefront country code.
Values: [“CA”, “US”]
productIdNostringProduct ID as a string; supply productId or productUrl.
productUrlNostringProduct URL on a configured storefront; alternative to productId.
Maximum length: 2048
pageNointegerPages start at 1. Continue with data.pagination.nextPage.
Default: 1
Minimum: 1
Maximum: 300001
pageSizeNointegerSee site table for defaults and limits; omit to use storefront default.
Minimum: 1
Maximum: 100
includeNativeNobooleanDefaults to true; includes original platform fields.
allowStaleNobooleanDefaults to false; true permits stale cache on failure, identified in meta.
refreshNobooleanDefaults to false; true bypasses fresh cache.

Supply at least one of productId or productUrl. Product IDs must be strings.

Supported Storefronts

CountryDefault page sizeMaximum page size
US2020
CA20100

Reviews are returned in newest order.

Response Fields

FieldTypeDescription
codeintegerStatus code; 0 indicates success.
messagestringResponse message; ok on success.
pointCostnumberPoints charged for the complete response.
dataobject | nullCollected data, described below.

data Fields

FieldTypeDescription
countrystringStorefront country, not the review author’s country.
paginationobjectPagination details; continue using nextPage.
productIdstringProduct ID, returned as a string.
queryobjectEffective search parameters.
warningsstring[]Collection scope and data interpretation notes.
storestringstore
totalsobjectReported totals and returned counts, which may use different count semantics.
platformstringPlatform identifier.
sourceUrlstringsourceUrl
providerstringprovider
metaobjectCollection status and cache metadata.
schemaFingerprintstringschemaFingerprint
capturedAtstringCollection timestamp.
productSummaryobjectAggregate product rating and star distribution.
resultsobject[]Primary records returned by this request.
statisticsobjectstatistics

data.pagination Fields

FieldTypeDescription
nextPageintegerNext page number; null indicates the end.
totalPagesintegerTotal pages; null when unknown.
pageSizeintegerRecords per page.
hasNextbooleanWhether another page is available.
pageintegerCurrent page number.

data.totals Fields

FieldTypeDescription
queryintegerEffective search parameters.
reportedintegerreported
returnedintegerreturned
withTextintegerwithText

data.meta Fields

FieldTypeDescription
cachestringcache
stalebooleanstale
ageSecondsintegerageSeconds
operationIdstringoperationId
upstreamAttemptsintegerupstreamAttempts
coalescedbooleancoalesced

data.productSummary Fields

FieldTypeDescription
withTextCountnullText review count; null when unavailable.
reviewCountnullReview count; null when unavailable.
averageRatingnumberAggregate average rating.
scopestringScope covered by the aggregate.
warningsany[]Collection scope and data interpretation notes.
sourcestringSource of the aggregate statistics.
totalCountintegerPlatform total, interpreted using countKind.
countKindstringCount semantics, distinguishing all ratings from text reviews.
starDistributionobjectCounts for ratings from 1 to 5 stars.

data.productSummary.starDistribution Fields

FieldTypeDescription
1integer1
2integer2
3integer3
4integer4
5integer5

data.results[] Fields

FieldTypeDescription
reviewIdstringUnique review identifier.
contentstringBody text in the original language.
titlestring | nullReview or post title; null when unavailable.
authorstring | nullAuthor name.
starstring | nullReview rating as a string, e.g. 5.0.
datestring | nullReview date reported by the platform.
createdAtstring | nullFull publication timestamp; null when unavailable.
purchasedboolean | nullVerified purchase status; null when unknown.
imgsstring[]Image URL array.
photosany[]Original image objects, including available sizes.
videosany[]Video array.
nativeobjectOriginal platform fields, controlled by includeNative.

data.statistics Fields

FieldTypeDescription
statsobjectstats

data.statistics.stats Fields

FieldTypeDescription
verifiedPurchaseCountintegerverifiedPurchaseCount
overallStatsobjectoverallStats
prosDistributionobject[]prosDistribution
skustringsku
distributionobject[]distribution
consDistributionobject[]consDistribution

imgs supports Best Buy CA imageUrl and Judge.me original. photos retains original image objects and sizes. Unavailable ratings and dates remain null.

Continue using data.pagination.nextPage until null. Deduplicate reviews across pages using reviewId.

Errors retain the response envelope and data.error. Codes: invalid parameters 1002, rate limit 4029, busy 5001, collection failure 9200. HTTP 503 cooldown responses retain Retry-After.

Request Example

curl --request POST \
  --url https://scrapeapi.pangolinfo.com/api/v1/ecommerce/bestbuy/reviews \
  --header 'Authorization: Bearer YOUR_PANGOLINFO_API_KEY' \
  --header 'Content-Type: application/json' \
  --data '{
  "country": "US",
  "productId": "6579466"
}'

Response Example

This excerpt retains the first list item and shortens long text and URLs. pointCost is the charge for the complete response.

{
  "code": 0,
  "pointCost": 16.0,
  "data": {
    "country": "US",
    "pagination": {
      "nextPage": 2,
      "totalPages": 17,
      "pageSize": 20,
      "hasNext": true,
      "page": 1
    },
    "productId": "6579466",
    "query": {
      "includeRatings": true,
      "pageSize": 20,
      "page": 1,
      "sort": "newest"
    },
    "warnings": [
      "Live pagination can shift as reviews are added. Deduplicate by review ID and reconcile page 1."
    ],
    "store": "roborock",
    "totals": {
      "query": 330,
      "reported": 330,
      "returned": 20,
      "withText": 20
    },
    "platform": "bestbuy",
    "sourceUrl": "https://www.bestbuy.com/product/roborock-s8-maxv-ultra-robot-vacuum-and-mop-with-flexiarm-design-side-brush-10000-pa-suction-and-8-in-1-rockdock-ultra-white/...",
    "provider": "bestbuy-us",
    "meta": {
      "cache": "miss",
      "stale": false,
      "ageSeconds": 0,
      "operationId": "211724e6-9df7-485c-95eb-aa777451eafe",
      "upstreamAttempts": 1,
      "coalesced": false
    },
    "schemaFingerprint": "7fc5f8804fe7f91959bbeea3a52aecab870389d4a2094783474e73eff6f7a0c2",
    "capturedAt": "2026-11-07T11:49:31.162Z",
    "productSummary": {
      "withTextCount": null,
      "reviewCount": null,
      "averageRating": 4.4,
      "scope": "upstream_product_or_review_group",
      "warnings": [],
      "source": "Best Buy US stats.overallStats",
      "totalCount": 330,
      "countKind": "platform_review_total",
      "starDistribution": {
        "1": 29,
        "2": 8,
        "3": 18,
        "4": 31,
        "5": 244
      }
    },
    "results": [
      {
        "date": "2026-10-14",
        "imgs": [],
        "merchantResponses": [],
        "syndication": {
          "incentivized": true
        },
        "star": "5.0",
        "author": "G2K305",
        "actualProductId": "6579466",
        "videos": [],
        "language": null,
        "title": "Great product",
        "photos": [],
        "content": "Great product been using it foryears now  Wuiet and efficient",
        "createdAt": "2026-10-14T17:00:19.000-05:00",
        "actualProductUrl": null,
        "purchased": true,
        "native": {
          "negativeFeedbackCount": 0,
          "author": "G2K305",
          "rating": 5,
          "brandResponses": [],
          "secondaryRatings": [],
          "title": "Great product",
          "qualityRating": null,
          "writeCommentUrl": "/site/reviews/submission/6579466/review/444218848?campaignid=RR_&return=",
          "photos": [],
          "easeOfUseRating": null,
          "submissionTime": "2026-10-14T17:00:19.000-05:00",
          "topicType": "review",
          "recommended": true,
          "commentCount": 0,
          "badges": [
            {
              "badgeDescription": "This reviewer received promo considerations or sweepstakes entry for writing a review.",
              "fileName": null,
              "iconText": null,
              "badgeType": "Custom",
              "badgeName": "Incentivized",
              "badgeCode": "Incentivized",
              "index": 90900,
              "iconPath": null
            }
          ],
          "pros": null,
          "positiveFeedbackCount": 0,
          "valueRating": null,
          "id": "1b68b50a-965c-31a4-96fb-b82858863cbe",
          "text": "Great product been using it foryears now  Wuiet and efficient",
          "daysOfOwnership": 549,
          "cons": null
        },
        "reviewId": "1b68b50a-965c-31a4-96fb-b82858863cbe"
      }
    ],
    "statistics": {
      "stats": {
        "verifiedPurchaseCount": 316,
        "overallStats": {
          "topRated": false,
          "overallConsDistributions": [
            {
              "roundedPercent": 50,
              "count": 7,
              "value": "Durability",
              "actualPercent": 50
            }
          ],
          "averageOverallRating": 4.4,
          "overallProsDistributions": [
            {
              "roundedPercent": 49,
              "count": 115,
              "value": "Cleaning Performance",
              "actualPercent": "48.93617021276596"
            }
          ],
          "recommendedPercent": 85,
          "overallDistributions": [
            {
              "roundedPercent": 74,
              "count": 244,
              "value": 5,
              "actualPercent": "73.93939393939394"
            }
          ],
          "totalReviewCount": 330
        },
        "prosDistribution": [
          {
            "roundedPercent": 49,
            "count": 115,
            "value": "Cleaning Performance",
            "actualPercent": "48.93617021276596"
          }
        ],
        "sku": "6579466",
        "distribution": [
          {
            "roundedPercent": 74,
            "count": 244,
            "value": 5,
            "actualPercent": "73.93939393939394"
          }
        ],
        "consDistribution": [
          {
            "roundedPercent": 50,
            "count": 7,
            "value": "Durability",
            "actualPercent": 50
          }
        ]
      }
    }
  },
  "message": "ok"
}

Points Usage

0.8 points per unique review within the response.

Each successful call is billed independently, including cached responses. Errors and empty lists cost zero; pointCost reports the charge.