Si vives en la terminal pero encuentras que la sintaxis de curl es complicada y su salida en bruto difícil de leer, vale la pena conocer curlie. Es un pequeño cliente HTTP de línea de comandos que envuelve a curl y toma prestada la sintaxis más amigable y la salida coloreada de HTTPie, para que obtengas respuestas legibles sin renunciar al poder de curl. Esta guía explica qué es curlie, cómo instalarlo y usarlo, cómo se relaciona con curl y HTTPie, y cuándo pasar de las llamadas ad-hoc de la terminal a un flujo de trabajo guardado y repetible.
Qué es curlie en realidad
curlie es una interfaz para curl. No reimplementa HTTP. Analiza un comando más simple, al estilo HTTPie, construye la invocación equivalente de curl y entrega la solicitud real al binario de curl en tu máquina. El resultado se devuelve con resaltado de sintaxis y JSON con formato.

Esa elección de diseño importa. Debido a que curl se encarga de la red, curlie hereda el soporte de protocolo de curl, el manejo de TLS, el comportamiento del proxy y los indicadores que ya conoces. Puedes pasar cualquier indicador nativo de curl directamente. curlie simplemente hace que el caso común, enviar una solicitud y leer la respuesta, sea mucho menos doloroso.
El proyecto se distribuye como un único binario Go mantenido en GitHub. No hay tiempo de ejecución que instalar, ni entorno Python, ni complementos. Simplemente colocas el binario en tu PATH y listo.
En términos sencillos: curlie es un cliente HTTP interactivo y ad-hoc para la terminal. Lo utilizas cuando quieres probar un endpoint, inspeccionar una respuesta y seguir adelante. No es un ejecutor de pruebas, y no intenta serlo.
Por qué la gente lo usa
curl está en todas partes, pero su salida vierte bytes en bruto en tu pantalla. El JSON llega como una sola línea sin formato. Los encabezados y el cuerpo se mezclan a menos que añadas indicadores. HTTPie solucionó el problema de legibilidad con una sintaxis limpia y salida coloreada, pero es una herramienta Python separada con su propio comportamiento y dependencias.
curlie se sitúa entre ambos. Obtienes la ergonomía de HTTPie con el motor de curl debajo. Algunas razones por las que a los desarrolladores les gusta:
- Legible por defecto. Las respuestas vienen coloreadas, con JSON con formato y encabezados claramente separados.
- Sintaxis familiar. Establecer encabezados, parámetros de consulta y campos JSON utiliza el estilo compacto de HTTPie en lugar de indicadores
-Hy-dapilados. - curl debajo. Cualquier indicador de curl funciona. Si conoces curl, ya conoces la mayor parte de curlie.
- Cero dependencias. Un único binario estático. Nada que mantener actualizado excepto el propio binario.
- El modo detallado muestra la llamada a curl. Ejecuta con
-vy podrás ver los encabezados y la solicitud subyacente, lo que también lo convierte en una herramienta de enseñanza decente.
Instalando curlie
curlie se distribuye como un binario precompilado y a través de gestores de paquetes comunes. Los comandos exactos cambian con el tiempo, así que consulta la página de lanzamientos de GitHub para el método actual, pero las rutas típicas se ven así.
En macOS con Homebrew:
brew install curlie
Con Go instalado:
go install github.com/rs/curlie@latest
O descarga el binario para tu plataforma desde la página de lanzamientos y muévelo a tu PATH:
# ejemplo: coloca el binario descargado en algún lugar de tu PATH
mv curlie /usr/local/bin/
curlie --version
Necesitas tener curl disponible en el sistema, ya que curlie lo utiliza. En macOS y la mayoría de las distribuciones de Linux, curl ya está presente.
Uso básico
La sintaxis te resultará familiar si has usado HTTPie. Una solicitud GET es tan corta como la URL:
curlie httpbin.org/get
curlie asume GET cuando no especificas un método, y rellena http:// si omites el esquema. La respuesta se imprime con encabezados coloreados y JSON formateado.
Para enviar JSON, usa pares clave=valor. curlie establece el encabezado Content-Type: application/json y construye el cuerpo por ti:
curlie POST httpbin.org/post name=apidog role=platform
Eso envía {"name": "apidog", "role": "platform"} como cuerpo de la solicitud. Añade un encabezado con el formato Encabezado:valor y un parámetro de consulta con param==valor:
curlie GET httpbin.org/get \
Authorization:"Bearer token123" \
search==apidog
Debido a que curl se ejecuta debajo, puedes mezclar indicadores nativos en cualquier momento que la sintaxis corta no sea suficiente:
curlie -v --max-time 5 httpbin.org/get
El indicador -v vale la pena convertirlo en un hábito. Imprime los encabezados de la solicitud y la respuesta, para que puedas confirmar exactamente lo que se envió. Si quieres un repaso más profundo sobre la herramienta subyacente, la guía de API REST de curl cubre los indicadores en bruto que curlie está envolviendo.
curlie vs curl vs HTTPie
Los tres envían solicitudes HTTP desde la terminal. La diferencia radica en la sintaxis, la salida y lo que se ejecuta internamente.
| Aspecto | curl | HTTPie | curlie |
|---|---|---|---|
| Motor | libcurl | Python (estilo requests) | curl (lo envuelve) |
| Sintaxis | Con muchos indicadores (-X, -H, -d) |
Compacta (clave=valor) |
Compacta, estilo HTTPie |
| Salida | Cruda, sin formato | Coloreada, JSON con formato | Coloreada, JSON con formato |
| Instalación | Preinstalado en casi todas partes | Paquete Python | Binario Go único |
| Indicadores nativos de curl | Sí | No | Sí (transmisión) |
| Dependencias | Ninguna | Tiempo de ejecución de Python | Binario de curl |
| Diseñado para | Scripting y llamadas ad-hoc | Llamadas ad-hoc amigables | Llamadas ad-hoc amigables |
El resumen honesto: HTTPie y curlie resuelven el mismo problema de legibilidad y ergonomía de diferentes maneras. HTTPie es una reimplementación completa en Python con su propio conjunto de características. curlie es un envoltorio delgado que te mantiene en curl. Si tu equipo estandariza los indicadores de curl o quieres acceso directo a cada opción de curl, curlie encaja perfectamente. Si prefieres la superficie de características más amplia de HTTPie y no te importa la dependencia de Python, HTTPie es una buena elección. Nuestro tutorial de HTTPie explora esa herramienta en profundidad, y si estás sopesando una contra la otra, la comparación de curl a HTTPie mapea la sintaxis de ambas.
Para una visión más amplia de las opciones de terminal y GUI más allá de estas tres, consulta nuestra recopilación de alternativas a curl para pruebas de API REST.
Cuándo curlie es la herramienta adecuada y cuándo no lo es
curlie destaca para trabajos rápidos e interactivos:
- Comprobar si un endpoint está activo y devuelve la forma que esperas.
- Inspeccionar visualmente una respuesta JSON sin canalizar a través de
jqpara leerla. - Depurar encabezados y autenticación durante el desarrollo.
- Enseñar o demostrar HTTP, ya que
-vmuestra la solicitud real.
Deja de ser útil para cualquier cosa que necesite ser repetida, compartida o verificada automáticamente. curlie no tiene un concepto de solicitudes guardadas. No hay entornos para cambiar entre staging y producción. No hay aserciones para comprobar que un código de estado sea 200 o que un campo sea igual a un valor esperado. No hay informes cuando algo falla a las 3 a.m. en tu pipeline.
Eso no es una crítica a curlie. Es una herramienta ad-hoc que hace bien su trabajo ad-hoc. Pero en el momento en que te encuentres pegando el mismo comando de curlie en un documento, o copiándolo en un script de shell con comprobaciones de grep escritas a mano, habrás superado lo que un cliente interactivo está destinado a hacer.
La ruta de actualización: de llamadas únicas a un flujo de trabajo guardado y repetible
Aquí es donde el flujo de trabajo se divide naturalmente. Sigue usando curlie para la exploración. Cuando una solicitud necesite residir en algún lugar, ser reutilizada o ejecutarse en CI, muévela a una plataforma construida para ello.

