Documentación Mercado Libre

Descubre toda la información que debes conocer sobre las APIs de Mercado Libre.
circulos azuis em degrade

Documentación

Última actualización 04/12/2024

Consulta Usuarios

Si ya lograste registrar tu aplicación, autenticarte y generar un usuario de Test, el siguiente paso a seguir es aprender a trabajar con usuarios (vendedores y compradores).

Registrarme como inmobiliaria (opcional)

Si eres una inmobiliaria, puedes registrar tu usuario como tal para obtener acceso a nuestros paquetes promocionales para inmobiliarias. Para hacerlo, accede a la sección Ayuda > Configuración de mi cuenta > Registrarme como empresa, concesionaria e inmobiliaria.



Una vez allí, haz clic en la pestaña “Tus datos y registración” y luego, en el link “Registrarme como inmobiliaria”. A este paso no se puede acceder a través de la API, pero podrás verlo una vez que te registres como inmobiliaria.


Consultar mis datos personales

Si te encuentras logueado en Mercado Libre y tienes un token podrás hacer la siguiente llamada y conocer qué información se encuentra relacionada a tu usuario:

Ejemplo:

curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/users/me

Response:

{
  "id": 202593498,
  "nickname": "TETE2870021",
  "registration_date": "2016-01-06T11:31:42.000-04:00",
  "first_name": "Test",
  "last_name": "Test",
  "country_id": "AR",
  "email": "test_user_50698062@testuser.com",
  "identification": {
  "type": "DNI",
  "number": "1111111"
  },
  "address": {
  "state": "AR-C",
  "city": "Palermo",
  "address": "Test Address 123",
  "zip_code": "1414"
  },
  "phone": {
  "area_code": "01",
  "number": "1111-1111",
  "extension": "",
  "verified": false
  },
  "alternative_phone": {
  "area_code": "",
  "number": "",
  "extension": ""
  },
  "user_type": "real_estate_agency",
  "tags": [
  "real_estate_agency",
  "test_user",
  "user_info_verified"
  ],
  "logo": null,
  "points": 100,
  "site_id": "MLA",
  "permalink": "http://perfil.mercadolibre.com.ar/TETE2870021",
  "seller_experience": "ADVANCED",
  "seller_reputation": {
  "level_id": null,
  "power_seller_status": null,
  "transactions": {
    "period": "historic",
    "total": 0,
    "completed": 0,
    "canceled": 0,
    "ratings": {
      "positive": 0,
      "negative": 0,
      "neutral": 0
    }
  }
  },
  "buyer_reputation": {
  "canceled_transactions": 0,
  "transactions": {
    "period": "historic",
    "total": null,
    "completed": null,
    "canceled": {
      "total": null,
      "paid": null
    },
    "unrated": {
      "total": null,
      "paid": null
    },
    "not_yet_rated": {
      "total": null,
      "paid": null,
      "units": null
    }
  },
  "tags": [
  ]
  },
  "status": {
  "site_status": "active",
  "list": {
    "allow": true,
    "codes": [
    ],
    "immediate_payment": {
      "required": false,
      "reasons": [
      ]
    }
  },
  "buy": {
    "allow": true,
    "codes": [
    ],
    "immediate_payment": {
      "required": false,
      "reasons": [
     ]
    }
  },
  "sell": {
    "allow": true,
    "codes": [
    ],
    "immediate_payment": {
      "required": false,
      "reasons": [
      ]
    }
  },
  "billing": {
    "allow": true,
    "codes": [
    ]
  },
  "mercadopago_tc_accepted": true,
  "mercadopago_account_type": "personal",
  "mercadoenvios": "not_accepted",
  "immediate_payment": false,
  "confirmed_email": false,
  "user_type": "eventual",
  "required_action": ""
  },
  "credit": {
  "consumed": 100,
  "credit_level_id": "MLA1"
  }
}

Consultar datos de usuarios terceros

