• API Docs
  • Mercado Shops Guide
  • List products in Mercado Shops
Last update 07/06/2022

List products in Mercado Shops

All sales generated through a Mercado Shops store and the products published with their respective attributes and variations are managed in the same way and through the Mercado Libre API. (Guide for products).

Identify seller can list on Mercado Shops

To find out if the seller has a store created, do a search with the site and seller id. If you have the “mshops” tag it means that you have your store created in Mercado Shops. If you do not have this tag, you can reate a store in Mercado Shops.

Request:

curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/sites/$SITE_ID/search?seller_id=$SELLER_ID

Example:

curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/sites/MLB/search?seller_id=618515328

Response:

{
   "site_id":"MLB",
   "seller":{
      "id":618515328,
      "nickname":"TETE1835554",
      "permalink":"http://perfil.mercadolivre.com.br/TETE1835555",
      "registration_date":"2020-07-31T09:59:53.000-04:00",
      "seller_reputation":{
         "level_id":"5_green",
         "power_seller_status":null,
         "transactions":{
            "total":1,
            "canceled":0,
            "period":"historic",
            "ratings":{
               "negative":0,
               "positive":0,
               "neutral":1
            },
            "completed":1
         },
         "metrics":{
            "sales":{
               "period":"365 days",
               "completed":1
            }
         }
      },
      "real_estate_agency":false,
      "car_dealer":false,
      "tags":[
         "normal",
         "test_user",
         "mshops",
         "messages_as_seller",
         "messages_as_buyer"
      ],
      "eshop":null
   },
   "paging":{
      "total":0,
      "primary_results":1000,
      "offset":0,
      "limit":50
   },
   "results":[ ],
   "secondary_results":[ ],
   "related_results":[ ],
   "sort":{
      "id":"relevance",
      "name":"Mais relevantes"
   },
   "available_sorts":[
      {
         "id":"price_asc",
         "name":"Menor preço"
      },
      {
         "id":"price_desc",
         "name":"Maior preço"
      }
   ],
   "filters":[ ],
   "available_filters":[ ]
}

List in Mercado Libre and/or Mercado Shops

Importante:
When lisitng or editing the channel, you must recognize if the category has the mandatory price attribute.

When publishing an item, you can define, using the “channels” field, in which channel you want to publish the item (Mercado Libre and/or Mercado Shops). You can perform this same action at any time you want to change the publication for a particular channel.

Example of an item listed only in Mercado Shops:

curl -X POST -H 'Authorization: Bearer $ACCESS_TOKEN' -H "Content-Type: application/json" -d
{
	[...]
	"channels": ["mshops"]
	[...]
}
https://api.mercadolibre.com/items

Example of an item listed only in Mercado Libre:

curl -X POST -H 'Authorization: Bearer $ACCESS_TOKEN' -H "Content-Type: application/json" -d
{
	[...]
	"channels": ["marketplace"]
	[...]
}
https://api.mercadolibre.com/items

Example of an item listed in two channels:

curl -X POST -H 'Authorization: Bearer $ACCESS_TOKEN' -H "Content-Type: application/json" -d
{
	[...]
	"channels": ["marketplace",
		"mshops"
	]
	[...]
}
https://api.mercadolibre.com/items

For more details, check marketplace listings.


Edit listing channel

You can also modify the channel in which the publication is found by putting a PUT to the /items resource.

Editing example from marketplace to mshops listing:

curl -X PUT -H 'Authorization: Bearer $ACCESS_TOKEN' -H 
{
	[...]
	"channels": ["mshops"]
	[...]
}
https://api.mercadolibre.com/items

Create and/or update price in Mercado Shops

Importante:
This resource will be productive as of August 16, 2021.

Example:

curl -X POST-H 'Authorization: Bearer $ACCESS_TOKEN' -H "Content-Type: application/json" -d
{
    [...]
    "amount": 50000,
    "currency_id":"ARS"
    
}
https://api.mercadolibre.com/items/$ITEM_ID/prices/types/standard/channels/mshops

