Hey HN,
I made Relinos, an open-source programmable browser that lets you turn websites into reusable APIs.
The idea is to make browser interactions and extractions easy to create, export, and share. I'd like to build a community of shared website automations that anyone can understand and maintain.
Isn't this just Playwright? No, Relinos runs locally and exposes a language-agnostic REST API. It handles much of the underlying complexity and common problems for you. This includes:
- Site actions ( click, type, scroll, ... ) with visual debug files
- Concurrency for rendered ( chromium ) and simple http requests
- Built-in caching of request results
- Per Request proxies
- Passes Cloudflare and reCAPTCHA v3
- Html to Markdown
- Html to JSON with xpathschema format
- Reusable routines with parameters and extractions
A Google Search automation that opens Google, enters a query, handles pagination and extracts structured data can be defined in just 24 lines of JSON.
{ "url": "https://www.google.com", "render": true, "actions": [ ["actionWaitForAndSelect", "//textarea[@name='q']", "1"], ["actionType","your search term",""], ["actionSleep", "1", ""], ["actionKeyboardEnter", "", ""], ["actionSleep", "2", ""] ], "pagination": ["//*[@id='pnnext']", "2"], "cache": "1d", "format": "json", "extraction": { "results": { "$xpath": "//div[contains(@class, 'MjjYud')]", "$list": true, "title": { "$xpath": ".//h3[contains(@class, 'LC20lb MBeuO DKV0Md')]" }, "url": { "$xpath": ".//a[contains(@class, 'zReHs')]/@href" }, "site": { "$xpath": ".//span[contains(@class, 'VuuXrf')]" }, "snippet": { "$xpath": ".//div[contains(@data-snf, 'nke7rc')]" } } } } We can make this routine easy to reuse by parametrizing and saving it.The vision: Make the web programmable: imagine being able to use any website as an API, whether in your own applications or for an LLM.
I would love to hear your thoughts and feedback. Where should I focus my efforts next to support your use cases? Sergio
Comments URL: https://news.ycombinator.com/item?id=50440317
Points: 2
# Comments: 0

