Best Buy API endpoint
Returns page 1 (up to 20) of one Best Buy product's customer reviews (rating, title, text, author, posted date, tags such as Verified Purchaser, recommended flag, helpful/unhelpful counts). sku is the numeric Best Buy SKU shown on bestbuy.com product pages and URLs.
/bestbuy/product/reviewssku is required -- the numeric Best Buy SKU shown on bestbuy.com product pages and URLs (e.g. 6673590).
Notable response behavior:
rating and review_count reflect the product's overall aggregate rating, not any single review.posted is the upstream's own relative time text (e.g. Posted 3 days ago); no absolute timestamp is available.tags may include reviewer badges such as Incentivized, Verified Purchaser, Owned for 2 weeks, Tech Insider Network Member, or a contributor rank; it is omitted when a review carries none.recommended is present only when the review explicitly states "I would recommend this to a friend"; it is omitted (not false) otherwise.| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| sku | string | Yes | Numeric Best Buy SKU | 6673590 | |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/bestbuy/product/reviews?sku=6673590" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"sku": "6673590",
"rating": 4.6,
"review_count": 28,
"count": 20,
"source_url": "https://www.bestbuy.com/product/asus-rog-zephyrus-g16/JJGHGSJZR6/sku/6673590/reviews?intl=nosplash",
"fetched_at": "2026-08-15T10:00:00Z",
"reviews": [
{
"rating": 5,
"title": "High-end laptop",
"text": "If you have some extra cash to invest, I'd say it's totally worth it...",
"author": "nhim",
"posted": "Posted 3 days ago",
"tags": [
"Incentivized",
"Verified Purchaser",
"Owned for 2 weeks"
],
"recommended": true,
"helpful": 0,
"unhelpful": 0
}
]
}
}Request schema
No body schema
Response schema
#/definitions/bestbuy.productReviewsResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | bestbuy.ProductReviewsResponse | No | ||||
| data.count | integer | No | 20 | |||
| data.fetched_at | string | No | ||||
| data.rating | number | No | 4.6 | |||
| data.review_count | integer | No | 28 | |||
| data.reviews | array | No | ||||
| data.reviews[].author | string | No | nhim | |||
| data.reviews[].helpful | integer | No | ||||
| data.reviews[].posted | string | No | Posted 3 days ago | |||
| data.reviews[].rating | number | No | 5 | |||
| data.reviews[].recommended | boolean | No | ||||
| data.reviews[].tags | array | No | Verified Purchaser | |||
| data.reviews[].text | string | No | ||||
| data.reviews[].title | string | No | ||||
| data.reviews[].unhelpful | integer | No | ||||
| data.sku | string | No | 6673590 | |||
| data.source_url | string | No | ||||
| msg | string | No | OK |
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/definitions/app.Response |
| 429 | Too Many Requests | #/definitions/app.Response |
| 503 | Service Unavailable | #/definitions/app.Response |
Use environment variables for secrets and keep Crawlora API keys server-side.
curl -X GET "https://api.crawlora.net/api/v1/bestbuy/product/reviews?sku=6673590" \
-H "x-api-key: $CRAWLORA_API_KEY"