Grailed API endpoint
Returns a page of a Grailed seller's individual buyer feedback entries (rating, note, feedback tags, and the listing each review was left for) -- reputation detail grailed-seller does not carry (grailed-seller only exposes the aggregate rating_average/rating_count). username is the seller's Grailed username, from a listing's own seller.username field or grailed.com/{username}. An unknown username returns a typed not-found error.
/grailed/seller-reviewspage is optional, a one-based page number, defaults to 1.
Notable response behavior:
404.has_more reflects whether Grailed advertised a further page, not a total review count -- Grailed's own pagination here is cursor-style, with no total-pages field.reviews[].listing is omitted when the review is not associated with a listing.| Field | Filled in, of 10 checked | Values in the sample |
|---|---|---|
| id | 10 | |
| rating | 10 | 3 to 5, median 5 |
| note | 2 | |
| created_at | 10 | 2024-11-25 to 2026-09-26 |
| listing | 10 | |
| tags | 7 | median 3 entries |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| username | string | Yes | Grailed username | woodlandstepps | |
| page | integer | No | 1 | One-based page number, defaults to 1 | 1 |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/grailed/seller-reviews?username=woodlandstepps&page=1" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"username": "woodlandstepps",
"user_id": 7914629,
"page": 1,
"count": 2,
"has_more": true,
"reviews": [
{
"id": 7333988,
"rating": 5,
"tags": [
"item-as-described",
"quick-replies",
"fast-shipper"
],
"created_at": "2026-08-22T16:42:17.194Z",
"listing": {
"id": 99233636,
"title": "L.G.B. Wild Flowers",
"url": "https://www.grailed.com/listings/99233636-le-grande-bleu-l-g-b-l-g-b-wild-flowers",
"price": 180,
"sold": true
}
}
]
}
}Request schema
No body schema
Response schema
#/definitions/grailed.sellerReviewsResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | grailed.SellerReviewsResponse | No | ||||
| data.count | integer | No | ||||
| data.fetched_at | string | No | ||||
| data.has_more | boolean | No | ||||
| data.page | integer | No | ||||
| data.reviews | array | No | ||||
| data.reviews[].created_at | string | No | ||||
| data.reviews[].id | integer | No | ||||
| data.reviews[].listing | grailed.SellerReviewListing | No | ||||
| data.reviews[].listing.id | integer | No | ||||
| data.reviews[].listing.price | number | No | ||||
| data.reviews[].listing.sold | boolean | No | ||||
| data.reviews[].listing.title | string | No | ||||
| data.reviews[].listing.url | string | No | ||||
| data.reviews[].note | string | No | ||||
| data.reviews[].rating | number | No | ||||
| data.reviews[].tags | array | No | ||||
| data.source_url | string | No | ||||
| data.user_id | integer | No | ||||
| data.username | string | No | ||||
| msg | string | No | OK |
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/definitions/app.Response |
| 404 | Not Found | #/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/grailed/seller-reviews?username=woodlandstepps&page=1" \
-H "x-api-key: $CRAWLORA_API_KEY"