Apidog es la capa de persistencia y colaboración para exactamente esta transición. No es un reemplazo directo de terminal para curlie; es el siguiente paso después de la terminal. Con Apidog puedes:
- Guardar solicitudes en colecciones organizadas en lugar de volver a escribir o buscar en el historial de la shell.
- Administrar entornos para que la misma solicitud se ejecute contra entornos locales, de staging y de producción cambiando una variable.
- Añadir aserciones que verifiquen códigos de estado, campos de respuesta y esquemas, convirtiendo una verificación visual manual en una automática.
- Ejecutar pruebas en CI con
apidog run, el ejecutor de línea de comandos que ejecuta tus escenarios de prueba guardados en un pipeline e informa si pasan o fallan. - Compartir con tu equipo a través de un espacio de trabajo colaborativo, para que una solicitud que depuraste una vez se convierta en algo que todos puedan reutilizar.
Un patrón práctico: explora un endpoint con curlie hasta que lo entiendas, luego recréalo como una solicitud guardada en Apidog con aserciones adjuntas. La exploración se mantiene rápida y desechable. La verificación se vuelve duradera y automatizada. Si estás formalizando cómo tu equipo valida los endpoints, la guía de pruebas de API cubre los conceptos detrás de las aserciones y los escenarios de prueba.
Preguntas frecuentes
¿Es curlie un reemplazo para curl?
No exactamente. curlie se ejecuta sobre curl, por lo que es más una interfaz amigable que un reemplazo. Traduce una sintaxis compacta en llamadas a curl y formatea la salida. curl mismo sigue siendo el motor, y cada indicador nativo de curl sigue funcionando a través de curlie.
¿Funciona curlie en pipelines de CI/CD?
Puedes llamar a curlie en un script, pero no está diseñado para pruebas automatizadas. No tiene aserciones, escenarios de prueba guardados ni informes estructurados. Para el trabajo en pipelines, quieres un ejecutor que verifique las respuestas y falle la construcción cuando algo esté mal. El comando apidog run de Apidog cumple ese papel, y nuestra lista de los mejores clientes de pruebas de API cubre otras opciones para pruebas repetibles y compatibles con CI.
¿En qué se diferencia curlie de HTTPie?
Se sienten similares porque curlie copia la sintaxis y la salida coloreada de HTTPie. La diferencia es el motor. HTTPie es una herramienta Python independiente con su propia implementación. curlie es un envoltorio delgado de Go alrededor de curl, por lo que hereda el comportamiento de curl y acepta directamente los indicadores de curl. Elige curlie si quieres seguir usando curl; elige HTTPie si prefieres su conjunto de características independiente.
¿Puedo ver el comando curl real que ejecuta curlie?
Sí. Ejecuta curlie con el indicador -v (verbose) y mostrará los encabezados de la solicitud y la respuesta junto con los detalles de la solicitud subyacente. Es una forma práctica de aprender los indicadores de curl o de confirmar con precisión lo que se envió.
Conclusión
curlie es una pequeña herramienta inteligente: la sintaxis legible y la salida coloreada de HTTPie, con curl haciendo el trabajo real por debajo. Para probar endpoints, leer respuestas JSON y depurar la autenticación en la terminal, es una mejora genuina en la calidad de vida sobre el curl sin procesar. Solo recuerda lo que es. Es un cliente interactivo, no un ejecutor de pruebas.
Cuando tus solicitudes necesiten ser guardadas, compartidas, afirmadas y ejecutadas en CI, esa es la señal para subir un nivel. Descarga Apidog para convertir los endpoints que exploras en la terminal en solicitudes guardadas, entornos y pruebas automatizadas en las que todo tu equipo puede confiar. Mantén curlie para las cosas rápidas, y deja que Apidog se encargue del trabajo que debe repetirse.
