Streetwear and designer resale-price research
Grailedエンドポイントを使えば、「Streetwear and designer resale-price research」をドキュメント化された入力とJSONレスポンスによる再現可能なAPIリクエストに変えられます。
Turn Grailed's public peer-to-peer menswear and womenswear resale marketplace into structured JSON — keyword and facet search across active listings, a separate sold-listing index for sale-price history, full listing detail with measurements and seller profile, a seller's shop view, the 7,363-designer directory, and the full department/category/condition/color/size facet taxonomy. Credential-free.
Search Grailed's active and sold listings, get listing and seller detail, and browse the designer and facet taxonomy as structured JSON.
エンドポイントファミリー
6
ドキュメント化されたパラメータ
48
サンプル数
11
ライブカタログスナップショット
稼働エンドポイント
11
メソッド
GET
必須パラメータ
17
スキーマ参照
11
{
"platform": "Grailed",
"endpoint": "grailed-search",
"method": "GET",
"path": "/grailed/search",
"auth": "apiKey"
}ユースケース
Search Grailed's active and sold listings, get listing and seller detail, and browse the designer and facet taxonomy as structured JSON.
Grailedエンドポイントを使えば、「Streetwear and designer resale-price research」をドキュメント化された入力とJSONレスポンスによる再現可能なAPIリクエストに変えられます。
Grailedエンドポイントを使えば、「Sale-price history and comparable-sales lookups」をドキュメント化された入力とJSONレスポンスによる再現可能なAPIリクエストに変えられます。
Grailedエンドポイントを使えば、「Seller and designer demand tracking」をドキュメント化された入力とJSONレスポンスによる再現可能なAPIリクエストに変えられます。
マネージド実行
以下の数値はすべて、稼働中のGrailedエンドポイントカタログから取得しています(エンドポイント11件、ドキュメント化されたリクエストパラメータ48個、公開レスポンススキーマ11件)。DocsとPlaygroundが参照しているカタログと同じものです。
Grailedのエンドポイントは11件、11つのリクエストファミリーに分類されています(Categories、Collection、Collectionsほか8件)。
これらのGrailedエンドポイントには48個のリクエストパラメータがドキュメント化されており、うち17個が必須です。統合コードを書く前に入力仕様をすべて確認できます。
11件のGrailedエンドポイントのうち11件が実際のサンプルレスポンスを、11件がドキュメント化されたレスポンススキーマを備えています。最初のリクエストの前に実データの形に合わせて実装できます。
Grailedのエンドポイントは成功時のスキーマに加えてエラーレスポンス(400、404、429、503)もドキュメント化しています。ブロック、レート制限、レコード欠損は空データではなく型付きのエラーとして返ります。
Grailedのエンドポイントは11個のホスト型MCPツールとして提供されており、エージェントは同じパラメータと同じJSON契約のまま、追加の実装なしに同じルートを呼び出せます。
カバレッジマップ
これらのカードは稼働中のエンドポイントカタログから生成されるため、このページはDocsとPlaygroundが使うAPIサーフェスをそのまま反映します。
/grailed/categories
/grailed/collection
/grailed/collections
/grailed/designers
/grailed/listing
/grailed/search
エンドポイントカタログ
/grailed/searchSearches or browses Grailed's (grailed.com) peer-to-peer resale marketplace for currently-active listings. q, designer, department, category, size, color, condition, min_price, and max_price are all optional and combine as an AND -- a free-text q can be combined with any of the facet filters in the same request, or every field can be omitted to browse the full active catalog by Grailed's own "heat" relevance ranking. designer accepts one of the values grailed-designers' own designers[].name field returns; department, category, size, and color accept values from grailed-categories' own departments[].value/categories[].value/sizes[].value/colors[].value fields. condition and sort are fixed, closed enums (listed below). Keyword search is Algolia's own typo-tolerant relevance ranking, not a guaranteed exact match. A query with genuinely zero matches returns a well-formed empty result rather than an error.
レスポンスに関する注記
- Keyword search is Algolia's own typo-tolerant relevance ranking, not a guaranteed exact match. - A query with genuinely zero matches returns a well-formed empty result (`count: 0`, `listings: []`) rather than an error. - Every listing is currency `USD` and `sold: false` -- this endpoint only ever returns currently-active listings. See `grailed-sold-listings` for sale price history. - Each listing's `id` is the value `grailed-listing`'s own `id` parameter expects for full listing detail. Example response: ```json { "code": 200, "msg": "OK", "data": { "query": "gucci", "sort": "heat", "page": 1, "limit": 24, "count": 1, "total_results": 250601, "total_pages": 10442, "listings": [ { "id": 105379689, "title": "Chateau Marmont Gucci Tshirt Red Japan Exclusive", "url": "https://www.grailed.com/listings/105379689", "designers": ["Gucci"], "price": 400, "currency": "USD", "sold": false, "condition": "is_gently_used", "size": "m", "department": "menswear", "category": "tops", "category_path": "tops.short_sleeve_shirts", "color": "black", "location": "United States", "cover_photo_url": "https://media-assets.grailed.com/prd/listing/temp/dc6e1242b28a48bba80b5a353bb8c869", "photo_count": 7, "follower_count": 712, "buy_now": true, "make_offer": true, "seller": { "id": 10332947, "username": "woodlandstepps", "total_bought_and_sold": 52, "trusted_seller": false, "rating_average": 4.78, "rating_count": 9 } } ] } } ```
MCPツール grailed_search
/grailed/sold-listingsSearches Grailed's SOLD-listing index -- a separate dataset from active listings, carrying each item's final sale price and sale date. Same filter shape as grailed-search (q, designer, department, category, size, color, condition), but min_price/max_price filter the SOLD price, not the original asking price. Useful for sale-price-history/comparable-sales lookups (e.g. "what did this designer/category actually sell for recently"). A query with genuinely zero matches returns a well-formed empty result rather than an error.
レスポンスに関する注記
- A query with genuinely zero matches returns a well-formed empty result (`count: 0`, `listings: []`) rather than an error. - Every listing is currency `USD` and `sold: true`, with `sold_price` and `sold_at` populated -- `price` on a sold listing is the original asking price, kept for reference. - Each listing's `id` is the value `grailed-listing`'s own `id` parameter expects for full listing detail. Example response: ```json { "code": 200, "msg": "OK", "data": { "query": "gucci", "sort": "recent", "page": 1, "limit": 24, "count": 1, "total_results": 4865190, "total_pages": 202716, "listings": [ { "id": 99128590, "title": "Gucci Flame Sneakers", "url": "https://www.grailed.com/listings/99128590", "designers": ["Gucci"], "price": 267, "currency": "USD", "sold": true, "sold_price": 200, "sold_at": "2026-09-09T15:25:46.880Z", "condition": "is_used", "size": "9", "department": "menswear", "category": "footwear", "category_path": "footwear.low_top_sneakers", "color": "white", "seller": { "id": 555, "username": "sneakerhead", "total_bought_and_sold": 11, "trusted_seller": true, "rating_average": 5.0, "rating_count": 4 } } ] } } ```
MCPツール grailed_sold_listings
/grailed/listingReturns full normalized listing-detail data for one Grailed listing: description, every photo, measurements, designers, and the seller's full profile -- richer than the flattened summary grailed-search/grailed-sold-listings return per listing. id is the listing's numeric id, from a search or sold-listings result's own listings[].id field.
レスポンスに関する注記
- An unknown or deleted listing id returns a `404`. - `currency` is always `USD`. - `sold_price`/`sold_at`/`sold_shipping_price` are only populated when `sold` is `true`. - `measurements[].measurement_type_id`/`department_mapping_id` are Grailed's own internal ids (no public lookup table); `inches` is the directly usable value. Example response: ```json { "code": 200, "msg": "OK", "data": { "id": 105379689, "title": "Chateau Marmont Gucci Tshirt Red Japan Exclusive", "url": "https://www.grailed.com/listings/105379689", "description": "Gucci Chateau shirt red Japan Exclusive\nLabeled size XS truly fits accurately to a M\nVery rare", "price": 400, "currency": "USD", "sold": false, "condition": "is_gently_used", "size": "m", "pretty_size": "US M / EU 48-50 / 2", "department": "menswear", "category": "tops", "subcategory": "Short Sleeve T-Shirts", "category_path": "tops.short_sleeve_shirts", "designers": [ {"id": 79, "name": "Gucci", "slug": "gucci", "departments": ["menswear", "womenswear"]} ], "styles": ["luxury"], "traits": {"color": "black", "country_of_origin": "IT"}, "photos": [ "https://media-assets.grailed.com/prd/listing/temp/dc6e1242b28a48bba80b5a353bb8c869" ], "measurements": [ {"inches": 17, "measurement_type_id": 1, "department_mapping_id": 100} ], "follower_count": 712, "buy_now": true, "make_offer": true, "created_at": "2026-09-08T23:44:57.833Z", "seller": { "id": 10332947, "username": "woodlandstepps", "location": "United States", "total_bought_and_sold": 52, "listings_for_sale_count": 4, "follower_count": 13, "confirmed": true, "speedy_shipper": true, "sold_count": 22, "rating_average": 4.8, "rating_count": 9, "tag_list": ["fast-shipper", "quick-replies", "item-as-described"] } } } ```
MCPツール grailed_listing
/grailed/sellerReturns a Grailed seller's public profile plus a page of their current active listings (Grailed's own "shop" view of a seller). username is the seller's Grailed username, from a listing's own seller.username field or grailed.com/{username}. Listings only ever contains that seller's ACTIVE listings; use grailed-sold-listings with a designer/query filter for a broader sales-history lookup, since sold listings are not filterable by seller through this endpoint. An unknown username returns a typed not-found error.
レスポンスに関する注記
- An unknown username returns a `404`. - `listings` only ever contains that seller's ACTIVE listings; use `grailed-sold-listings` with a `designer`/`q` filter for a broader sales-history lookup, since sold listings are not filterable by seller through this endpoint. - `active_listings_count` is the seller's total active-listing count (not just the page returned). Example response: ```json { "code": 200, "msg": "OK", "data": { "username": "woodlandstepps", "page": 1, "limit": 24, "count": 4, "active_listings_count": 4, "total_pages": 1, "profile": { "id": 10332947, "username": "woodlandstepps", "avatar_url": "https://media-assets.grailed.com/prd/avatar/10332947/aa7027d479124825958991dc6ba83678", "total_bought_and_sold": 52, "trusted_seller": false, "rating_average": 4.78, "rating_count": 9, "confirmed": true, "banned": false }, "listings": [ { "id": 105379689, "title": "Chateau Marmont Gucci Tshirt Red Japan Exclusive", "url": "https://www.grailed.com/listings/105379689", "designers": ["Gucci"], "price": 400, "currency": "USD", "sold": false } ] } } ```
MCPツール grailed_seller
/grailed/designersReturns a page of Grailed's full designer/brand taxonomy (7,363 designers as of 2026-09-09) -- the value space grailed-search/grailed-sold-listings' own designer parameter accepts (by name). q is an optional free-text filter (typo-tolerant, e.g. a partial name for typeahead-style lookup); an empty q lists the full taxonomy ordered by Grailed's own default ranking (most-listed designers first).
レスポンスに関する注記
- `designers[].name` is exactly the value `grailed-search`/`grailed-sold-listings`'s own `designer` parameter expects. - `listings_count` is that designer's own live count of listings on Grailed (active and sold combined). - `departments` lists which of `menswear`/`womenswear` the designer has listings in. Example response: ```json { "code": 200, "msg": "OK", "data": { "query": "gucci", "page": 1, "limit": 24, "count": 1, "total_results": 7363, "total_pages": 307, "designers": [ { "id": 79, "name": "Gucci", "slug": "gucci", "listings_count": 250601, "departments": ["menswear", "womenswear"], "logo_url": "https://media-assets.grailed.com/prd/detail-page/gucci-logo" } ] } } ```
MCPツール grailed_designers
/grailed/categoriesReturns Grailed's full facet taxonomy for the enum-like parameters grailed-search/grailed-sold-listings accept: department, category, category_path (a more granular subcategory slug), condition, color, and size, each with its own live listing count. department and condition are exhaustive closed sets (2 and 5 values respectively); category/category_path/color/size are the full, exhaustive value space as of the request. Designer is NOT included here (7,363 values, far too large for a facet-count response) -- see grailed-designers for that discovery endpoint.
レスポンスに関する注記
- `departments[].value` is one of `menswear`, `womenswear` (the full, exhaustive set). - `conditions[].value` is one of `is_new`, `is_gently_used`, `is_used`, `is_worn`, `is_not_specified` (the full, exhaustive set). - `categories[].value`, `category_paths[].value`, `colors[].value`, and `sizes[].value` are the full, exhaustive value space as of the request (confirmed exhaustive live: 14/128/15/85 values respectively as of 2026-09-09) -- exactly what `grailed-search`/`grailed-sold-listings` accept as their own `category`/`color`/`size` parameters (`category_path` is a more granular subcategory slug, e.g. `tops.short_sleeve_shirts`, for callers who want finer-grained filtering than the flat `category` facet -- not itself a `grailed-search` parameter). - `sizes` spans every category Grailed sells across (apparel letter sizes, numeric shoe/waist sizes, "one size", and more) since it is one index-wide facet -- sort by count (the default) to see the most common values first. - Designer is NOT included here (7,363 values, far too large for a facet-count response) -- see `grailed-designers` for that discovery endpoint. - Every list is sorted by count descending, then value ascending. Example response: ```json { "code": 200, "msg": "OK", "data": { "departments": [ {"value": "menswear", "count": 7567001}, {"value": "womenswear", "count": 3213103} ], "categories": [ {"value": "tops", "count": 3585831}, {"value": "bottoms", "count": 1441533}, {"value": "footwear", "count": 495891} ], "category_paths": [ {"value": "tops.short_sleeve_shirts", "count": 200000}, {"value": "footwear.low_top_sneakers", "count": 100000} ], "conditions": [ {"value": "is_used", "count": 4516431}, {"value": "is_gently_used", "count": 3552087}, {"value": "is_new", "count": 2642253}, {"value": "is_worn", "count": 68671}, {"value": "is_not_specified", "count": 1802} ], "colors": [ {"value": "black", "count": 3000000}, {"value": "white", "count": 1500000} ], "sizes": [ {"value": "m", "count": 900000}, {"value": "l", "count": 800000} ] } } ```
MCPツール grailed_categories
/grailed/suggestReturns Grailed's own search-box typeahead suggestions for a partial query -- a flat list of suggested search phrases with a popularity score and live active-listing match count, no listing data. Pass a suggestion straight through to grailed-search/grailed-sold-listings' own q parameter. A query with no genuine matches returns a well-formed empty result rather than an error.
レスポンスに関する注記
- `suggestions[].query` is directly usable as `grailed-search`/`grailed-sold-listings`'s own `q` parameter. - `suggestions[].total_results` is that suggested query's own live active-listing match count on Grailed. - A query with no genuine matches returns a well-formed empty result (`suggestions: []`) rather than an error. Example response: ```json { "code": 200, "msg": "OK", "data": { "query": "guc", "suggestions": [ {"query": "gucci", "popularity": 89, "total_results": 259659}, {"query": "gucci hat", "popularity": 40, "total_results": 4200} ] } } ```
MCPツール grailed_suggest
/grailed/collectionReturns one Grailed curated homepage collection's full listing set. id is the collection's numeric id, from grailed-collections' own collections[].id field. An unknown id returns a typed not-found error.
レスポンスに関する注記
- An unknown id returns a `404`. - Listings here use `CollectionListing`, a different, upstream-native field set from `grailed-search`'s `Listing` -- the member listings are already fully enriched by the upstream, so the seller is identified only by a numeric `seller_id` and an optional aggregate `seller_rating`, not a username/avatar. - Deleted or hidden member listings are filtered out. Example response: ```json { "code": 200, "msg": "OK", "data": { "id": 20, "title": "Dark Luxury", "external_id": "20240731-022", "last_refreshed_at": "2026-09-09T05:26:45.572Z", "count": 1, "listings": [ { "id": 104155968, "title": "Rick Owens DRKSHDW Detroit Cut Waxed Dirty Blue jeans pants", "url": "https://www.grailed.com/listings/104155968", "designers": ["Rick Owens"], "price": 335, "currency": "USD", "sold": false, "condition": "is_used", "size": "30", "department": "menswear", "category_path": "bottoms.denim", "seller_id": 7914629 } ] } } ```
MCPツール grailed_collection
/grailed/collectionsReturns Grailed's own curated homepage merchandising collections (e.g. "Trending: Apparel", "Dark Luxury", "Chromed Out") -- editorial/trending shelves distinct from a plain search or facet browse. Each collection's numeric id is the value grailed-collection's own id parameter accepts.
レスポンスに関する注記
- `collections[].id` is the value `grailed-collection`'s own `id` parameter accepts, per this repo's enum-discovery rule -- this is a closed, upstream-curated id space with no other public listing. - `collections[].top_designers` is a short sample (up to 3) of the designers most represented in that collection, not the full designer breakdown. - `collections[].preview_photos` is a short sample (up to 5) of cover photos from listings in the collection. Example response: ```json { "code": 200, "msg": "OK", "data": { "count": 2, "collections": [ { "id": 20, "title": "Dark Luxury", "external_id": "20240731-022", "last_refreshed_at": "2026-09-09T05:26:45.572Z", "top_designers": ["Rick Owens", "Rick Owens Drkshdw", "Gucci"], "preview_photos": [ "https://media-assets.grailed.com/prd/listing/temp/39de9bbf0ae6498cbc5d8e82a68ea600" ] } ] } } ```
MCPツール grailed_collections
/grailed/seller-reviewsReturns 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.
レスポンスに関する注記
- An unknown username returns a `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. Example response: ```json { "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 } } ] } } ```
MCPツール grailed_seller_reviews
/grailed/similar-listingsReturns the listings Grailed's own product page recommends as "similar" to one listing -- the same related-items shelf shown on grailed.com's own listing-detail page. id is the listing's numeric id, from a search, sold-listings, or collection result's own id field. An id for a listing that does not exist (deleted, sold and removed, or never valid) returns a typed not-found error.
レスポンスに関する注記
- An `id` for a listing that does not exist (deleted, sold and removed, or never valid) returns a `404`. - Each returned listing uses the same normalized shape as `grailed-search`/`grailed-sold-listings`. Example response: ```json { "code": 200, "msg": "OK", "data": { "id": 104155968, "limit": 30, "count": 2, "listings": [ { "id": 102856918, "title": "Rick Owens Drkshdw - FW16 - Dirty Blue Detroit Cut Jeans", "url": "https://www.grailed.com/listings/102856918", "designers": ["Rick Owens"], "price": 491, "currency": "USD", "sold": false, "condition": "is_gently_used", "size": "31" } ] } } ```
MCPツール grailed_similar_listings
関連API
Marketplaces & Retail
Collect marketplace product signals from Amazon without building brittle storefront scrapers.
Marketplaces & Retail
Build resale, pricing, and marketplace workflows from structured eBay data.
Marketplaces & Retail
Turn public Shop.app product and merchant pages into structured JSON for e-commerce product intelligence, price research, shop monitoring, and marketplace discovery workflows.
Grailedのスクレイピング方法
Crawlora's seven Grailed endpoints return active-listing search, sold-listing history, listing and seller detail, designer lookup, and facet taxonomy as normalized JSON with one API key — active and sold listings are two separate indexes, so a comparable-sales lookup needs the dedicated sold endpoint, not a filter on search.
Call /grailed/categories for the full department/category/category_path/condition/color/size facet taxonomy with live counts (departments and conditions are small closed sets; sizes and colors are index-wide). Use /grailed/designers separately — its 7,363-value space is too large for a facet response — with an optional q for typo-tolerant typeahead lookup.
Send q, designer, department, category, size, color, condition, min_price, and/or max_price to /grailed/search — all optional and combined as an AND, or omit everything to browse the full active catalog by Grailed's own "heat" relevance ranking. sort also accepts newest, price_asc, price_desc, followers, and quality.
Send the same filter shape to /grailed/sold-listings for Grailed's separate SOLD-listing index, where min_price/max_price filter the final sold_price rather than the original asking price — useful for comparable-sales research on a designer or category.
Pass a listing's id from any search result to /grailed/listing for its full description, measurements, and seller profile. Pass a username to /grailed/seller for that seller's public profile and current active listings (sold listings are not filterable by seller — use /grailed/sold-listings with a designer or q filter instead).
FAQ
Pass designer (from /grailed/designers' own name field), category, size, or color (from /grailed/categories' own facet values) and condition (one of is_new, is_gently_used, is_used, is_worn, is_not_specified) to /grailed/search — every filter is optional and combines as an AND with any keyword q.
Yes — /grailed/sold-listings is a separate SOLD-listing index carrying each item's final sold_price and sold_at date, with the same filter shape as /grailed/search. Every listing there has sold: true; price is kept as the original asking price for reference.
7,363 as of the last verified count. /grailed/designers pages through the full taxonomy (24 per page by default, up to 100), each with its own live listings_count and which departments (menswear, womenswear) it has listings in.
Yes — page (1-500) and limit (default 24, max 100) paginate both /grailed/search and /grailed/sold-listings, and the response's total_pages reflects the true match count for the current filters.
No — only your Crawlora API key. Grailed's search, listing, seller, designer, and facet data are collected from its public, credential-free marketplace surface.