Skip to content
Last updated

Here's a step-by-step guide to help you publish your item for sale using the API.

Technical-focus

This guide provides a technical overview of the steps required to publish an item for sale on the Wallapop platform using the API, along with sample API requests. For a conceptual understanding of the process at a high level, please refer to our Publish Item Flow.

The following sequence diagram demonstrates the actions performed by the API client during the item listing process:

SellerAPIGET /items/categories200 OK + Categories ListChoose category with assignable_to_item = trueGET /items/categories/{id}/attributes200 OK + Category AttributesPOST /items (category_leaf_id + required attributes)201 Created + Item IDPOST /items/{id}/images (image URL, order)201 Created + Image IDGET /items/{id} (Optional: Check item status)200 OK + Item DetailsSellerAPI

1) Identify Item Categories

First things first—let's find the right category for your item! Start by sending a GET request to /items/categories to access Wallapop’s category hierarchy. Don’t forget to replace <YOUR_TOKEN_HERE> with your access token.

curl -i -X GET \
  https://connect.wallapop.com/items/categories \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

A successful request returns a 200 OK status with Wallapop's categories.

2) Choose a Category

The next step is to a choose a category from the list. Choose wisely! An item can only be assigned to a category if its assignable_to_item property is set to true. For example, if you’re selling a pair of women’s activewear shorts, you’ll want to select Shorts under the Activewear category.

3) Retrieve Category Attributes

Next up, find out what info Wallapop needs for your category. Send a GET request to /items/categories/{id}/attributes, swapping {id} with the relevant category ID.

curl -i -X GET \
  https://connect.wallapop.com/items/categories/12467/attributes \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

A successful request will return a 200 OK status, along with a list of attributes. Some attributes are mandatory while others are optional. If you’re selling a car, for instance, you'll need attributes like brand and model:

{
  "attributes": [
    { "type": "text", "id": "brand", "is_mandatory": true, "max_length": 75 },
    { "type": "text", "id": "model", "is_mandatory": true, "max_length": 75 },
    // other attributes...
  ]
}

Make sure you stick with any character limits and guidelines—it's all in the details!

4) Publish Your Items

You’re ready to go! Send a POST request to the /items endpoint with all the necessary info in the request body. Don't forget the category_leaf_id, which links to your chosen category.

curl -i -X POST \
  https://connect.wallapop.com/items \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "item": {
      "category_leaf_id": "9931",
      "title": "Title example",
      "description": "A renowned line of performance and lifestyle sneakers that offer superior comfort, support, and style both on and off the court.",
      "price": {
        "cash_amount": 75.5,
        "currency": "EUR"
      },
      "attributes": {
        "external_id": "407947058",
        "brand": "Abc Design",
        "size": 34,
        "condition": "new",
        "color": "yellow"
      },
      "hashtags": [
        "awesome",
        "original"
      ],
      "delivery": {
        "allowed_by_user": true,
        "max_weight_kg": 10,
        "free_shipping": false
      }
    },
    "main_image": {
      "url": "http://cdn.portal.com/image129.jpg"
    },
    "stock": {
      "units": 0
    }
  }'

A successful request will net you a 201 Created status, plus the id of your brand-new listing.

Want to check on your item later?

Just send a GET request to /items/{id}, using the item's specific id!

Deactivating published items

To stop showing an item (like a virtual hiding act!), send a PUT request to /items/{id}/inactivate. You’ll need a Wallapop Pro subscription for this magic. Want to bring it back? Just send a request to /items/{id}/activate.

5) Adding Images

Last but definitely not least, let's make your listing pop! In the previous example, while creating an item, we specified a main_image to feature at the top. Want to add more flair? Send a POST request to /items/{id}/images, including the image url and display order—starting with 0 for your first additional image!

curl -i -X POST \
  https://connect.wallapop.com/items/xpzpvny244z3/images \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "url": "http://cdn.portal.com/image129.jpg",
    "order": 0
  }'

When all goes well, you'll get a 201 Created status on your image upload, plus its id.

No longer like an image you uploaded?

Just send a DELETE request to /items/{itemId}/images/{imageId}, using the image's specific id!

Next steps

Your listing is live! Before you get ready for a buyer to swoop in, we recommend reviewing our Items API to learn how to manage your inventory. This will help you keep your listings up-to-date.

Once you are comfortable with managing your listings, you can head on over to our Transactions Guide!

Need to view all of your items for sale?

Send a GET request to /items! If you have many items for sale, you can paginate the results instead of receiving a large list all at once.