News for hackers. Stuff that matters.

Show HN: Relinos – Turn Any Website into a REST API (Open-Source)

https://github.com/realsirjoe/relinos

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 Playright? 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

( no comments | on HN )

There are no comments yet.