Secondhand-fashion pricing and resale research
Depopエンドポイントを使えば、「Secondhand-fashion pricing and resale research」をドキュメント化された入力とJSONレスポンスによる再現可能なAPIリクエストに変えられます。
Turn public Depop pages into structured resale-fashion data — keyword and filtered listing search, full item detail with photos and seller info, a seller's shop catalog, and the category taxonomy, all as normalized JSON. Credential-free.
Search Depop listings and get item detail, seller shops, and the category taxonomy as structured JSON.
エンドポイントファミリー
6
ドキュメント化されたパラメータ
42
サンプル数
10
ライブカタログスナップショット
稼働エンドポイント
10
メソッド
GET
必須パラメータ
17
スキーマ参照
10
{
"platform": "Depop",
"endpoint": "depop-search",
"method": "GET",
"path": "/depop/search",
"auth": "apiKey"
}ユースケース
Search Depop listings and get item detail, seller shops, and the category taxonomy as structured JSON.
Depopエンドポイントを使えば、「Secondhand-fashion pricing and resale research」をドキュメント化された入力とJSONレスポンスによる再現可能なAPIリクエストに変えられます。
Depopエンドポイントを使えば、「Seller and shop monitoring」をドキュメント化された入力とJSONレスポンスによる再現可能なAPIリクエストに変えられます。
Depopエンドポイントを使えば、「Category and trend tracking」をドキュメント化された入力とJSONレスポンスによる再現可能なAPIリクエストに変えられます。
マネージド実行
以下の数値はすべて、稼働中のDepopエンドポイントカタログから取得しています(エンドポイント10件、ドキュメント化されたリクエストパラメータ42個、公開レスポンススキーマ10件)。DocsとPlaygroundが参照しているカタログと同じものです。
Depopのエンドポイントは10件、8つのリクエストファミリーに分類されています(Item、Search、Brandsほか5件)。
これらのDepopエンドポイントには42個のリクエストパラメータがドキュメント化されており、うち17個が必須です。統合コードを書く前に入力仕様をすべて確認できます。
10件のDepopエンドポイントのうち10件が実際のサンプルレスポンスを、10件がドキュメント化されたレスポンススキーマを備えています。最初のリクエストの前に実データの形に合わせて実装できます。
Depopのエンドポイントは成功時のスキーマに加えてエラーレスポンス(400、404、500、503)もドキュメント化しています。ブロック、レート制限、レコード欠損は空データではなく型付きのエラーとして返ります。
Depopのエンドポイントは10個のホスト型MCPツールとして提供されており、エージェントは同じパラメータと同じJSON契約のまま、追加の実装なしに同じルートを呼び出せます。
カバレッジマップ
これらのカードは稼働中のエンドポイントカタログから生成されるため、このページはDocsとPlaygroundが使うAPIサーフェスをそのまま反映します。
/depop/item/{slug}
/depop/search
/depop/brands
/depop/categories
/depop/search-sellers
/depop/shop/{username}
エンドポイントカタログ
/depop/searchSearches Depop's resale-fashion marketplace by free-text keyword, with optional price, condition, colour, category, subcategory, gender, kids-department, brand, discount, and sort filters, returning normalized listing summaries (title, price, brand, condition, like count, photos, sizes), a pagination cursor, and the total matching count. Public data sourced from Depop's own search API.
レスポンスに関する注記
- `id` is the item's URL slug (e.g. `ag_boutique-vintage-mid-rise-bootcut-levi-2476`), not a numeric database id — pass it directly as the `slug` path parameter to `/depop/item/{slug}` for full item detail. - `price_cents` and `shipping_cents` are omitted (zero) when Depop's own response doesn't include a parseable amount for that listing. - `like_count` is the listing's like count, requested by default on every search (`0` is omitted from the response, same as other zero-valued optional fields). - `has_more` and `next_cursor` reflect Depop's own pagination state — when `has_more` is `true`, pass `next_cursor` as the following request's `after` value to fetch the next page. `next_cursor` is an opaque string; don't parse it. - A search with no matching listings returns `200` with `"items": []`. - A missing `query` returns `400` before any upstream request is made. - An unrecognized `condition`, `colours`, `sort`, `category`, or `gender` value, a malformed `subcategory`, `brand_ids`, or `sizes` entry, or `price_min` greater than `price_max` returns `400` before any upstream request is made. Example response: ```json { "code": 200, "msg": "OK", "data": { "query": "nike jacket", "total_results": 90627, "has_more": true, "next_cursor": "MnwyNHwxNzg1OTUzNjM1.BOOSTED_EXHAUSTED.0", "items": [ { "id": "harsisonmn-nike-virginia-tech-track-and-27fc", "url": "https://www.depop.com/products/harsisonmn-nike-virginia-tech-track-and-27fc/", "title": "Nike College Track and Field black windbreaker jacket #trackandfield", "description": "Nike College Track and Field black windbreaker jacket #trackandfield\n\nNike womens medium jacket, #trackandfield\n#nike #jacket", "brand_name": "Nike", "condition": "used_excellent", "colours": ["black"], "price_cents": 800, "currency": "USD", "shipping_cents": 199, "thumbnail_url": "https://media-photos.depop.com/r1/329377772/4357366076_0948c314910046e9946f466fc1d87e70/P0.jpg", "photos": [ "https://media-photos.depop.com/r1/329377772/4357366076_0948c314910046e9946f466fc1d87e70/P0.jpg" ], "sizes": ["M"], "location": "Charlotte, United States", "like_count": 3 } ] } } ```
MCPツール depop_search
/depop/item/{slug}Returns a normalized Depop item-detail page: description, all photos, price, condition, brand, size, seller info, and a "similar items" carousel when the page has one. Public data sourced from Depop's own item pages.
レスポンスに関する注記
- `title` is the item's description text up to its first line break — Depop does not expose a separate, shorter title field; `description` is the full text. - `seller` (username, id, verification status, display name, avatar) is only available on this endpoint, not on `/depop/search`'s listing summaries. - `similar_items` is populated when the item page has a "Similar items" carousel, using the same shape as `/depop/search`'s listing summaries. Omitted (not an empty array) when the page doesn't have one. A separate "More from this seller" carousel is also visible on Depop's own item page but isn't included here — it loads via a client-side-only fetch this endpoint doesn't reproduce. For a richer, paginated (up to 150 results) similar-items lookup, use [`GET /depop/item/{slug}/similar`](depop-item-similar.md) instead. - An unknown or delisted item slug returns `404`. - A missing `slug` returns `400` before any upstream request is made. Example response: ```json { "code": 200, "msg": "OK", "data": { "id": "ag_boutique-vintage-mid-rise-bootcut-levi-2476", "url": "https://www.depop.com/products/ag_boutique-vintage-mid-rise-bootcut-levi-2476/", "title": "Vintage Mid rise Bootcut Levi Jeans", "description": "Vintage Mid rise Bootcut Levi Jeans\nSize 6 (28-30 inch waist) They are mid rise *not low rise*\nInseam: 31 inches\n#Levis #flare", "brand_name": "Levi's", "condition": "used_like_new", "colours": ["blue", "navy"], "price_cents": 1500, "original_price_cents": 1800, "currency": "USD", "shipping_cents": 399, "photos": [ "https://media-photos.depop.com/b1/42916032/4363725919_6c94f1277d5b4ba4890ff74980b79b23/P0.jpg" ], "location": "Monroe, United States", "sizes": ["6"], "seller": { "id": 42916032, "username": "ac_boutique", "verified": false, "first_name": "Alaina", "picture_url": "https://media-photos.depop.com/b1/42916032/3675424939_2e6b5627f8084c269b32054ed071f56e/U1.jpg" }, "similar_items": [ { "id": "lsamcminn-vintage-inspired-levis-superlow-flare-jeans-bb57", "url": "https://www.depop.com/products/lsamcminn-vintage-inspired-levis-superlow-flare-jeans-bb57/", "title": "Vintage-inspired Levi's Superlow Flare jeans in a light wash", "brand_name": "Levi's", "condition": "used_good", "colours": ["blue"], "price_cents": 1700, "currency": "USD", "shipping_cents": 399, "thumbnail_url": "https://media-photos.depop.com/r1/39600511/4353764468_d4c5a9c42c714b679ae7e63f9c9ee22d/P0.jpg", "location": "Santa Rosa, United States" } ] } } ```
MCPツール depop_item
/depop/shop/{username}Returns a Depop seller's public shop: profile (rating, sold count, followers, bio) plus current listings, with optional price, condition, colour, category, subcategory, gender, discount, and sort filters. Public data sourced from Depop's own shop pages.
レスポンスに関する注記
- This endpoint parses the shop page's rendered HTML, not a JSON API (none was found for per-seller listings) — so each item in `items` is a lighter shape than `/depop/search`'s: no brand, condition, colour, description, or size, since the shop page doesn't render those per card. `id` is the item's URL slug, same identifier space as `/depop/search`'s `id` and `/depop/item/{slug}`'s `slug` — chain any item into `/depop/item/{slug}` for full detail. - `followers_count` and `following_count` are approximate once Depop abbreviates them in the UI (e.g. "2.35K" → `2350`) — Depop doesn't render the exact count past a certain size. - `currency` is always `"USD"` — inferred from the `$` symbol the page renders, not read from an explicit field (unlike `/depop/search` and `/depop/item/{slug}`, which get an explicit currency code from Depop's own JSON). - A shop with no current listings returns `200` with `"items": []`. - An empty or malformed `username` returns `400` before any upstream request is made. An unrecognized `condition`, `colours`, `sort`, `category`, or `gender` value, a malformed `subcategory` or `sizes` entry, or `price_min` greater than `price_max`, also returns `400`. - A nonexistent username returns `404`. Example response: ```json { "code": 200, "msg": "OK", "data": { "username": "villafanashop", "display_name": "Julian A Villafana", "bio": "Welcome to my shop! I specialize in cute and trendy graphic tees. Fast shipping, friendly service, and quality guaranteed. Tysm", "avatar_url": "https://media-photos.depop.com/b1/415677839/3527467429_405c6ee819bc4c9d89713521974688b9/U1.jpg", "verified": true, "rating": 4.7, "rating_count": 1445, "sold_count": 8810, "followers_count": 2350, "following_count": 12, "activity_status": "Active today", "items": [ { "id": "vill7fanashop-supreme-tiger-graphic-t-shirt-black-00e8", "url": "https://www.depop.com/products/vill7fanashop-supreme-tiger-graphic-t-shirt-black-00e8/", "thumbnail_url": "https://media-photos.depop.com/b1/415677839/4067598019_5faee8ecbec942739452db1dfdc5563a/P8.jpg", "price_cents": 1686, "original_price_cents": 2286, "currency": "USD" } ] } } ```
MCPツール depop_shop
/depop/categoriesReturns Depop's full department, category, and subcategory taxonomy -- every value usable with /depop/search's and /depop/shop/{username}'s category/subcategory filters. Tries a live refresh from Depop's own category-filter API first and falls back to a static snapshot on any failure, so this never errors.
レスポンスに関する注記
- `departments` has exactly 4 entries: `womenswear` (gender `female`), `menswear` (gender `male`), `kidswear` (`is_kids: true`, no gender), and `everything-else` (no gender, not kids-scoped — items outside clothing, e.g. beauty, home, art). - Each department's `categories[].slug` is the value to pass as `/depop/search`'s or `/depop/shop/{username}`'s `category` query parameter. Most category slugs are shared across departments (e.g. `tops` exists under both `womenswear` and `menswear`) — pair a category slug with the matching department's `gender`/`is_kids` when you also want to scope by department. - Each category's `subcategories[].slug` is the value to pass as `subcategory` (comma-separated for multiple), scoped to that category — a subcategory slug from one category is not guaranteed valid under a different category. - This data changes rarely. When the live refresh succeeds, a newly added category or subcategory shows up immediately; when it fails (upstream down, blocked, or unexpected shape), the response falls back to a static snapshot that lags until this package is re-synced. Example response (truncated): ```json { "code": 200, "msg": "OK", "data": { "departments": [ { "id": "womenswear", "name": "Women", "gender": "female", "categories": [ { "slug": "tops", "name": "Tops", "subcategories": [ { "slug": "tshirts", "name": "T-shirts" }, { "slug": "hoodies", "name": "Hoodies" } ] } ] }, { "id": "kidswear", "name": "Kids", "is_kids": true, "categories": [ { "slug": "bundles", "name": "Clothing bundles", "subcategories": [ { "slug": "bundles", "name": "Clothing bundles" } ] } ] }, { "id": "everything-else", "name": "Everything else", "categories": [ { "slug": "beauty", "name": "Beauty", "subcategories": [ { "slug": "makeup", "name": "Makeup" }, { "slug": "skincare", "name": "Skincare" } ] } ] } ] } } ```
MCPツール depop_categories
/depop/brandsReturns Depop's full brand directory (id, name, slug), not just brands with active listings for a given search -- resolves the search endpoint's otherwise-opaque brand_ids filter to human-readable names. Public data sourced from Depop's own brand-directory API.
レスポンスに関する注記
- The directory changes rarely, so it is served from a cached snapshot refreshed about once a day; most calls return in well under a second, and a snapshot is still served while a refresh is in progress or failing. - Only the very first fetch (no snapshot yet) goes to Depop live, which can take 20-75 seconds because Depop's JSON API sits behind a stricter bot-protection tier; `503` then means every fetch path was blocked. Retry later. - `brands` is sorted by numeric `id` for a deterministic order. - `id` is the same numeric brand id `/depop/search`'s `brand_ids` filter accepts. Example response: ```json { "code": 200, "msg": "OK", "data": { "total": 4213, "brands": [ {"id": 1, "name": "Aloye", "slug": "aloye"}, {"id": 2, "name": "Diamond Supply Co.", "slug": "diamond-supply-co"}, {"id": 270, "name": "Nike", "slug": "nike"} ] } } ```
MCPツール depop_brands
/depop/item/{slug}/similarReturns items similar to a given Depop listing, via Depop's dedicated similar-items API -- richer and paginated (up to 150 per page) compared to the small, non-paginated "similar items" carousel already included in item detail. Public data sourced from Depop's own similar-items API.
レスポンスに関する注記
- Depop's JSON API sits behind a stricter bot-protection tier than its product pages. Calls first try a fast direct request and then fall back to a rendered browser fetch, so responses can take 20-60 seconds; `503` means both paths were blocked. Retry later. - Items are shaped identically to `/depop/search`'s listing summaries (title, price, brand, condition, like count, photos, sizes). - Resolving `slug` to the source item requires an internal item-page fetch before the similar-items lookup — allow for slightly higher latency than `/depop/search`. - `has_more` and `next_cursor` reflect Depop's own pagination state — when `has_more` is `true`, pass `next_cursor` as the following request's `after` value to fetch the next page. - An unknown or delisted source item slug returns `404`. - A missing `slug` or a `limit` over `150` returns `400` before any upstream request is made. Example response: ```json { "code": 200, "msg": "OK", "data": { "items": [ { "id": "rayofsuashineva-artsy-chic-boho-luxe-eclectic-d9c0", "url": "https://www.depop.com/products/rayofsuashineva-artsy-chic-boho-luxe-eclectic-d9c0/", "title": "Artsy chic", "description": "Artsy chic\n\nBoho luxe\n\nMichael Simon jacket, multicolor plaid jacket", "brand_name": "Other", "condition": "used_excellent", "colours": ["multi"], "price_cents": 2500, "currency": "USD", "shipping_cents": 199, "thumbnail_url": "https://media-photos.depop.com/b1/264682642/4443656880_c7418b1968634a5a8a7e98ba0a863801/P0.jpg", "sizes": ["M"], "location": "Durham, United States", "like_count": 0 } ], "has_more": true, "next_cursor": "NQ" } } ```
MCPツール depop_item_similar
/depop/search-sellersFinds Depop users/sellers by name or username. A matched result's username can be passed directly to GET /depop/shop/{username} for that seller's full shop. Public data sourced from Depop's own user-search API.
レスポンスに関する注記
- Depop's JSON API sits behind a stricter bot-protection tier than its product pages. Calls first try a fast direct request and then fall back to a rendered browser fetch, so responses can take 20-60 seconds; `503` means both paths were blocked. Retry later. - `first_name`/`last_name` reflect whatever the seller has set on their profile — either or both may be empty. - `avatar_url` is omitted when the seller has no profile picture set. - A missing `query` returns `400` before any upstream request is made. - A query with no matching sellers returns `200` with `"sellers": []`. Example response: ```json { "code": 200, "msg": "OK", "data": { "query": "red corte", "sellers": [ { "id": 22564880, "username": "red4201", "first_name": "Red", "last_name": "Cortes" }, { "id": 51552506, "username": "redecorate", "first_name": "kai", "avatar_url": "https://media-photos.depop.com/b1/51552506/2384449778_27b1e362ea8c462096725bfe9f018bc3/U1.jpg" } ] } } ```
MCPツール depop_search_sellers
/depop/search/facetsReturns result-count breakdowns per department/category/subcategory for a search query, via Depop's dedicated aggregates API -- a distinct upstream call from search itself, not embedded in its response. Public data sourced from Depop's own search-aggregates API.
レスポンスに関する注記
- Depop's JSON API sits behind a stricter bot-protection tier than its product pages. Calls first try a fast direct request and then fall back to a rendered browser fetch, so responses can take 20-60 seconds; `503` means both paths were blocked. Retry later. - `departments` is sorted alphabetically by department name; each department's `categories`/`subcategories` are sorted alphabetically by `id` for a deterministic order. - `categories`/`subcategories` are already department-scoped — unlike `/depop/search`'s own `category`/`subcategory` filters, which apply across all departments, a facet's `count` here only covers listings within that specific department. - `subcategories` are omitted (not an empty array) for a department with no subcategory breakdown in the upstream response. - A missing `query` returns `400` before any upstream request is made. Example response: ```json { "code": 200, "msg": "OK", "data": { "query": "bandage dress", "departments": [ { "department": "menswear", "count": 39, "categories": [ {"id": "coats-jackets", "count": 4}, {"id": "fancy-dress", "count": 14}, {"id": "tops", "count": 12} ], "subcategories": [ {"id": "jackets", "count": 4}, {"id": "tshirts", "count": 5} ] }, { "department": "womenswear", "count": 23744, "categories": [ {"id": "dresses", "count": 22504}, {"id": "tops", "count": 509} ], "subcategories": [ {"id": "shift-dresses", "count": 22}, {"id": "wedding-dresses", "count": 7} ] } ] } } ```
MCPツール depop_search_facets
/depop/sizesReturns Depop's full, multi-region size taxonomy -- every composite id usable with /depop/search's and /depop/shop/{username}'s sizes filter. Public data sourced from Depop's own size-filter API.
レスポンスに関する注記
- Depop's JSON API sits behind a stricter bot-protection tier than its product pages. Calls first try a fast direct request and then fall back to a rendered browser fetch, so responses can take 20-60 seconds; `503` means both paths were blocked. Retry later. - `departments` only includes `kidswear`, `menswear`, and `womenswear` — `everything-else` (see [`/depop/categories`](depop-categories.md)) has no clothing sizes and is omitted. - Each department groups its sizes into `categories` (e.g. "Tops", "Bottoms", "Shoes"), each of which groups sizes further into `regions` (`EUR`, `UK`, `US`, `AU`). - Each size's `id` (e.g. `"4.17"`) is the exact value to pass — comma -separated for multiple — as `/depop/search`'s or `/depop/shop/{username}`'s `sizes` query parameter. It omits the region suffix Depop's own page URLs display (e.g. `4.17-US`) — that suffix is decorative only; the bare `id` is what both endpoints actually key off. - A size id is not scoped to a specific `category`/`gender`/`is_kids` combination by `/depop/search` or `/depop/shop/{username}` — pairing an id from the wrong category (e.g. a Shoes id while filtering Tops) simply returns zero results rather than an error. Example response (truncated): ```json { "code": 200, "msg": "OK", "data": { "departments": [ { "id": "womenswear", "name": "Women", "categories": [ { "id": "wmns-tops-sizes", "name": "Tops", "regions": [ { "region": "US", "sizes": [ { "id": "4.17", "name": "M" }, { "id": "4.18", "name": "L" } ] } ] } ] } ] } } ```
MCPツール depop_sizes
/depop/suggestReturns Depop's own search-box autocomplete suggestions for a partial query, including the category a suggestion maps to when relevant. Public data sourced from Depop's own search-suggestions API.
レスポンスに関する注記
- Depop's JSON API sits behind a stricter bot-protection tier than its product pages. Calls first try a fast direct request and then fall back to a rendered browser fetch, so responses can take 20-60 seconds; `503` means both paths were blocked. Retry later. - `value` is the suggested phrase with Depop's own bold-match markup stripped (the upstream API wraps the substring matching `query` in `**...**` for highlighting; this endpoint returns the plain text). - `group`, `suggested_filter_label`, and `gender` are present when the suggestion maps to a specific Depop category/department (e.g. `group` `tops`, `suggested_filter_label` `"in Women's Tops"`, `gender` `female`) — all three omitted for a plain free-text suggestion with no category match. - A missing `query` returns `400` before any upstream request is made. - Suggestions with no results return `200` with `"suggestions": []`. Example response: ```json { "code": 200, "msg": "OK", "data": { "query": "red corte", "suggestions": [ { "value": "red corset", "group": "tops", "suggested_filter_label": "in Women's Tops", "gender": "female" }, { "value": "red corset" }, { "value": "red corset top" } ] } } ```
MCPツール depop_suggest
関連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.
対象企業
Etsy, Inc. · ETSY
Depopを運営するのはEtsy, Inc.(ETSY)です。CrawloraのSECエンドポイントは同じ企業のCIKを受け取るため、提出書類・財務・インサイダー取引・13F保有を上記のDepopエンドポイントと同じAPIキーで取得できます。
カタログ内の他のEtsy, Inc.プラットフォーム
Depopのスクレイピング方法
Crawlora's Depop endpoints cover search, listings, seller shops, and Depop's discovery APIs (facets, autocomplete, similar items, seller search, brands, and sizes) as normalized JSON with one API key. Depop search is large and precise. carhartt jacket matched 116,421 listings on 2026-09-18, and each listing returns its price and shipping in cents plus the item's location.
/depop/search takes a query plus price_min and price_max (USD), condition (brand_new, used_like_new, used_excellent, used_good, used_fair), colours, category and subcategory, gender, is_kids, brand_ids, sizes, on_sale, and sort. It returns 24 listings per page with total_results and a next_cursor, which you pass back as after.
price_cents and shipping_cents are integer cents. An $80.00 jacket with $5.99 shipping comes back as 8000 and 599. Item detail adds original_price_cents for markdowns. The id is the listing's URL slug, which /depop/item/{slug} takes directly.
/depop/search/facets returns result counts per department, category, and subcategory for a query. /depop/suggest returns Depop's autocomplete, including the category a suggestion maps to (for example in Women's Tops). /depop/brands resolves the numeric brand_ids filter to names.
/depop/item/{slug}/similar pages up to 150 similar listings. /depop/search-sellers finds sellers by name, and /depop/shop/{username} returns a seller's shop with most of the same filters as search. Depop blocks some automated requests; a 503 means blocked upstream, so retry later.
FAQ
brand_ids takes Depop's internal numeric ids, which Depop doesn't publish. Look them up in /depop/brands, which maps each id to a brand name and slug.
brand_new, used_like_new, used_excellent, used_good, and used_fair. Pass them comma-separated to /depop/search or /depop/shop/{username}.
Depop blocked that request upstream. It is not an empty result. Retry after a pause.