jueves, 23 de julio de 2026 · Madrid
Repositorios· 26 de junio de 2026 · 3 min de lectura

mercadona-cli: compra en Mercadona desde la terminal

Un CLI en Go que busca productos, consulta precios y hace checkout en tienda.mercadona.es. Output JSON para agentes. Single binary, sin deps.

Terminal con icono de carrito de compra en ASCII sobre fondo oscuro

Qué es

mercadona-cli es un CLI no oficial para tienda.mercadona.es. Busca productos, lee precios, monta un carrito y hace checkout. Todo desde la terminal.

Un binario estático en Go. Sin dependencias en runtime. Output estructurado con --json para que agents y scripts lo consuman sin parsear texto.

Mercadona no tiene API pública. El CLI habla con los mismos endpoints HTTP que la web. Traes tus credenciales.

Instalación

# npm (descarga el binario precompilado)
npm install -g @ivorpad/mercadona

# o curl (macOS / Linux)
curl -fsSL https://raw.githubusercontent.com/ivorpad/mercadona-cli/main/install.sh | sh

# o desde source (Go 1.26+)
go build -o mercadona ./cmd/mercadona

Lo que puedes hacer sin login

Búsqueda, precios y categorías. Anónimo:

mercadona search queso
mercadona search --limit 5 --json mayonesa
mercadona batch -f lista.txt          # varios términos en una sola petición
mercadona product 13406               # detalle + precio
mercadona categories                  # árbol de categorías

Output a stdout. Errores a stderr. Exit code 1 si algo falla. Pensado para pipes y scripts.

Los precios varían por almacén. Hay que fijar el tuyo desde el código postal:

mercadona set-postal 28022   # → resuelve almacén mad1, lo guarda como default

Ejemplo de batch con una lista de compra:

$ mercadona batch -f lista.txt
• queso → [51110] Queso rallado mozzarella pizza-Roma Hacendado — 1.60€ (8.000€/kg)
• carne → [34157] Carne de pimiento choricero Hacendado — 1.55€ (11.072€/kg)
• mayonesa → [13406] Mayonesa Hacendado — 1.20€ (2.400€/L)

Login y checkout

Aquí está la parte interesante. Mercadona authentica con un Bearer token (SimpleJWT). El primer login necesita navegador — el login con contraseña requiere Google reCAPTCHA Enterprise, y los usuarios con cuenta Google no tienen contraseña.

Después de eso, el refresh token renueva la sesión indefinidamente. Headless. Sin captcha.

Método preferido: import-har. Un login en navegador, exportas el HAR, y el CLI extrae el refresh token:

# DevTools → Network → Export HAR (después de login)
mercadona import-har --file tienda.mercadona.es.har
mercadona whoami    # confirma que está autenticado

El token se guarda en ~/.mercadona/config.toml (permisos 0600). Cada 401 token_not_valid dispara un refresh automático. Sin navegador. Sin intervención.

Una vez autenticado:

mercadona cart add 51110 2        # 2 unidades de queso rallado
mercadona cart                    # ver carrito
mercadona total                   # total exacto en céntimos
mercadona checkout                # finalizar compra

Detalles técnicos

Por qué importa

Es un ejemplo limpio de cómo construir un CLI agent-friendly sobre una API no oficial. Estructura de output predecible. Auth que sobrevive sin navegador. Binario que funciona en cualquier sitio.

Para devs en España, además, es útil de forma inmediata: automatizar la compra semanal, comparar precios por almacén, integrar Mercadona en un workflow.

Enlaces

#mercadona#cli#go#api#españa#agentes

📎 Fuente original: GitHub - ivorpad/mercadona-cli ↗

Noticias relacionadas