Documentation Mercado Libre

Check out all the necessary information about APIs Mercado Libre.
circulos azuis em degrade

Documentation

Last update 15/01/2026

Items & Searches

The Items & Searches API allows you to retrieve item information (listing) and search for items within your seller account. For Global Selling (CBT) integrations, use the authenticated endpoints to access your listings across all marketplaces.


Summary of available resources

Resource Description Example
/marketplace/users/(User_id)/items/search?q=$TEXT_TO_SEARCH Get items by a search query. GET
/marketplace/users/(User_id)/items/search?category_id=$CATEGORY_ID Get items listed in a category. GET
/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
/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
/marketplace/users/$USER_ID/items/search?search_type=scan To get more than 1000 records. GET
/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
11
22
33
44
55
RANGO_6_255
RANGO_26_5025
RANGO_51_10050
RANGO_101_150100
RANGO_151_200150
RANGO_201_250200
RANGO 251 500250
RANGO_501_5000500
RANGO_5001_500005000
RANGO_50001_50000050000

available_quantity

Real data Reference
RANGO_1_501
RANGO_51_10050
RANGO_101_150100
RANGO_151_200150
RANGO 201 _250200
RANGO_251_500250
RANGO_501_5000500
RANGO_5001_500005000
RANGO_50001_9999950000

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.
Note:

Inactive listings have a sub_status "deleted," which can be used to filter listings with inactive status (only for site listings).

User Structure in Global Selling (CBT)
In Mercado Libre's Global Selling model, there is a user hierarchy for handling cross-border operations:

Merchant ID (Global User): The "Parent" user. It has site_id: "CBT." It is the owner of the authentication and generates the main access_token. It manages local users.
Seller ID (Marketplace User): These are the "Child" users belonging to specific site_ids (e.g., MLM, MLB). Associated with a logistics type, they publish items and receive orders.

Both appear in the "user_id" field.

Relationship Endpoint
To programmatically obtain this structure, consult the mapping endpoint using the Global User ID:

curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/marketplace/users/$MERCHANT_ID
{
  "user_id": 471826944,
  "site_id": "CBT",
  "marketplaces": [
    {
      "user_id": 471828584,
      "site_id": "MLM",
      "logistic_type": "remote"
    },
    {
      "user_id": 471830260,
      "site_id": "MLB",
      "logistic_type": "remote"
    },
    {
      "user_id": 538932857,
      "site_id": "MLC",
      "logistic_type": "fulfillment"
    }
  ]
}

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

Note:
Listings can be searched using different filters, such as category_id, status, and text.

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

Important:
This functionality is available for listings selling in Mexico (MLM), Chile (MLC), and Brazil (MLB).

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_gaugeStringFilter 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.

Note:
The /marketplace/users/{USER_ID}/items/search resource does not show the 'filters' blocks by default. To see them, add the parameter include_filters=true.

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
Note:
By default, it already comes with a stop_time_asc order applied.

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
Note:
Search resources do not replace the use of item notifications. This ensures consistent and up-to-date integration.

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.