# jurl CLI: un curl que lee la página por ti

Le preguntas algo a una página y jurl te devuelve solo el trozo que lo responde, tal cual, con un enlace al sitio exacto donde lo dice. Si la respuesta está unas páginas más allá, se va a buscarla.

```
$ jurl --precise --follow 15 -q "What is the boiling point of mercury?" en.wikipedia.org/wiki/Tennis
629.88 K (356.73 °C, 674.11 °F)
```

Una ejecución grabada: 13 páginas leídas, 8 descartadas, 3,8 s. El camino que siguió: Tennis → Kevlar → Chemical formula → Periodic table → Mercury (element).

- Instalar: `brew install rayoplateado/tap/jurl`
- Novedad de la 0.2.0: `jurl login` lee con jurl cloud, sin claves de API: https://jurl.dev/es/cli/#cloud
- Código: https://github.com/rayoplateado/jurl (MIT o Apache-2.0)
- Todas las opciones (en inglés): https://github.com/rayoplateado/jurl#reference
- Novedades (en inglés): https://github.com/rayoplateado/jurl/blob/main/CHANGELOG.md
- Versión en inglés, con todas las salidas completas: https://jurl.dev/cli/index.md

## Por qué

- **Elige, no escribe.** Cada línea que devuelve está en la página tal cual. Sin resúmenes ni enlaces inventados.
- **Avisa cuando no está.** Si no hay respuesta, sale con código 1. Tu script se queda con una celda vacía, no con una equivocada.
- **Menos de un segundo por página.** En la mayoría, de principio a fin. Unos 4 $ cada 10.000 páginas con tus propias claves.

## Un comando, una opción para cada cosa

| Quieres | Opción | Ejemplo real |
|---|---|---|
| La respuesta exacta | `--precise` | Límite de la API de GitHub → «5,000 requests per hour», con un enlace que resalta la frase |
| Búscalo en la web | `--follow` | Solo `linear.app` → «$10 per user/month», 2,4 s |
| Una foto, por lo que sale en ella | `--find` | «a cathedral» en el artículo de Colonia → 3 de 70 imágenes, 2,9 s; la tercera no tiene texto alternativo |
| Los enlaces que interesan | `--links` | Ensayos de Paul Graham sobre startups → 4 enlaces, 0,8 s |
| Solo el código | `--code` | El README de uv → los comandos para instalarlo, 0,9 s |
| Lo esencial | `jurl <url>` | Un artículo largo del blog de Cloudflare → el título y los 3 bloques que lo cuentan, 0,6 s |

`--follow` se queda en la misma web, respeta `robots.txt` y lee 5 páginas salvo que le pidas más (`--follow 15`). Las páginas hechas con JavaScript también funcionan.

## Nunca reescribe la página

Diez páginas de documentación, una pregunta en cada una:

| | jurl | WebFetch de Claude Code | Exa | Tavily |
|---|---|---|---|---|
| Respuesta exacta | **10/10** | **10/10** | 8/10 | 5/10 |
| Líneas de código que no están en la página | **0 de 60** | 33 de 63 | **0 de 59** | 8 de 36 |
| Coste por 10.000 páginas | **4 $** | ~150 $ | 10 $ | 16 $ |
| Encuentra una imagen por lo que sale | **sí** | no | no | no |

Medido el 7 de octubre de 2026. Las tareas, los scripts y cada respuesta: https://github.com/rayoplateado/jurl/tree/main/bench

## Novedad de la 0.2.0: una respuesta hoy, una hoja siempre al día

Inicias sesión una vez y jurl lee con jurl cloud: sin claves de API, con las mismas opciones y la misma salida. En la terminal, cada respuesta termina con un enlace que la convierte en una hoja de jurl cloud, que la vuelve a leer cada cierto tiempo.

```
$ jurl login
To sign in to jurl cloud, open https://cloud.jurl.dev/device and enter this code:

    KQ7M-PX4T

…
Signed in as you@acme.com to Acme. Console: https://cloud.jurl.dev
$ jurl --follow --precise -q "What is the monthly price of the cheapest paid plan?" linear.app
$10 per user/month
…
jurl: keep it up to date in a sheet: https://cloud.jurl.dev/w/…
```

`jurl status` dice con qué cuenta lees y cuántas páginas llevas; `jurl logout` cierra la sesión. jurl cloud no hace `--image`, `--vision` ni `--find`: esas lecturas van con tus propias claves.

## Instalar

```
brew install rayoplateado/tap/jurl                                                     # macOS, Linux
curl -LsSf https://github.com/rayoplateado/jurl/releases/latest/download/jurl-installer.sh | sh   # sin Homebrew
```

Windows: `powershell -ExecutionPolicy Bypass -c "irm https://github.com/rayoplateado/jurl/releases/latest/download/jurl-installer.ps1 | iex"`

Luego eliges cómo lee:

- **jurl cloud**: `jurl login`. Una cuenta gratis con un cupo mensual de páginas leídas. No hay nada que configurar.
- **Tus propias claves**: `jurl init`, o simplemente la primera vez que lo usas. Una clave de TypeSafe (https://console.typesafe.ai), que se comprueba y se guarda. Pagas por página. Para `--vision` y `--find`, añade un token de Cloudflare Workers AI.

Para tu agente: `claude mcp add jurl -- jurl mcp` le da jurl como herramienta a Claude Code, Claude Desktop o Cursor.

- **Qué sale de tu ordenador:** con tus claves, el texto de la página va a TypeSafe y, con `--vision` o `--find`, sus fotos van a Cloudflare. Con jurl cloud, la página la leen los servidores de jurl.
- **Qué no puede leer:** las páginas que piden iniciar sesión. jurl nunca envía tus cookies.

---

Hecho en Murcia por Ray García (@rayoplateado en X). MIT o Apache-2.0. Lightpanda, que jurl descarga para las páginas con JavaScript, es un programa aparte con licencia AGPL-3.0.