Si deseas consultar los datos de usuarios terceros, podrás identificar dos niveles de información: los datos públicos, aquellos que puedes encontrar navegando el perfil en Mercado Libre de cualquier otro usuario y los datos privados, que no serán visibles a menos que tengas los permisos del usuario y un token válido para trabajar en su nombre. En ambos casos, lo primero que deberás conocer es el id del usuario.



¿Cómo obtener el Id de un usuario?

Llamada:

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

Ejemplo:

curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/sites/MLA/search?nickname=TETE2870021

Response:

¡{
  "site_id": "MLA",
  "seller": {
  "id": 202593498,
  "seller_reputation": {
    "power_seller_status": null
  },
  "real_estate_agency": false,
  "car_dealer": false,
  "tags": [
  ]
  },
  "paging": {
  "total": 2,
  "offset": 0,
  "limit": 50
  },
  "results": [
  {
    "id": "MLA598903377",
    "site_id": "MLA",
    "title": "Test Item - Nao Ofertar",
    "subtitle": null,
    "seller": {
      "id": 202593498,
      "power_seller_status": null,
      "car_dealer": false,
      "real_estate_agency": false,
      "tags": [
      ]
      },
    "price": 200,
    "currency_id": "ARS",
    "available_quantity": 1,
    "sold_quantity": 0,
    "buying_mode": "buy_it_now",
    "listing_type_id": "bronze",
    "stop_time": "2016-03-06T17:16:49.000Z",
      "condition": "new",
    "permalink": "http://articulo.mercadolibre.com.ar/MLA-598903377-test-item-nao-ofertar-_JM",
    "thumbnail": "http://mla-s2-p.mlstatic.com/546311-MLA20539702714_012016-I.jpg",
    "accepts_mercadopago": true,
    "installments": {
      "quantity": 6,
      "amount": 42.33,
      "currency_id": "ARS"
    },
    "address": {
      "state_id": "AR-C",
      "state_name": "Capital Federal",
      "city_id": "",
      "city_name": "Palermo"
    },
    "shipping": {
      "free_shipping": false,
      "mode": "not_specified"
    },
    "seller_address": {
      "id": 175597910,
      "comment": "",
      "address_line": "",
        "zip_code": "",
      "country": {
        "id": "AR",
        "name": "Argentina"
      },
      "state": {
        "id": "AR-C",
        "name": "Capital Federal"
      },
      "city": {
        "id": "",
        "name": "Palermo"
      },
      "latitude": -34.571148,
      "longitude": -58.423298
    },
    "attributes": [
    ],
    "original_price": null,
    "category_id": "MLA374515",
    "official_store_id": null
  },
  {
    "id": "MLA599121050",
    "site_id": "MLA",
    "title": "Item De Test - No Ofertar",
    "subtitle": null,
    "seller": {
      "id": 202593498,
        "power_seller_status": null,
      "car_dealer": false,
      "real_estate_agency": false,
      "tags": [
      ]
    },
    "price": 1000,
    "currency_id": "ARS",
    "available_quantity": 1,
    "sold_quantity": 0,
    "buying_mode": "buy_it_now",
    "listing_type_id": "bronze",
    "stop_time": "2016-03-07T20:12:41.000Z",
    "condition": "new",
    "permalink": "http://articulo.mercadolibre.com.ar/MLA-599121050-item-de-test-no-ofertar-_JM",
    "thumbnail": "http://mla-s2-p.mlstatic.com/493311-MLA20538550251_012016-I.jpg",
    "accepts_mercadopago": true,
    "installments": {
      "quantity": 6,
      "amount": 211.65,
      "currency_id": "ARS"
    },
    "address": {
      "state_id": "AR-C",
      "state_name": "Capital Federal",
      "city_id": "",
      "city_name": "Palermo"
    },
    "shipping": {
      "free_shipping": false,
      "mode": "not_specified"
    },
    "seller_address": {
      "id": 175597910,
      "comment": "",
      "address_line": "",
      "zip_code": "",
      "country": {
        "id": "AR",
        "name": "Argentina"
      },
      "state": {
        "id": "AR-C",
        "name": "Capital Federal"
      },
      "city": {
        "id": "",
        "name": "Palermo"
      },
      "latitude": -34.571148,
      "longitude": -58.423298
    },
    "attributes": [
   ],
    "original_price": null,
    "category_id": "MLA90105",
    "official_store_id": null
  }
  ],
  "secondary_results": [
  ],
  "related_results": [
  ],
  "sort": {
  "id": "relevance",
  "name": "More relevant"
  },
  "available_sorts": [
  {
    "id": "price_asc",
    "name": "Lower price"
  },
  {
    "id": "price_desc",
    "name": "Higher price"
  }
  ],
  "filters": [
  ],
  "available_filters": [
  {
    "id": "category",
    "name": "Categories",
    "type": "text",
    "values": [
      {
        "id": "MLA1648",
        "name": "Computación",
        "results": 1
      },
      {
        "id": "MLA1430",
        "name": "Ropa y Accesorios",
        "results": 1
      }
    ]
  },
  {
    "id": "state",
    "name": "Location",
    "type": "text",
    "values": [
      {
        "id": "TUxBUENBUGw3M2E1",
        "name": "Capital Federal",
        "results": 2
      }
    ]
  },
  {
    "id": "accepts_mercadopago",
    "name": "MercadoPago filter",
    "type": "boolean",
    "values": [
      {
        "id": "yes",
        "name": "With MercadoPago",
        "results": 2
      }
    ]
  },
  {
    "id": "installments",
    "name": "Pago",
    "type": "text",
    "values": [
      {
        "id": "yes",
        "name": "Installments",
        "results": 2
      },
      {
        "id": "no_interest",
        "name": "Sin interés",
        "results": 0
      }
      ]
  },
  {
    "id": "condition",
    "name": "Condition filter",
    "type": "text",
    "values": [
      {
        "id": "new",
        "name": "New",
        "results": 2
      }
    ]
  },
  {
    "id": "buying_mode",
    "name": "Buying mode filter",
    "type": "text",
    "values": [
      {
        "id": "buy_it_now",
        "name": "Buy it now",
        "results": 2
      }
    ]
  },
  {
    "id": "has_pictures",
    "name": "Items with images filter",
    "type": "boolean",
    "values": [
      {
        "id": "yes",
        "name": "With pictures",
        "results": 2
      }
    ]
  }
  ]
}


