Blog
Notes from building jurl.
How jurl reads the web, what we measure, and what we got wrong.
- Two thirds of what websites list is already published as dataEN · ESWe checked 51 sites with a list worth following. Two thirds of everything they listed was also served as plain data, so that's what jurl reads first.
- The bug that flattened React's codereact.dev serves markdown to agents but labels it text/plain. jurl believed the label, and every code block on the page came back as one line.
- What looking at the pixels changesjurl can pick a page's images from their words, or look at the images too. We tried both on a soup shop, a small hotel, a blog and Wikipedia.
- The Wikipedia game, on any siteWhen the answer isn't on the page you gave it, jurl --follow looks for it on the same site, one link at a time, the way people play the Wikipedia game.
- 30 pricing pages, one questionWe asked jurl --precise for the cheapest paid plan on 30 SaaS pricing pages. It answered 22, 19 of them right, and left the other 8 empty.
- jurl as an agent's web tool: fewer tokens, all from the pagejurl mcp gives Claude Code, Claude Desktop or Cursor five web tools. On 34 pages they handed back a median 27.5 times fewer tokens than the page, every line from the page, and a plain "Not found" when the page doesn't say it.
- Why jurl can't invent a numberjurl doesn't write its answers. It picks them out of the page and prints them as they are, so every one comes with the sentence it came from.