Microsoft Store API endpoint
Returns a product's aggregate rating: average rating, total review count, a 1-5 star rating distribution, and the upstream-selected most critical and most favorable written reviews.
/microsoftstore/reviews/summaryReturns a Microsoft Store product's aggregate rating summary.
Query parameters:
product_id (required) — Microsoft Store product id, e.g. 9NCBCSZSJRSB.country (optional, default US) — store country/region code (ISO-2).locale (optional, default en-US) — display locale (BCP-47).Returns product_id, rating_status, average_rating, review_count, rating_distribution (an object keyed "1"-"5" mapping each star value to its upstream rating count — this is the store's overall rating histogram, not limited to written reviews), most_critical_review and most_favorable_review (each a review object, same shape as /microsoftstore/reviews' reviews[] entries, upstream-selected — present only when the product has written reviews), and source_url.
| Field | In the sample | Value in the sample |
|---|---|---|
| product_id | Has a value | |
| rating_status | Has a value | |
| average_rating | Has a value | 4.3 |
| review_count | Has a value | 299 |
| rating_distribution | Has a value | |
| most_critical_review.id | Has a value | |
| most_critical_review.reviewer_name | Has a value | |
| most_critical_review.rating | Has a value | 1 |
| most_critical_review.title | Has a value | |
| most_critical_review.text | Has a value | 992 characters |
| most_critical_review.market | Has a value | |
| most_critical_review.locale | Has a value | |
| most_critical_review.submitted_at_utc | Has a value | 2026-07-12 |
| most_critical_review.helpful_positive | Has a value | 93 |
| most_critical_review.helpful_negative | Has a value | 45 |
| most_critical_review.os_version | Has a value | |
| most_critical_review.device_family | Has a value | |
| most_favorable_review.id | Has a value | |
| most_favorable_review.reviewer_name | Has a value | |
| most_favorable_review.rating | Has a value | 4 |
| most_favorable_review.title | Has a value | |
| most_favorable_review.text | Has a value | |
| most_favorable_review.market | Has a value | |
| most_favorable_review.locale | Has a value | |
| most_favorable_review.submitted_at_utc | Has a value | 2026-08-25 |
| most_favorable_review.helpful_positive | Has a value | 4 |
| most_favorable_review.helpful_negative | Has a value | 0 |
| most_favorable_review.os_version | Has a value | |
| most_favorable_review.device_family | Has a value | |
| most_favorable_review.is_revised | Has a value | true |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| product_id | string | Yes | Microsoft Store product id | 9NCBCSZSJRSB | |
| country | string | No | Store country/region code (ISO-2) | ||
| locale | string | No | Display locale (BCP-47) | ||
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/microsoftstore/reviews/summary?product_id=9NCBCSZSJRSB&country=us" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"product_id": "9ncbcszsjrsb",
"rating_status": "RatingAvailable",
"average_rating": 4.3,
"review_count": 307,
"rating_distribution": {
"1": 4526,
"2": 1183,
"3": 2945,
"4": 3842,
"5": 21729
},
"most_critical_review": {
"id": "74a23681-6299-5cc4-5e83-a48d1c49ece6",
"reviewer_name": "constance",
"rating": 1,
"title": "spotify has fallen off. HARD.",
"text": "so, the app used to be great...",
"market": "US",
"locale": "EN-US",
"submitted_at_utc": "2026-07-12T21:41:45.0235229Z",
"helpful_positive": 74,
"helpful_negative": 30
},
"most_favorable_review": {
"id": "a80be162-85f8-1c09-a229-2e31b69eeb0a",
"reviewer_name": "Junior chainsmoker",
"rating": 4,
"title": "crappy download",
"text": "pop download",
"market": "US",
"locale": "EN-US",
"submitted_at_utc": "2026-08-25T21:50:24.4352905Z",
"helpful_positive": 4
},
"source_url": "https://apps.microsoft.com/api/Products/GetReviewsSummary/9NCBCSZSJRSB?catalogSource=BigCat&gl=US&hl=en-US"
}
}Request schema
No body schema
Response schema
#/definitions/microsoftstore.reviewsSummaryResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | microsoftstore.ReviewsSummaryResponse | No | ||||
| data.average_rating | number | No | 4.3 | |||
| data.most_critical_review | microsoftstore.Review | No | Review record, 14 fields: device_family, helpful_negative, helpful_positive, id, is_revised, locale, market, os_version, rating, reviewer_name, submitted_at_utc, text and 2 more. Described under Microsoft Store Product Reviews API. | |||
| data.most_favorable_review | microsoftstore.Review | No | Review record, 14 fields: device_family, helpful_negative, helpful_positive, id, is_revised, locale, market, os_version, rating, reviewer_name, submitted_at_utc, text and 2 more. Described under Microsoft Store Product Reviews API. | |||
| data.product_id | string | No | 9ncbcszsjrsb | |||
| data.rating_distribution | object | No | ||||
| data.rating_status | string | No | RatingAvailable | |||
| data.review_count | integer | No | 307 | |||
| data.source_url | string | No | ||||
| msg | string | No | OK |
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/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/microsoftstore/reviews/summary?product_id=9NCBCSZSJRSB&country=us" \
-H "x-api-key: $CRAWLORA_API_KEY"