Consultar información pública de un usuario

Muy bien, de ésta manera ya conoces el Id del usuario, por lo cual puedes realizar la llamada al recurso de users de la siguiente manera y obtener la información pública del usuario que deseas.
Llamada:

curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/users/$USER_ID

Ejemplo:

curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/users/202593498

Response:

{
  "id": 202593498,
  "nickname": "TETE2870021",
  "registration_date": "2016-01-06T11:31:42.000-04:00",
  "country_id": "AR",
  "address": {
    "state": "AR-C",
    "city": "Palermo"
  },
  "user_type": "normal",
  "tags": [
    "normal",
    "test_user",
    "user_info_verified"
  ],
  "logo": null,
  "points": 100,
  "site_id": "MLA",
  "permalink": "http://perfil.mercadolibre.com.ar/TETE2870021",
  "seller_reputation": {
    "level_id": null,
    "power_seller_status": null,
    "transactions": {
      "period": "historic",
      "total": 0,
      "completed": 0,
      "canceled": 0,
      "ratings": {
        "positive": 0,
        "negative": 0,
        "neutral": 0
      }
    }
  },
  "buyer_reputation": {
    "tags": []
  },
  "status": {
    "site_status": "active"
  }
}


Consultar información privada de un usuario que ha aceptado el uso de mi aplicación

Para obtener los datos privados de un usuario, solo debes apendar el ACCESS_TOKEN del usuario al final de la llamada que realizaste anteriormente. Llamada:

curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/users/$USER_ID

Ejemplo:

curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/users/202593498

Response:

{
  "id": 202593498,
  "nickname": "TETE2870021",
  "registration_date": "2016-01-06T11:31:42.000-04:00",
  "first_name": "Test",
  "last_name": "Test",
  "country_id": "AR",
  "email": "test_user_50698062@testuser.com",
  "identification": {
    "type": "DNI",
    "number": "1111111"
  },
  "address": {
    "state": "AR-C",
    "city": "Palermo",
    "address": "Test Address 123",
    "zip_code": "1414"
  },
  "phone": {
    "area_code": "01",
    "number": "1111-1111",
    "extension": "",
    "verified": false
  },
  "alternative_phone": {
    "area_code": "",
    "number": "",
    "extension": ""
  },
  "user_type": "normal",
  "tags": [
    "normal",
    "test_user",
    "user_info_verified"
  ],
  "logo": null,
  "points": 100,
  "site_id": "MLA",
  "permalink": "http://perfil.mercadolibre.com.ar/TETE2870021",
   "seller_experience": "ADVANCED",
  "seller_reputation": {
    "level_id": null,
    "power_seller_status": null,
    "transactions": {
      "period": "historic",
      "total": 0,
      "completed": 0,
      "canceled": 0,
      "ratings": {
        "positive": 0,
        "negative": 0,
        "neutral": 0
      }
    }
  },
  "buyer_reputation": {
    "canceled_transactions": 0,
    "transactions": {
      "period": "historic",
      "total": null,
      "completed": null,
      "canceled": {
        "total": null,
        "paid": null
      },
      "unrated": {
        "total": null,
        "paid": null
      },
      "not_yet_rated": {
        "total": null,
        "paid": null,
        "units": null
      }
    },
    "tags": []
  },
  "status": {
    "site_status": "active",
    "list": {
      "allow": true,
      "codes": [],
      "immediate_payment": {
        "required": false,
        "reasons": []
      }
    },
    "buy": {
      "allow": true,
      "codes": [],
      "immediate_payment": {
        "required": false,
        "reasons": []
      }
    },
    "sell": {
      "allow": true,
      "codes": [],
      "immediate_payment": {
        "required": false,
        "reasons": []
      }
    },
    "billing": {
      "allow": true,
      "codes": []
    },
    "mercadopago_tc_accepted": true,
    "mercadopago_account_type": "personal",
    "mercadoenvios": "not_accepted",
    "immediate_payment": false,
    "confirmed_email": false,
    "user_type": "eventual",
    "required_action": ""
  },
  "credit": {
    "consumed": 100,
    "credit_level_id": "MLA1"
  }
}


Usuario Vendedor S = P (sell equal pay)

Si deseas que todas tus operaciones sean exclusivamente a través de Mercado Pago deberás indicar en la información de tu usuario que solo aceptas esta modalidad S = P (sell equal pay. De esta manera quedará deshabilitada la opción “Acuerdo con el vendedor”. PUT:

curl -X PUT -H 'Authorization: Bearer $ACCESS_TOKEN' -H "Content-type: application/json" -d 

'{
    "reason": "by_user"
}'

https://api.mercadolibre.com/users/$USER_ID/immediate_payment

Si querés dejar de aceptar como única opción Mercado Pago, puedes eliminar la marca de la siguiente manera:

curl -X DELETE -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/users/$USER_ID/immediate_payment/by_user

Consultar usuarios bloqueados

Recupera todos los usuarios bloqueados de la oferta en los ítems de un vendedor:

Llamada:


curl -X PUT -H 'Authorization: Bearer $ACCESS_TOKEN' -H "Content-type: application/json" -d '{
    "request": {
        "curl": "curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/users/$CUSTOMER_ID/order_blacklist"
    }
}'

Ver usuarios bloqueados de preguntas

Gestiona buyer bloqueados de preguntas:

Llamada:


curl -X PUT -H 'Authorization: Bearer $ACCESS_TOKEN' -H "Content-type: application/json" -d '{
    "request": {
        "curl": "curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/users/$SELLER_ID/questions_blacklist"
    }
}'