Response:

{
    "prices": [
        {
         "id": "9",
         "type": "standard",
         "amount": 50000,
         "regular_amount": null,
         "currency_id": "ARS",
         "last_updated": "2021-06-03T16:24:56Z",
         "conditions": {
             "context_restrictions": ["channel_mshops"],
             "start_time": null,
             "end_time": null
         }
        }]
    [...]
}

If you want edit marketplace listings, can request /items resource.

Delete differentiated price in Shops

Importante:
This resource will be productive as of August 16, 2021.

By eliminating the price in Mercado Shops you can maintain a standard price, without differentiating the Mercado Libre and Mercado Shops listings.

Request:

curl -X DELETE -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/items/$ITEM_ID/prices/types/standard/channels/mshops

Consult the listing price in Mercado Shops

Importante:
This resource will be productive as of August 16, 2021.

Request:

curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/items/$ITEM_ID/prices/types/standard/channels/mshops

Example:

curl -X GET -H 'Authorization:  Bearer  $ACCESS_TOKEN' https://api.mercadolibre.com/items/MLA921502681/prices/types/standard/channels/mshops

Response:

{
    "id": "MLA921502681",
       [...]
    "prices": [
        {
         "id": "9",
         "type": "standard",
         "amount": 50000,
         "regular_amount": null,
         "currency_id": "ARS",
         "last_updated": "2021-06-03T16:24:56Z",
         "conditions": {
             "context_restrictions": ["channel_mshops"],
             "start_time": null,
             "end_time": null
         }
        }]
    [...]
}

Identify the best listing price

Importante:
This resource will be productive as of August 16, 2021.

To identify the best sale price of a marketplace (Mercado Libre) or mshops publication (Mercado Shops) use /sale_price and send the context parameter (channel_mshops or channel_marketplace) depending on the publication channel.

Note:
In addition, you can use the loyalty context, such as buyer_loyalty_3, since these “contexts” (channel and loyalty) are enabled, that is, you can add new or change contexts to perform searches and combine them, just like variables that limit context values. More variables will be coming soon.

Request:

curl -X GET-H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/items/ITEM_ID/sale_price?context=CONTEXT

Example for the Mercado Shops channel:

curl -X GET-H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/items/4/sale_price?context=channel_mshops

Response:

{
        "price_id":"35"
        "amount": 50000,
        "regular_amount": null,
        "currency_id": "ARS",
        "last_updated": "2021-06-03T16:24:56Z"      
}

Prices notifications

To know the news about prices you must subscribe to the topic items_prices. In the corresponding response you will receive:

{
   "user_id": 1234567,
   "resource": "/items/$ITEM_ID/prices"
}

Once the news is received, you should check and find out the new status of the entity:

Request:

curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/items/$ITEM_ID/prices

Example:

curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/items/MLA921502681/prices

Response:

{
    "id": "MLA921502681",
       [...]
    "prices": [
        {
         "id": "9",
         "type": "standard",
         "amount": 50000,
         "regular_amount": null,
         "currency_id": "ARS",
         "last_updated": "2021-06-03T16:24:56Z",
         "conditions": {
             "context_restrictions": ["channel_mshops"],
             "start_time": null,
             "end_time": null
         }
        }]

    [...]
}

Errors

Error Description Solution
400 Invalid json format Send the JSON with the correct format
400 Price amount must be greater than zero Enter a price greater than zero
400 Price amount is required Fill in the price amount (required)
400 Price currency_id is required Fill in the currency id (required)
400 Currency xxxx is not valid Enter valid currency
400 Amount is over max decimal precision allowed for currency Use the correct number of decimal places in the price
401 Missing access_token param Send your access token in the request header
403 User ID must match the item owner Use the owner user ID of the item
404 Prices entity not found for itemxxxxx. It must be initialized before doing this operation Use the ID item correct
429 Too many requests Reduce the request quantity

Next: Free shipping in Mercado Shops.