Taxonomy
When you're creating a new listing, you'll need to provide a "department" and a "product_type".
The "department" is our top-level category, for example, "womenswear" or "menswear".
The "product_type" is a more specific category, for example, "tshirts" or "jeans".
Info
There's an intermediate level between department and product type called "group". We don't need to receive this when an item is being listed but it's used in the apps/website to organize the product types.
For example, in "menswear" >> "swim-beach-wear" >> "swimsuit-one-piece", we only need to know the department "menswear" and the product type "swimsuit-one-piece".
Each product type has a list of assigned attributes, these are optional. For example "swimsuit-one-piece" has the attributes "material" "body-fit" and "occasion".
Sizes
Each department >> product type has their own set of sizes, for example, "womenswear" >> "ballet-shoes" will have a different set of sizes available. These are broken down by region, we currently support US, GB and EU. For example in the US size 4 will be size 2 in GB and 35 in EU. We call these groups of sizes "size_sets". Some "size_sets" can be applied over multiple product types, so for "ballet-shoes" it may have the same "size_set_id" as "boots".
Note
Certain group types will not have any sizes, for example accessories.
For a given "size_set_id" there is multiple "size_id" each will represent a particular size. For example, for the product type "ballet-shoes" and the GB "size_set_id" 44, it has a "size_id" 18 which represents "UK 2" size.
Note
"size_id" is not unique, it is dependent on "size_set_id".
Fetching Taxonomy
Tip
We are not yet serving these through our Selling API and these endpoints have bot-detection protection.
It's likely you might need to use your browser to download these from this URL: https://api.depop.com/api/v3/attributes/ and then access each attribute using the top level keys like:
- department
- group
- brand
- etc.
In the examples below, we will use curl to access the data and jq to filter the results.
To get the list of departments, you can run the following command curl -s -H'User-agent: Partner' 'https://api.depop.com/api/v3/attributes/' | jq '.department':
To get the list of product types, you can run the following command curl -s -H'User-agent: Partner' 'https://api.depop.com/api/v3/attributes/' | jq '.group':
[
{
"id": "bottoms",
"name_i18n": {
"en-US": "Bottoms"
},
"status": "active",
"department": [
"menswear",
"womenswear",
"kidswear"
],
"product_types": [
{
"id": "jeans",
"status": "active",
"name_i18n": {
"en-US": "Jeans"
},
"attribute_ids": [
"bottom-fit",
"bottom-style",
"occasion",
"material",
"body-fit"
]
},
{
"id": "joggers-tracksuits",
"status": "active",
"name_i18n": {
"en-US": "Sweatpants"
},
"attribute_ids": [
"bottom-fit",
"bottom-style",
"occasion",
"material",
"body-fit"
]
},
...
]
},
...
]
Each product type has a list of attribute ids.
Each attribute id has a set of possible values which can be found by running the following command curl -s -H'User-agent: Partner' 'https://api.depop.com/api/v3/attributes/' | jq '.generic_attributes':
[
{
"id": "dress-type",
"name_i18n": {
"en-US": "Type"
},
"status": "active",
"max_selection": 1,
"is_mandatory": false,
"attributes": [
{
"id": "a-line",
"status": "active",
"name_i18n": {
"en-US": "A-line"
}
},
...
]
},
...
]
To get the list of size_set_id, you can run the following command curl -s -H'User-agent: Partner' 'https://api.depop.com/api/v3/attributes/' | jq '.category_size_mapping':
[
{
"department": "menswear",
"group": "accessories",
"product_type": "other-accessories"
},
{
"department": "womenswear",
"group": "dresses",
"product_type": "dresses",
"size_set_by_region": {
"IT": 81,
"US": 84,
"GB": 86
}
},
...
]
Note
"IT" represents Europe.
To get the size_id, you can run the following command curl -s -H'User-agent: Partner' 'https://api.depop.com/api/v3/attributes/' | jq '.size_sets':
[
{
"id": 101,
"sizes": [
{
"id": 1,
"name_i18n": {
"en-US": "One size"
},
"position": 1668
},
{
"id": 2,
"name_i18n": {
"en-US": "0-3 months"
},
"position": 1669
},
{
"id": 3,
"name_i18n": {
"en-US": "3-6 months"
},
"position": 1670
},
...
]
},
...
]
As an example lets say we want to list a menswear suit in size M in the UK. The department is "menswear", the product type is "suits" and the size_set_id is "93" and the size_id is "4".