PristineMarketplace API endpoint
Returns one page of Pristine Marketplace's (https://www.pristinemarketplace.com) public Judge.me store review feed. This is a store-wide, most-recent-first feed, not a per-product one: confirmed live, the storefront's own on-page review widget draws from and displays this same feed (labeled "Reviews for other products" on an individual product page), and no product/handle filter parameter narrows it. The storefront URL is fixed server-side. Judge.me fixes 5 reviews per upstream page regardless of any requested size, so this endpoint has no `limit` parameter -- `page` maps 1:1 onto Judge.me's own pagination.
/pristine-marketplace/reviewsThis is a store-wide, most-recent-first feed, not a per-product one. Confirmed live: this storefront's own on-page review widget draws from and displays this exact feed -- on an individual product page it is labeled "Reviews for other products" once you scroll past that product's own rating badge -- and none of external_id, product_id, id, or product_handle narrow the result set when tried against the upstream endpoint directly. There is currently no way to fetch reviews scoped to a single product from this storefront's Judge.me integration.
Query parameters:
page: optional integer. 1-based page number. Default: 1. Judge.me fixes 5 reviews per upstream page regardless of any requested page size (confirmed by probing per_page values of 10/25/50, all ignored), so this endpoint has no limit parameter -- page maps 1:1 onto Judge.me's own pagination.Notable response behavior:
total_count/total_pages reflect the storefront's true review total (both shop-level and product reviews combined).reviewer_name is omitted for anonymous reviewers.is_shop_review distinguishes an overall-store review from a product review -- both can appear in the same feed.product_url is a clean product URL with tracking/UTM query parameters stripped.pictures is only populated when a review includes photos; no populated example was observed live across the full review set at capture time.| Field | Filled in, of 5 checked | Values in the sample |
|---|---|---|
| id | 5 | |
| rating | 5 | 1 to 5, median 3 |
| body | 5 | |
| verified_buyer | 5 | true in 3 of 5 |
| created_at | 5 | 2026-08-15 to 2026-10-08 |
| product_title | 5 | |
| product_url | 5 | median 125 characters |
| reviewer_name | 4 |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| page | integer | No | 1 | 1-based page, defaults to 1. 5 reviews per page. | 1 |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/pristine-marketplace/reviews?page=1" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"store_url": "https://www.pristinemarketplace.com",
"source_url": "https://cdn.judge.me/reviews/all_reviews_js_based?...",
"page": 1,
"total_pages": 18,
"total_count": 88,
"reviews": [
{
"id": "4a8567d4-b397-5ff5-b327-a8cbec368987",
"rating": 5,
"body": "Excellent condition \"Nico Collins\" signed football. This made for a great birthday gift!!!!",
"reviewer_name": "Mario Henao",
"verified_buyer": true,
"created_at": "2026-08-25T18:17:23.000Z",
"product_title": "Nico Collins Autographed Michigan Wolverines Logo Football w/ Go Blue- JSA Witness",
"product_url": "https://www.pristinemarketplace.com/products/nico-collins-autographed-michigan-wolverines-logo-football-w-go-blue-jsa-witness"
}
]
}
}Request schema
No body schema
Response schema
#/definitions/shopifybrands.reviewsResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | shopify.ReviewsResponse | No | ||||
| data.page | integer | No | 1 | |||
| data.reviews | array | No | ||||
| data.reviews[].body | string | No | Excellent condition, fast shipping! | |||
| data.reviews[].created_at | string | No | 2026-08-25T18:17:23.000Z | |||
| data.reviews[].id | string | No | 4a8567d4-b397-5ff5-b327-a8cbec368987 | |||
| data.reviews[].is_shop_review | boolean | No | ||||
| data.reviews[].pictures | array | No | ||||
| data.reviews[].product_title | string | No | ||||
| data.reviews[].product_url | string | No | ||||
| data.reviews[].rating | integer | No | 5 | |||
| data.reviews[].reviewer_name | string | No | Mario Henao | |||
| data.reviews[].title | string | No | ||||
| data.reviews[].verified_buyer | boolean | No | true | |||
| data.source_url | string | No | https://cdn.judge.me/reviews/all_reviews_js_based | |||
| data.store_url | string | No | https://www.pristinemarketplace.com | |||
| data.total_count | integer | No | 88 | |||
| data.total_pages | integer | No | 18 | |||
| 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/pristine-marketplace/reviews?page=1" \
-H "x-api-key: $CRAWLORA_API_KEY"