Documentation Mercado Libre
Check out all the necessary information about APIs Mercado Libre.
Documentation
Items & Searches
Summary of available resources
| Resource | Description | Example |
|---|---|---|
| /marketplace/users/(User_id)/items/search?q=$TEXT_TO_SEARCH | Get items by a search query. |
GET
Go back.
X
Get items by a search query.
Response
|
| /marketplace/users/(User_id)/items/search?category_id=$CATEGORY_ID | Get items listed in a category. |
GET
Go back.
X
Get items listed in a category.
Response
|
| /sites/$SITE_ID/search?nickname=$NICKNAME | Get items from the listings by nickname. | GET |
| /marketplace/users/(User_id)/items/search | Can list items by seller. |
GET
Go back.
X
Can list items by seller.
Response
|
| /items?ids=$ITEM_ID1,$ITEM_ID2 | Multiget with multiple numbers of items. Only for global listings. | GET |
| /users?ids=$USER_ID1,$USER_ID2 | Multiget with multiple numbers of users. | GET |
| /items?ids=$ITEM_ID1,$ITEM_ID2&attributes=$ATTRIBUTE1... | Multiget of items selecting only the fields of interest. Only for global listings. |
GET
Go back.
X
Multiget selecting fields.
Response
|
| /marketplace/users/$USER_ID/items/search?search_type=scan | To get more than 1000 records. |
GET
Go back.
X
Search mode above 1000 records.
Response
|
| /items/$ITEM_ID/marketplace_items | To get the mapping between an item on the global site and the marketplace items. | GET |
Values in sold_quantity and available_quantity fields
In the public resources of Items and Searches, the information of the "sold_quantity" and "available_quantity" fields will be referential with the following values:
sold_quantity
| Real data | Reference |
|---|---|
| 1 | 1 |
| 2 | 2 |
| 3 | 3 |
| 4 | 4 |
| 5 | 5 |
| RANGO_6_25 | 5 |
| RANGO_26_50 | 25 |
| RANGO_51_100 | 50 |
| RANGO_101_150 | 100 |
| RANGO_151_200 | 150 |
| RANGO_201_250 | 200 |
| RANGO 251 500 | 250 |
| RANGO_501_5000 | 500 |
| RANGO_5001_50000 | 5000 |
| RANGO_50001_500000 | 50000 |
available_quantity
| Real data | Reference |
|---|---|
| RANGO_1_50 | 1 |
| RANGO_51_100 | 50 |
| RANGO_101_150 | 100 |
| RANGO_151_200 | 150 |
| RANGO 201 _250 | 200 |
| RANGO_251_500 | 250 |
| RANGO_501_5000 | 500 |
| RANGO_5001_50000 | 5000 |
| RANGO_50001_99999 | 50000 |
Get user listings
Retrieve all listings from your seller account. This is the recommended method for CBT integrations.
Call
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/marketplace/users/$USER_ID/items/search
Example
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/marketplace/users/2560656533/items/search
Response
{
"seller_id": "2560656533",
"results": [
"CBT2518294370",
"CBT2777715207"
],
"paging": {
"limit": 50,
"offset": 0,
"total": 2
}
}
Search with status filter
Listings linked to a user can be filtered by status type, both Global Listings (CBT) and Site Listings.
Required Parameters
- user_id: The user ID (merchant) for whom the search will be performed.
- offset and limit: Parameters used to paginate results. Optional fields, defaults are 0 and 50.
- status: The listing status to filter by (a list), such as: status=pending, active, paused, deleted (inactive).
- search_type: The type of search to perform (e.g., search, scan). Optional field, defaults to search.
Global Listings (CBT) by status
To consult Global Listings, it is necessary to use the parent user_id (merchant).
Call
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/marketplace/users/{merchant_id}/items/search?status=paused
Example
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/marketplace/users/1684344969/items/search?status=paused
Site Listings by status
To consult specific marketplace listings, it is necessary to use the child user_id (seller_id).
Call (MLM listings)
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/marketplace/users/625822648/items/search?status=active
By SKU
- Seller_custom_field: If the item contains a SKU in the "seller_custom_field" field, you can try as follows:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/marketplace/users/$USER_ID/items/search?sku=$SELLER_CUSTOM_FIELD
- Seller_sku: If the item contains a SKU in the "SELLER_SKU" field, you can try like this:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/marketplace/users/$USER_ID/items/search?seller_sku=$SELLER_SKU
With/without product identifier
Using the parameters:
- missing_product_identifiers=true: get items that do not have a Product Identifier loaded or submitted.
- missing_product_identifiers=false: get the list of listings with PIs uploaded or sending.
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/marketplace/users/$USER_ID/items/search?missing_product_identifiers=true
Items with loss of exposure
Identify listings losing exposure due to claims or cancellations:
- unhealthy: listings already losing exposure.
- warning: listings that could lose exposure.
- healthy: listings not impacted.
Parameters
| Parameter | Type | Description |
|---|---|---|
| reputation_health_gauge | String | Filter items by health status. Values: unhealthy, warning, healthy. |
Filter and sort the results of the seller's listings
Inside the resource /users/(user_id)/items/search? there are the "available_orders" and "available_filters" fields.
How to order? Add "orders" with the available ID, for example: "start_time_desc."
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/marketplace/users/$USER_ID/items/search?orders=start_time_desc
How to filter? For example, to filter listings with listing_type "gold_pro":
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/marketplace/users/$USER_ID/items/search?listing_type_id=gold_pro
Filter by free shipping
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/marketplace/users/$USER_ID/items/search?labels=with_free_shipping
Errors
| Code | Type | Message | Solution |
|---|---|---|---|
| 400 | bad_request | handler error, bad request no site_id provided | Verify site_id is valid. |
| 404 | not_found | Item not found | Verify item ID format. |