Importante:
Estamos migrando los endpoints utilizados para bloquear y desbloquear a los buyers en las funcionalidades de orders y preguntas. La fecha de apagado de las rutas anteriores y por lo tanto de migración es: 2/12/2024. Con esto, solo será válida la información del tópico siguiente.

Endpoint block-api/search/users: Consultar usuários bloqueados para orders y question:

El endpoint block-api/search/users permite consultar bloqueos asociados a un usuario (Buyer) específico, devolviendo información sobre el estado del bloqueo. Los servicios de bloqueo de preguntas y orders se han unificado en un único endpoint.

  • Blocked_by_questions: Para bloqueos relacionados con preguntas.
  • Blocked_by_order: Para bloqueos relacionados con pedidos.
Parámetro TIPO Obligatorio Descripción
client.id string Opcional ID del cliente que realiza la solicitud.
type string Obligatório Tipo de bloqueo: blocked_by_questions o blocked_by_order.
user_blocked int Opcional ID del usuario bloqueado (Buyer).
caller.id string Obligatorio ID del usuario que realiza la solicitud.
offset int Opcionales por defecto: 0
limit int Opcionales máximo 1000, por defecto: 10

Llamada:


curl -X GET  'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/block-api/search/users/{user_id}

Ejemplo de request: blocked_by_questions


curl -X GET - location 'https://api.mercadolibre.com/block-api/search/users/123456?type=blocked_by_questions' \
--header 'Authorization: Bearer {ACCESS_TOKEN}'

Response:


{
  "users": [
    {
      "id": 123456,
      "blocked_at": "2024-02-07T15:04:05Z"
    }
  ],
  "paging": {
    "offset": 0,
    "limit": 10,
    "total": 1
  }
}

Código de Estado: 200 OK - La solicitud fue procesada con éxito.


Ejemplo de request: blocked_by_order


curl -X GET -location 'https://api.mercadolibre.com/block-api/search/users/123456?type=blocked_by_order' \
--header 'Authorization: Bearer {ACCESS_TOKEN}'

Response:


{
  "users": [
    {
      "id": 123456,
      "blocked_at": "2024-02-07T15:04:05Z"
    }
  ],
  "paging": {
    "offset": 0,
    "limit": 10,
    "total": 1
  }
}

Código de Estado: 200 OK - La solicitud fue procesada con éxito.


Ejemplo de Respuesta Sin Bloqueos (blocked_by_questions o blocked_by_order.)

Response:


{ "users": [],
 "paging": { 
"total": 0, 
"limit": 10,
 "offset": 0 } 
}

  • users: Indica que no hay usuarios bloqueados relacionados ni con preguntas ni con pedidos para el usuario solicitado.
  • paging: Muestra que no hay resultados, con total igual a 0.

Campos de la Respuesta:

Campo Tipo Descripción
users.id int ID del usuario bloqueado.
users.blocked_at string Fecha y hora de creación del bloqueo.
paging.offset int Número de bloqueos que fueron omitidos antes de retornar los resultados.
paging.limit int Cantidad máxima de bloqueos a recuperar (default 10, max 1000).
paging.total int Total de bloqueos recuperados.

Eliminar usuario bloqueado

curl -X DELETE -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/users/$YOUR_CUST_ID/order_blacklist/$SELLER_ID

Bloquear usuarios de preguntas curl -X POST -H 'Authorization: Bearer $ACCESS_TOKEN' "Content-Type: application/json" -d { "user_id": blocked user id } https://api.mercadolibre.com/users/$SELLER_ID/questions_blacklist

Eliminar un usuario bloqueado

curl -X DELETE -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/users/$SELLER_ID/questions_blacklist/$USER_ID

Códigos de error comunes

206 – Partial content: en algunos casos, el recurso de la API de Usuarios devolverá un código 206 – Partial content. Esto ocurrirá cuando falle la solicitud a algunos de los datos (por ejemplo, reputación del usuario) para informarte que recibirás una respuesta incompleta.

Artículos relacionados: Direcciones del usuario.
Siguiente: Categorías y Atributos.