Category attributes

The Marktplaats API supports attributes for both categories and advertisements to specify additional properties of a product like size and color.

Category attributes are recommended attribute names and values for a given category. They help constructing automatic user interfaces in which sellers can select one or more values from a pre-defined list of attributes.

They serve as a basis for the attributes the seller can supply in addition to his own user-defined attributes. You cannot post/put category attributes.

There is a separate url available to get a category attributes.

field

type

constraints

default

Req

W

U

key

string

–

yes

no

no

label

string

–

yes

no

no

labels

object

–

yes

no

no

type

Attribute type

–

yes

no

no

values

array(string)

–

no

no

no

options

array(ValueOption type)

–

no

no

no

minValue

number

applicable to attribute with type NUMBER only

no

no

no

maxValue

number

applicable to attribute with type NUMBER only

no

no

no

minAllowedLength

number

applicable to attribute with type STRING only

no

no

no

maxAllowedLength

number

applicable to attribute with type STRING only

no

no

no

unit

string

applicable to attribute with type NUMBER only

no

no

no

units

object

–

yes

no

no

mandatory

boolean

–

yes

no

no

searchable

boolean

–

yes

no

no

writable

boolean

–

yes

no

no

updateable

boolean

–

yes

no

no

objectAttributeSchemaUrl

string

–

no

no

no

key

Unique name of an attribute.

label

The label of the attribute. Deprecated: Use labels instead.

labels

The localized descriptive names of the attribute, keyed by locale.

type

The label of the attribute

values

A list of all allowed values for the attribute. Deprecated: Use options instead.

options

A list of all allowed values for the attribute.

minValue

Minimum allowed value.

maxValue

Maximum allowed value.

minAllowedLength

Minimum allowed length of user-defined string value.

maxAllowedLength

Maximum allowed length of user-defined string value.

unit

Indicates the unit of a NUMBER attribute. Deprecated: Use units instead.

units

The localized descriptive units of the attribute, keyed by locale.

mandatory

Indicates if attribute is mandatory or can be omitted.

searchable

Indicates if you can filter listing results based on this field.

writable

Indicates if you can set this attribute when creating an advertisement for this category

updateable

Indicates if you can update this attribute for advertisements created in this category

objectAttributeSchemaUrl

URL to retrieve the schema definition for custom object attributes. This endpoint provides the structure and validation rules for complex object-type attributes.

Allowed attribute types

type

description

STRING

User can select a single value from values. Or provide any string if values are not given, between length minAllowedLength and maxAllowedLength.

LIST

User can select one or more values from values.

NUMBER

User can provide an integer number between minValue and maxValue.

DOUBLE

User can provide a floating point number

OBJECT

User can provide a structured object. The schema definition for the object structure is available via objectAttributeSchemaUrl.

Possible value options

A list of all allowed values for the attribute.

field

type

constraints

default

Req

W

U

key

string

–

yes

no

no

labels

object

–

yes

no

no

key

Unique key of a value option.

labels

The localized descriptive labels of the value option, keyed by locale.

Reference

GET /v2/categories/{l1CategoryId}/{l2CategoryId}/attributes

This urls returns attributes for the specified leaf category.

This endpoint will accept either a client access token or a user access token. When this endpoint is called with a client access token, it will return the generic results (ie. not user-specific). But when it is called with a user access token, it will return user-specific results. For example, it may mark some attributes as mandatory if they are mandatory for the corresponding user.

Example

Retrieving category attributes :

Request :

GET /v2/categories/1/2/attributes HTTP/1.1
Host: api.marktplaats.nl

Response :

HTTP/1.1 200 OK
Content-Type: application/json

{
 "_links":{
   "self":{
     "href":"/v2/categories/1/2/attributes"
   },
   "describedby":{
     "href":"https://api.marktplaats.nl/docs/v2/categories.html#attributes"
   }
 },
 "fields": [
      {
          "key": "delivery",
          "label": "Levering",
          "labels": {
              "nl-NL": "Levering"
          },
          "type": "STRING",
          "values": [
              "Ophalen",
              "Verzenden",
              "Ophalen of Verzenden"
          ],
          "options": [
              {
                  "key": "Ophalen",
                  "labels": {
                      "nl-NL": "Ophalen"
                  }
              },
              {
                  "key": "Verzenden",
                  "labels": {
                      "nl-NL": "Verzenden"
                  }
              },
              {
                  "key": "Ophalen of Verzenden",
                  "labels": {
                      "nl-NL": "Ophalen of Verzenden"
                  }
              }
          ],
          "mandatory": false,
          "searchable": true,
          "writable": true,
          "updateable": true
      },
      {
          "key": "properties",
          "label": "Eigenschappen",
          "labels": {
              "nl-NL": "Eigenschappen"
          },
          "type": "LIST",
          "values": [
              "Vering",
              "Opvouwbaar"
          ],
          "options": [
              {
                  "key": "Vering",
                  "labels": {
                      "nl-NL": "Vering"
                  }
              },
              {
                  "key": "Opvouwbaar",
                  "labels": {
                      "nl-NL": "Opvouwbaar"
                  }
              }
          ],
          "mandatory": false,
          "searchable": true,
          "writable": true,
          "updateable": true
      },
      {
          "key": "engineDisplacement",
          "label": "Motorinhoud",
          "labels": {
              "nl-NL": "Motorinhoud"
          },
          "type": "NUMBER",
          "minValue": 1,
          "maxValue": 8500,
          "unit": "cc",
          "units": {
              "nl-NL": "cc"
          },
          "mandatory": false,
          "searchable": true,
          "writable": true,
          "updateable": true
      },
      {
          "key": "manufacturerEmail",
          "label": "E-mailadres fabrikant",
          "labels": {
              "nl-NL": "E-mailadres fabrikant"
          },
          "type": "STRING",
          "minAllowedLength": 0,
          "maxAllowedLength": 64,
          "mandatory": true,
          "searchable": false,
          "writable": true,
          "updateable": true
      }]
  }

GET /v2/categories/objectAttributeDefinitions/{attributeName}

This endpoint returns the schema definition for custom object attributes. It provides the structure, validation rules, and allowed properties for object-type category attributes.

The attributeName parameter should match the key value of an attribute with type OBJECT. This endpoint is referenced by the objectAttributeSchemaUrl field in category attributes.

This endpoint accepts either a client access token or a user access token.

Example

Retrieving object attribute definitions : This endpoint provides JSON Schema definitions for object attributes. The example below shows the schema for service-packages. For the most up-to-date schema definition, always call the API endpoint directly.

Request :

GET /v2/categories/objectAttributeDefinitions/service-packages HTTP/1.1
Host: api.marktplaats.nl

Response :

HTTP/1.1 200 OK
Content-Type: application/schema+json

{
    "$schema": "https://json-schema.org/draft/2020-12/schema",
    "title": "service-packages",
    "type": "array",
    "items": {
        "type": "object",
        "properties": {
            "title": {
                "type": "string",
                "minLength": 1,
                "description": "Title of the service package"
            },
            "price": {
                "type": "integer",
                "description": "Value in cents. 0 is allowed if the service package is included in the asking price of the item.",
                "minimum": 0
            },
            "content": {
                "type": "array",
                "description": "List of bullet points included in the service package",
                "items": {
                    "type": "string",
                    "minLength": 1
                }
            },
            "locale": {
                "type": "string",
                "enum": [
                    "nl-NL"
                ]
            }
        }
    }
}