Documentación Mercado Libre
Descubre toda la información que debes conocer sobre las APIs de Mercado Libre.Documentación
Búsqueda de ítems
Resumen de los recursos disponibles
Recurso | Descripción |
---|---|
/sites/$SITE_ID/search?category=$CATEGORY_ID | Obtener ítems listados en una categoría. |
/sites/$SITE_ID/search?q=Motorola%20G6 | Obtener ítems de una consulta de búsqueda. |
/sites/$SITE_ID/search?nickname=$NICKNAME | Obtener ítems de los listados por nickname. |
/sites/$SITE_ID/search?seller_id=$SELLER_ID | Permite listar ítems por vendedor. |
/sites/$SITE_ID/search?seller_id=$SELLER_ID&category=$CATEGORY_ID | Obtener ítems de los listados por vendedor en una categoría específica. |
/users/$USER_ID/items/search | Permite listar todos los ítems de la cuenta de un vendedor. |
/items?ids=$ITEM_ID1,$ITEM_ID2 | Multiget con múltiples números de ítems. |
/users?ids=$USER_ID1,$USER_ID2 | Multiget con múltiples números de usuarios. |
/items?ids=$ITEM_ID1,$ITEM_ID2&attributes=$ATTRIBUTE1,$ATTRIBUTE2,$ATTRIBUTE3 | Multiget con múltiples números de ítems seleccionando sólo los campos de interés. |
/users/$USER_ID/items/search?search_type=scan | Permite obtener más de 1000 items correspondientes a un usuario. |
Buscar artículos por categoría
Además, puedes conocer más detalles sobre las categorías y atributos.
Llamada:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/sites/$SITE_ID/search?category=$CATEGORY_ID
Ejemplo:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/sites/MLA/search?category=MLA1055
Respuesta:
{
"site_id": "MLA",
"paging": {
"total": 90591,
"offset": 0,
"limit": 50,
"primary_results": 1039
},
"results": [
{
"id": "MLA811601010",
"site_id": "MLA",
"title": "Samsung Galaxy J4+ Dual Sim 32 Gb Negro (2 Gb Ram)",
"seller": {
"id": 451257294,
"nickname": SELLER_123,
},
"price": 19609,
"currency_id": "ARS",
"available_quantity": 1,
"buying_mode": "buy_it_now",
"listing_type_id": "gold_pro",
"stop_time": "2039-08-22T04:00:00.000Z",
"condition": "new",
"permalink": "https://www.mercadolibre.com.ar/p/MLA13550363",
"thumbnail": "http://mla-s1-p.mlstatic.com/943469-MLA31002769183_062019-I.jpg",
"accepts_mercadopago": true,
"installments": {
"quantity": 6,
"amount": 3268.17,
"rate": 0,
"currency_id": "ARS"
},
"shipping": {
"free_shipping": true,
"mode": "me2",
"tags": [
"mandatory_free_shipping"
],
"logistic_type": "drop_off",
"store_pick_up": false
},
"attributes": [
{
"values": [
{
"source": 1,
"id": "206",
"name": "Samsung",
"struct": null
}
],
"attribute_group_id": "OTHERS",
"attribute_group_name": "Otros",
"id": "BRAND",
"value_id": "206",
"value_name": "Samsung",
"value_struct": null,
"source": 1,
"name": "Marca"
},
{
"id": "CPU_MODEL",
"value_struct": null,
"values": [
{
"struct": null,
"source": 6587939990796619,
"id": "7657686",
"name": "4x1.4 GHz Cortex-A53"
}
],
"attribute_group_name": "Otros",
"name": "Modelo de CPU",
"value_id": "7657686",
"value_name": "4x1.4 GHz Cortex-A53",
"attribute_group_id": "OTHERS",
"source": 6587939990796619
},
{
"value_name": "Adreno 308",
"value_struct": null,
"values": [
{
"source": 4709228965570453,
"id": "7531831",
"name": "Adreno 308",
"struct": null
}
],
"attribute_group_id": "OTHERS",
"attribute_group_name": "Otros",
"id": "GPU_MODEL",
"name": "Modelo de GPU",
"value_id": "7531831",
"source": 4709228965570453
},
{
"values": [
{
"id": "2230284",
"name": "Nuevo",
"struct": null,
"source": 8342579661593500
}
],
"id": "ITEM_CONDITION",
"value_struct": null,
"value_name": "Nuevo",
"attribute_group_id": "OTHERS",
"attribute_group_name": "Otros",
"source": 8342579661593500,
"name": "Condición del ítem",
"value_id": "2230284"
},
{
"value_id": "195973",
"value_name": "Galaxy J",
"attribute_group_id": "OTHERS",
"attribute_group_name": "Otros",
"source": 1,
"id": "LINE",
"name": "Línea",
"value_struct": null,
"values": [
{
"source": 1,
"id": "195973",
"name": "Galaxy J",
"struct": null
}
]
},
{
"value_name": "J4+ Duos",
"values": [
{
"id": "6047739",
"name": "J4+ Duos",
"struct": null,
"source": 1
}
],
"id": "MODEL",
"name": "Modelo",
"value_id": "6047739",
"source": 1,
"value_struct": null,
"attribute_group_id": "OTHERS",
"attribute_group_name": "Otros"
},
{
"values": [
{
"struct": null,
"source": 6587939990796619,
"id": "2087879",
"name": "Snapdragon 425"
}
],
"attribute_group_name": "Otros",
"name": "Modelo del procesador",
"value_name": "Snapdragon 425",
"value_struct": null,
"attribute_group_id": "OTHERS",
"source": 6587939990796619,
"id": "PROCESSOR_MODEL",
"value_id": "2087879"
}
],
"differential_pricing": {
"id": 33669181
},
"original_price": null,
"category_id": "MLA1055",
"official_store_id": null,
"catalog_product_id": "MLA13550363",
"tags": [
"extended_warranty_eligible",
"good_quality_picture",
"good_quality_thumbnail",
"immediate_payment",
"cart_eligible"
],
"catalog_listing": true
},
{
"id": "MLA816019440",
"site_id": "MLA",
"title": "Apple iPhone Xr Dual Sim 128 Gb Blanco",
"seller": {
"id": 70894521,
"power_seller_status": null,
"car_dealer": false,
"real_estate_agency": false,
"tags": []
},
"price": 79470,
"currency_id": "ARS",
"available_quantity": 1,
"buying_mode": "buy_it_now",
"listing_type_id": "gold_special",
"stop_time": "2039-09-15T04:00:00.000Z",
"condition": "new",
"permalink": "https://www.mercadolibre.com.ar/p/MLA12866684",
"thumbnail": "http://mla-s1-p.mlstatic.com/980849-MLA31002261498_062019-I.jpg",
"accepts_mercadopago": true,
"installments": {
"quantity": 12,
"amount": 10845.67,
"rate": 63.77,
"currency_id": "ARS"
},
"address": {
"state_id": "AR-C",
"state_name": "Capital Federal",
"city_id": "TUxBQlBBVDI0ODFa",
"city_name": "Paternal"
},
"shipping": {
"free_shipping": true,
"mode": "me2",
"tags": [
"mandatory_free_shipping"
],
"logistic_type": "drop_off",
"store_pick_up": false
},
"seller_address": {
"country": {
"id": "AR",
"name": "Argentina"
},
"state": {
"id": "AR-C",
"name": "Capital Federal"
},
"city": {
"id": "TUxBQlBBVDI0ODFa",
"name": "Paternal"
},
"latitude": "",
"longitude": ""
},
"attributes": [
{
"source": 1,
"id": "BRAND",
"value_name": "Apple",
"attribute_group_id": "OTHERS",
"attribute_group_name": "Otros",
"name": "Marca",
"value_id": "9344",
"value_struct": null,
"values": [
{
"struct": null,
"source": 1,
"id": "9344",
"name": "Apple"
}
]
},
{
"name": "Modelo de CPU",
"attribute_group_id": "OTHERS",
"source": 1,
"id": "CPU_MODEL",
"value_id": "6927770",
"value_name": "2x2.5 GHz Vortex/4x1.6 GHz Tempest",
"value_struct": null,
"values": [
{
"id": "6927770",
"name": "2x2.5 GHz Vortex/4x1.6 GHz Tempest",
"struct": null,
"source": 1
}
],
"attribute_group_name": "Otros"
},
{
"values": [
{
"name": "Nuevo",
"struct": null,
"source": 6808261514773724,
"id": "2230284"
}
],
"source": 6808261514773724,
"value_id": "2230284",
"value_name": "Nuevo",
"value_struct": null,
"attribute_group_name": "Otros",
"id": "ITEM_CONDITION",
"name": "Condición del ítem",
"attribute_group_id": "OTHERS"
},
{
"value_id": "58993",
"value_struct": null,
"values": [
{
"struct": null,
"source": 1,
"id": "58993",
"name": "iPhone"
}
],
"attribute_group_id": "OTHERS",
"attribute_group_name": "Otros",
"source": 1,
"id": "LINE",
"name": "Línea",
"value_name": "iPhone"
},
{
"name": "Modelo",
"value_struct": null,
"values": [
{
"id": "5414260",
"name": "iPhone XR",
"struct": null,
"source": 1
}
],
"attribute_group_id": "OTHERS",
"attribute_group_name": "Otros",
"id": "MODEL",
"value_id": "5414260",
"value_name": "iPhone XR",
"source": 1
},
{
"id": "PROCESSOR_MODEL",
"attribute_group_id": "OTHERS",
"values": [
{
"id": "6927771",
"name": "Apple A12 Bionic",
"struct": null,
"source": 1
}
],
"attribute_group_name": "Otros",
"source": 1,
"name": "Modelo del procesador",
"value_id": "6927771",
"value_name": "Apple A12 Bionic",
"value_struct": null
}
],
"original_price": null,
"category_id": "MLA1055",
"official_store_id": null,
"catalog_product_id": "MLA12866684",
"catalog_listing": true
}
}
]
}
Con el tag "supermarket_elegible" identificas los ítems de Supermercado. Aplicamos el tag supermercado respetando normas comerciales. Cuando el ítem no cumpla, el tag puede ser eliminado sin previo aviso al vendedor.
Ejemplo:
"sub_status": [],
"tags": [
"good_quality_thumbnail",
"supermarket_eligible",
"good_quality_picture",
"immediate_payment",
"cart_eligible"
]
Valores en el campo available_quantity
En los recursos públicos de Ítems y Búsquedas la información de "available_quantity" será referencial con los siguientes valores:
available_quantity
Dato real | Referencia |
---|---|
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 |
Obtener ítems de una consulta de búsqueda
Con el parámetro “q” puedes realizar una búsqueda por palabra , frases o tributos claves de búsqueda. Es importante tener en cuenta que en este campo puedes enviar tantos detalles de los atributos de la publicación como sea necesario, de esta manera en la respuesta obtendrás búsquedas más precisas. Si quieres separar términos puedes usar %20 que corresponde al código ASCII.
Llamada:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/sites/$SITE_ID/search?q=Motorola%20G6
Ejemplo:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/sites/MLA/search?q=Motorola%20G6
Respuesta:
{
"site_id": "MLA",
"query": "Motorola G6",
"paging": {
"total": 916,
"offset": 0,
"limit": 50,
"primary_results": 916
},
"results": [
{
"id": "MLA810645375",
"site_id": "MLA",
"title": "Motorola G6 Plus 64 Gb Nimbus",
"price": 17999,
"currency_id": "ARS",
"available_quantity": 100,
"buying_mode": "buy_it_now",
"listing_type_id": "gold_special",
"stop_time": "2039-08-17T04:00:00.000Z",
"condition": "new",
"permalink": "https://www.mercadolibre.com.ar/p/MLA9452524",
"thumbnail": "http://mla-s2-p.mlstatic.com/795558-MLA31003306206_062019-I.jpg",
"accepts_mercadopago": true,
"installments": {
"quantity": 12,
"amount": 2456.41,
"rate": 63.77,
"currency_id": "ARS"
},
"shipping": {
"free_shipping": false,
"mode": "custom",
"tags": [],
"logistic_type": "custom",
"store_pick_up": true
},
"attributes": [
{
"name": "Marca",
"value_id": "2503",
"value_name": "Motorola",
"value_struct": null,
"attribute_group_id": "OTHERS",
"attribute_group_name": "Otros",
"source": 1,
"id": "BRAND"
},
{
"attribute_group_name": "Otros",
"source": 1,
"id": "CPU_MODEL",
"name": "Modelo de CPU",
"value_id": "7070889",
"value_name": "4x2.2 GHz Cortex-A53/4x1.8 GHz Cortex-A53",
"value_struct": null,
"attribute_group_id": "OTHERS"
},
],
"original_price": null,
"category_id": "MLA1055",
"official_store_id": 229,
"catalog_product_id": "MLA9452524",
"catalog_listing": true
},
{
"id": "MLA805330648",
"site_id": "MLA",
"title": "Motorola G6 32 Gb Plata",
"seller": {
"id": 185702920,
"power_seller_status": "platinum",
"car_dealer": false,
"real_estate_agency": false,
"tags": []
},
"price": 14899,
"currency_id": "ARS",
"available_quantity": 1,
"buying_mode": "buy_it_now",
"listing_type_id": "gold_special",
"stop_time": "2039-07-28T17:33:48.000Z",
"condition": "new",
"permalink": "https://www.mercadolibre.com.ar/p/MLA9652755",
"thumbnail": "http://mla-s1-p.mlstatic.com/685061-MLA31003463570_062019-I.jpg",
"accepts_mercadopago": true,
"installments": {
"quantity": 12,
"amount": 2033.34,
"rate": 63.77,
"currency_id": "ARS"
},
"shipping": {
"free_shipping": true,
"mode": "me2",
"tags": [
"fulfillment",
"mandatory_free_shipping"
],
"logistic_type": "fulfillment",
"store_pick_up": false
},
"state": {
"id": "AR-C",
"name": "Capital Federal"
},
"city": {
"id": null,
"name": "Once"
},
"latitude": "",
"longitude": ""
},
"attributes": [
{
"name": "Marca",
"value_id": "2503",
"value_name": "Motorola",
"value_struct": null,
"attribute_group_id": "OTHERS",
"attribute_group_name": "Otros",
"source": 1,
"id": "BRAND"
},
{
"value_id": "6936760",
"value_name": "8x1.8 GHz Cortex-A53",
"value_struct": null,
"attribute_group_id": "OTHERS",
"attribute_group_name": "Otros",
"source": 1,
"id": "CPU_MODEL",
"name": "Modelo de CPU"
},
{
"value_name": "Snapdragon 450",
"value_struct": null,
"attribute_group_id": "OTHERS",
"attribute_group_name": "Otros",
"source": 1,
"id": "PROCESSOR_MODEL",
"name": "Modelo del procesador",
"value_id": "6936759"
}
],
"original_price": null,
"category_id": "MLA1055",
"official_store_id": null,
"catalog_product_id": "MLA9652755",
"catalog_listing": true
}
}
]
}
Buscar ítems por vendedor
Según el tipo de recurso que utilices obtendrás los siguientes datos:
- /sites/$SITE_ID/search? obtienes los resultados de ítems activos directamente de los listados de Mercado Libre.
- /users/$USER_ID/items/search obtienes un listado de los ítems publicados por determinado vendedor desde su cuenta.
Obtener ítems de los listados por vendedor
Esta búsqueda se ajusta a las reglas de los listados de la plataforma. Los resultados siempre serán de ítems activos.
Por ID de vendedor
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/sites/$SITE_ID/search?seller_id=$SELLER_ID
Por nickname
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/sites/$SITE_ID/search?nickname=$NICKNAME
También se pueden aplicar diferentes filtros y ordenamientos.
Dentro de /sites/$SITE_ID/search? están los campos "available_sorts" y "available_filters" al adicionar un parámetro.
¿Cómo filtrar? Por ejemplo, para filtrar ítems con envío gratis encontrarás entre los ”available_filters" disponibles el ID "shipping" y dentro de éste el value con ID “free”.
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/sites/$SITE_ID/search?seller_id=$SELLER_ID&shipping_cost=free
¿Cómo ordenar? En este caso deberás agregar “sort” con el ID disponible del orden que quieras aplicar, por ejemplo: “price_asc”
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/sites/$SITE_ID/search?seller_id=$SELLER_ID&sort=price_asc
Por ID de vendedor para una categoría específica
Utilizando el siguiente ejemplo podrás buscar dentro de una categoría específica. Con la siguiente llamada podrás consultar las publicaciones de categorías específicas.
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/sites/$SITE_ID/search?seller_id=$SELLER_ID&category=$CATEGORY_ID
Ítems con pérdida de exposición
Con el siguiente filtro, podrás reconocer aquellos ítems que están perdiendo o podrían perder exposición debido a reclamos o cancelaciones. Puedes utilizar:
unhealthy: para identificar los ítems que ya están perdiendo exposición.
warning: para aquellos que podrían perderla y que aún es posible recuperar.
healthy: para ítems que no fueron impactados.
Llamada:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/users/$SELLER_ID/items/search?reputation_health_gauge=unhealthy
Ejemplo:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/users/123456789/items/search?reputation_health_gauge=unhealthy
Respuesta:
{
"seller_id":"123456789",
"query":null,
"paging":{
"limit":50,
"offset":0,
"total":1
},
"results":[
"MLA844702264"
],
"orders":[
{
"id":"stop_time_asc",
"name":"Order by stop time ascending"
}
],
"available_orders":[
{
"id":"stop_time_asc",
"name":"Order by stop time ascending"
},
{
"id":"stop_time_desc",
"name":"Order by stop time descending"
},
{
"id":"start_time_asc",
"name":"Order by start time ascending"
},
{
"id":"start_time_desc",
"name":"Order by start time descending"
},
{
"id":"available_quantity_asc",
"name":"Order by available quantity ascending"
},
{
"id":"available_quantity_desc",
"name":"Order by available quantity descending"
},
{
"id":"price_asc",
"name":"Order by price ascending"
},
{
"id":"price_desc",
"name":"Order by price descending"
},
{
"id":"last_updated_desc",
"name":"Order by lastUpdated descending"
},
{
"id":"last_updated_asc",
"name":"Order by last updated ascending"
},
{
"id":{
"id":"inventory_id_asc",
"field":"inventory_id",
"missing":"_last",
"order":"asc"
},
"name":"Order by inventory id ascending"
}
]
}
Obtener ítems de la cuenta de un vendedor
Ya no mostramos el bloque correspondiente a los campos “filters” y “available_filters” para mejorar los tiempos de respuesta. Si requieres esta información, envía el parámetro include_filters=true en el search.
Por user_id
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/users/$USER_ID/items/search
Por SKU
- Seller_custom_field: si el ítem contiene un SKU en el campo “seller_custom_field”, puedes probar de la siguiente forma:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/users/$USER_ID/items/search?sku=$SELLER_CUSTOM_FIELD
- Seller_sku: Si el ítem contiene un SKU en el campo/atributo “SELLER_SKU”, puedes probar así:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/users/$USER_ID/items/search?seller_sku=$SELLER_SKU
Por estado
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/users/$USER_ID/items/search?status=active
Con/sin product identifier
Utilizando los parámetros:
- missing_product_identifiers=true consultas las publicaciones que no tienen product identifier cargado o enviando. Así, identificas qué publicaciones puedes mejorar cumpliendo con uno de los requisitos más importante de calidad.
- missing_product_identifiers=false obtienes el listado de publicaciones con PI cargado o enviando.
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/users/$USER_ID/items/search?missing_product_identifiers=true
Filtrar y ordenar resultados de ítems del vendedor
·l recurso /users/$USER_ID/items/search? no muestra los campos “filters” y “available_filters” para mejorar los tiempos de respuesta actuales. Para verlos, envía el parámetro include_filters=true y la respuesta devolverá los campos excluídos en la llamada sin parámetro.
Ejemplo de llamada sin parámetro:
curl -H 'Authorization: Bearer $ACCESS_TOKEN' -X GET https://api.mercadolibre.com/users/$USER_ID/items/search
Respuesta de llamada sin parámetro:
{
"seller_id": "123456789",
"query": null,
"paging": {
"limit": 50,
"offset": 0,
"total": 1
},
"results": [
"MLA844702264"
],
"orders": [
{
"id": "stop_time_asc",
"name": "Order by stop time ascending"
}
],
"available_orders": [
{
"id": "stop_time_asc",
"name": "Order by stop time ascending"
},
{
"id": "stop_time_desc",
"name": "Order by stop time descending"
},
{
"id": "start_time_asc",
"name": "Order by start time ascending"
},
{
"id": "start_time_desc",
"name": "Order by start time descending"
},
{
"id": "available_quantity_asc",
"name": "Order by available quantity ascending"
},
{
"id": "available_quantity_desc",
"name": "Order by available quantity descending"
},
{
"id": "price_asc",
"name": "Order by price ascending"
},
{
"id": "price_desc",
"name": "Order by price descending"
},
{
"id": "last_updated_desc",
"name": "Order by lastUpdated descending"
},
{
"id": "last_updated_asc",
"name": "Order by last updated ascending"
},
{
"id": {
"id": "inventory_id_asc",
"field": "inventory_id",
"missing": "_last",
"order": "asc"
},
"name": "Order by inventory id ascending"
}
]
}
Ejemplo de llamada con parámetro:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/users/$USER_ID/items/search?include_filters=true
Respuesta de llamada con parámetros:
{
"seller_id": "123456789",
"query": null,
"paging": {
"limit": 50,
"offset": 0,
"total": 1
},
"results": [
"MLA844702264"
],
"filters": [],
"available_filters": [
{
"id": "status",
"name": "Status",
"values": [
{
"id": "pending",
"name": "Inactive items for debt or MercadoLibre policy violation",
"results": 0
},
{
"id": "not_yet_active",
"name": "Items newly created or pending activation",
"results": 0
},
{
"id": "programmed",
"name": "Items scheduled for future activation",
"results": 0
},
{
"id": "active",
"name": "Active items",
"results": 1
},
{
"id": "paused",
"name": "Paused Items",
"results": 0
},
{
"id": "closed",
"name": "Closed Items",
"results": 0
}
]
},
{
"id": "sub_status",
"name": "Substatus",
"values": [
{
"id": "deleted",
"name": "Deleted substatus",
"results": 0
},
{
"id": "forbidden",
"name": "Forbidden substatus",
"results": 0
},
{
"id": "freezed",
"name": "Freezed substatus",
"results": 0
},
{
"id": "held",
"name": "Held substatus",
"results": 0
},
{
"id": "suspended",
"name": "Suspended substatus",
"results": 0
},
{
"id": "waiting_for_patch",
"name": "Waiting for patch substatus",
"results": 0
},
{
"id": "warning",
"name": "Warning items with MercadoLibre policy violation",
"results": 0
}
]
},
{
"id": "buying_mode",
"name": "Buying Mode",
"values": [
{
"id": "buy_it_now",
"name": "Buy it now",
"results": 1
},
{
"id": "classified",
"name": "Classified",
"results": 0
},
{
"id": "auction",
"name": "Auction",
"results": 0
}
]
},
{
"id": "listing_type_id",
"name": "Listing type",
"values": [
{
"id": "gold_pro",
"name": "Gold proffesional",
"results": 0
},
{
"id": "gold_special",
"name": "Gold special",
"results": 0
},
{
"id": "gold_premium",
"name": "Gold premium",
"results": 0
},
{
"id": "gold",
"name": "Gold",
"results": 0
},
{
"id": "silver",
"name": "Silver",
"results": 0
},
{
"id": "bronze",
"name": "Bronze",
"results": 0
},
{
"id": "free",
"name": "Free",
"results": 1
}
]
},
{
"id": "shipping_free_methods",
"name": "Shipping free methods",
"values": []
},
{
"id": "shipping_tags",
"name": "Shipping Tags",
"values": []
},
{
"id": "shipping_mode",
"name": "Shipping Mode",
"values": [
{
"id": "not_specified",
"results": 1
}
]
},
{
"id": "listing_source",
"name": "Listing Source",
"values": [
{
"id": "tucarro",
"name": "TuCarro",
"results": 0
},
{
"id": "tuinmueble",
"name": "TuInmueble",
"results": 0
},
{
"id": "tumoto",
"name": "TuMoto",
"results": 0
},
{
"id": "tulancha",
"name": "TuLancha",
"results": 0
},
{
"id": "autoplaza",
"name": "Autoplaza",
"results": 0
},
{
"id": "autoplaza_ml",
"name": "Autoplaza Premium",
"results": 0
}
]
},
{
"id": "labels",
"name": "Others",
"values": [
{
"id": "few_available",
"name": "Items with few availables",
"results": 0
},
{
"id": "with_bids",
"name": "Items with bids",
"results": 0
},
{
"id": "without_bids",
"name": "Items whithout bids",
"results": 1
},
{
"id": "accepts_mercadopago",
"name": "Items with MercadoPago",
"results": 1
},
{
"id": "ending_soon",
"name": "Items ending in 20 days or less",
"results": 0
},
{
"id": "with_mercadolibre_envios",
"name": "Items with MercadoLibre Envíos",
"results": 0
},
{
"id": "without_mercadolibre_envios",
"name": "Items without MercadoLibre Envíos",
"results": 1
},
{
"id": "with_low_quality_image",
"name": "Items with low quality image",
"results": 0
},
{
"id": "with_free_shipping",
"name": "Items with free shipping",
"results": 0
},
{
"id": "without_free_shipping",
"name": "Items with free shipping",
"results": 1
},
{
"id": "with_automatic_relist",
"name": "Items with automatic relist",
"results": 0
},
{
"id": "waiting_for_payment",
"name": "Items waiting for payment",
"results": 0
},
{
"id": "suspended",
"name": "Suspended items",
"results": 0
},
{
"id": "cancelled",
"name": "Items cancelled that can not be recovered",
"results": 0
},
{
"id": "being_reviewed",
"name": "Items under review",
"results": 0
},
{
"id": "fix_required",
"name": "Items waiting for user fix",
"results": 0
},
{
"id": "waiting_for_documentation",
"name": "Items waiting for user documentation",
"results": 0
},
{
"id": "without_stock",
"name": "Paused items that are out of stock",
"results": 0
},
{
"id": "incomplete_technical_specs",
"name": "Items with incomplete technical specs",
"results": 0
},
{
"id": "loyalty_discount_eligible",
"name": "Loyalty discount eligible items",
"results": 0
},
{
"id": "with_fbm_contingency",
"name": "Items in FBM contingency",
"results": 0
},
{
"id": "with_shipping_self_service",
"name": "Items with shipping self service logistic",
"results": 0
}
]
},
{
"id": "logistic_type",
"name": "Logistic Type",
"values": [
{
"id": "not_specified",
"results": 1
}
]
}
],
"orders": [
{
"id": "stop_time_asc",
"name": "Order by stop time ascending"
}
],
"available_orders": [
{
"id": "stop_time_asc",
"name": "Order by stop time ascending"
},
{
"id": "stop_time_desc",
"name": "Order by stop time descending"
},
{
"id": "start_time_asc",
"name": "Order by start time ascending"
},
{
"id": "start_time_desc",
"name": "Order by start time descending"
},
{
"id": "available_quantity_asc",
"name": "Order by available quantity ascending"
},
{
"id": "available_quantity_desc",
"name": "Order by available quantity descending"
},
{
"id": "price_asc",
"name": "Order by price ascending"
},
{
"id": "price_desc",
"name": "Order by price descending"
},
{
"id": "last_updated_desc",
"name": "Order by lastUpdated descending"
},
{
"id": "last_updated_asc",
"name": "Order by last updated ascending"
},
{
"id": {
"id": "inventory_id_asc",
"field": "inventory_id",
"missing": "_last",
"order": "asc"
},
"name": "Order by inventory id ascending"
}
]
}
¿Cómo ordenar? En este caso deberás agregar “orders” con el ID disponible del orden que quieras aplicar, por ejemplo: “start_time_desc”.
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/users/$USER_ID/items/search?orders=start_time_desc
¿Cómo filtrar? Por ejemplo, para filtrar ítems con listing_type “gold_pro” encontrarás entre los ”available_filters" disponibles el ID "listing_type_id" y dentro de éste el value con ID “gold_pro”.
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/users/$USER_ID/items/search?listing_type_id=gold_pro
Consultar vendedores restringidos
Reconoce si un vendedor tiene más de 200.000 ítems y no recibirás los campos “filters” y “available_filters” en la respuesta del recurso /search.
Llamada:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/users/$USER_ID/items/search/restrictions
Ejemplo:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/users/123456789/items/search/restrictions
Respuesta:
{
"aggregations_allowed":false,
"query_allowed":true,
"sort_allowed":true
}
Si el campo aggregations_allowed tiene valor false significa que el vendedor está restringido por superar los 200.000 ítems y la búsqueda no devolverá los bloques “filters” y “available_filters”. Si envías el parámetro “include_filters”=true en /search, retornaremos un status 206 y en caso de no enviarlo, obtendrás un status 200.
Multiget
Utiliza la función Multiget para mejorar la interacción con los recursos de ítems y users, y así poder acceder con una sola llamada a un máximo de 20 resultados. Ten en cuenta que la respuesta utilizando multiget será devuelta en formato verbose, lo que significa que además del json con la información, responderemos con un código que indicará si la consulta fue exitosa o no para cada una de las búsquedas.
Llamada a /ítems:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/items?ids=$ITEM_ID1,$ITEM_ID2
Ejemplo:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/items?ids=MLA599260060,MLA594239600
Respuesta:
[
{
"code": 200,
"body": {
"id": "MLA599260060",
"site_id": "MLA",
"title": "Item De Test - Por Favor No Ofertar",
"subtitle": null,
"seller_id": 303888594,
"category_id": "MLA401685",
"official_store_id": null,
"price": 130,
"base_price": 130,
"original_price": null,
"currency_id": "ARS",
"initial_quantity": 1,
"available_quantity": 1,
"sale_terms": [],
[...]
"automatic_relist": false,
"date_created": "2018-02-26T18:15:05.000Z",
"last_updated": "2018-03-29T04:14:39.000Z",
"health": null
}
},
{
"code": 200,
"body": {
"id": "MLA594239600",
"site_id": "MLA",
"title": "Item De Test - Por Favor No Ofertar",
"subtitle": null,
"seller_id": 303888594,
"category_id": "MLA401685",
"official_store_id": null,
"price": 120,
"base_price": 120,
"original_price": null,
"currency_id": "ARS",
"initial_quantity": 1,
"available_quantity": 1,
"sale_terms": [],
[...]
"automatic_relist": false,
"date_created": "2018-02-26T18:15:05.000Z",
"last_updated": "2018-03-29T04:14:39.000Z",
"health": null
}
}
]
Llamada a /users:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/users?ids=$USER_ID1,$USER_ID2
Ejemplo:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/users?ids=401114259,287440999
Respuesta:
[
{
"code": 200,
"body": {
"id": 401114259,
"nickname": "user_test234",
"registration_date": "2019-02-05T10:38:03.000-04:00",
"country_id": "BR",
"address": {
"city": null,
"state": null
},
"user_type": "normal",
"tags": [
"normal"
],
"logo": null,
"points": 0,
"site_id": "MLB",
"permalink": "http://perfil.mercadolivre.com.br/user_test234",
"seller_reputation": {
"level_id": null,
"power_seller_status": null,
"transactions": {
"canceled": 0,
"completed": 0,
"period": "historic",
"ratings": {
"negative": 0,
"neutral": 0,
"positive": 0
},
"total": 0
}
},
"buyer_reputation": {
"tags": [
]
},
"status": {
"site_status": "guest"
}
}
},
{
"code": 200,
"body": {
"id": 287440999,
"nickname": "user_test111",
"registration_date": "2019-03-06T00:16:08.000-04:00",
"country_id": "MX",
"address": {
"city": null,
"state": null
},
"user_type": "normal",
"tags": [
"normal"
],
"logo": null,
"points": 0,
"site_id": "MLM",
"permalink": "http://perfil.mercadolibre.com.mx/user_test111",
"seller_reputation": {
"level_id": null,
"power_seller_status": null,
"transactions": {
"canceled": 0,
"completed": 0,
"period": "historic",
"ratings": {
"negative": 0,
"neutral": 0,
"positive": 0
},
"total": 0
}
},
"buyer_reputation": {
"tags": [
]
},
"status": {
"site_status": "active"
}
}
}
]
Selección de campos
Otra alternativa que puedes implementar en el GET a ítems es la selección de campos para recibir solamente aquellos que sean necesarios.
Para poder definir los campos que quieres recibir, deberás agregar el parámetro attributes como se explica en el ejemplo. Conoce más sobre como trabajar con Atributos en la documentación correspondiente.
Llamada:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/items?ids=$ITEM_ID1,$ITEM_ID2&attributes=$ATTRIBUTE1,$ATTRIBUTE2,$ATTRIBUTE3
Ejemplo:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/items?ids=MLA599260060,MLA594239600&attributes=id,price,category_id,title
Respuesta:
[
{
"code": 200,
"body": {
"id": "MLA599260060",
"title": "Item De Test - Por Favor No Ofertar",
"category_id": "MLA401685",
"price": 130
}
}
{
"code": 200,
"body": {
"id": "MLA594239600",
"title": "Item De Test - Por Favor No Ofertar",
"category_id": "MLA401685",
"official_store_id": null,
"price": 120,
}
}
]
Buscar más de 1000 registros
Para realizar búsquedas de más de 1000 registros de Items, Preguntas y Respuestas de la forma users/$USER_ID/items/search o /questions/search debes:
- Enviar el parámetro search_type=scan a la consulta y quitar el offset. Por ejemplo:
- En el resultado obtendrás un campo scroll_id que expira en 5 minutos:
- Para obtener los resultados de scroll_id, debe actualizar el parámetro con cada llamada. Utiliza el mismo scroll_id para todas las llamadas:
- Para seguir obteniendo las próximas páginas de resultados basta con hacer el mismo GET a la llamada hasta llegar al final de la lista. Cuando llegues al final recibirás null.
Para consultar más de 1000 items:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/users/$USER_ID/items/search?search_type=scan
Para consultar más de 1000 preguntas de un ítem:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/questions/search?search_type=scan&item=$ITEM_ID
"scroll_id": "YXBpY29yZS1pdGVtcw==:ZHMtYXBpY29yZS1pdGVtcy0wMQ==:DXF1ZXJ5QW5kRmV0Y2gBAAAAABIu7AgWMXl6anF3SU5SMVNaQXFxTkZubHBqQQ=="
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/users/$USER_ID/items/search?search_type=scan&scroll_id=YXBpY29yZS1pdGVtcw==:ZHMtYXBpY29yZS1pdGVtcy0wMQ==:DXF1ZXJ5QW5kRmV0Y2gBAAAAABIu7AgWMXl6anF3SU5SMVNaQXFxTkZubHBqQQ==
Así, obtendrás los resultados a partir de los 1.000.