Free · early access

A browser for your bots, over an API

Robotex gets past anti-bot protection, runs a scenario on the page and hands your bot the cookies. From there the bot works with plain HTTP requests.

Why you need it

Every website bot sooner or later runs into one of three problems:

  1. a captcha
  2. anti-bot protection
  3. heavy JS that has to be rendered to submit a form

A spider built on raw HTTP requests is helpless here, you need a real browser. But a browser is heavy, it has to be hidden from detection and kept next to the bot. Robotex takes that job over: the browser is used only where there's no way around it.

Features

Scenarios

More than opening a page. Fill a form, click, move the mouse, wait for an element, grab a piece of HTML.

Anti-bot pages

Detects a Cloudflare check before and during a scenario and gets through it. If it escalates to an image captcha, sends it to a recognition service.

Captcha

The captcha step solves hCaptcha and other captchas via 2captcha before the form is submitted.

Profiles

Cookies, local storage and the browser fingerprint live in one profile. Locale and timezone match the proxy’s geo. To the site it’s still the same user.

Real Chrome

Chrome driven by Patchright, without the CDP leaks anti-bots use to detect automation.

Any language

It’s a service, not a library. Your bot only needs an HTTP client, whatever it’s written in.

How it works

  1. The bot sends a URL, an action scenario and its proxy to POST /v1/solve.
  2. Robotex opens the page, passes the checks and runs the scenario. The browser profile is saved and returned in the session_id cookie.
  3. The bot gets the cookies and User-Agent and keeps browsing on its own, through the same proxy. When it needs a browser again, it sends session_id and continues in the same profile.
Request
POST /v1/solve
X-API-Key: <key>

{
  "url": "https://example.com/login",
  "actions": [
    {"type": "fill", "selector": "#email", "value": "user@example.com"},
    {"type": "fill", "selector": "#password", "value": "..."},
    {"type": "click", "selector": "#submit"},
    {"type": "wait_for", "selector": ".dashboard", "timeout": 30}
  ],
  "proxy": "socks5://user:pass@host:port"
}
Response
{
  "status": "ok",
  "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) ...",
  "cookies": [
    {"name": "sessionid", "value": "...", "domain": ".example.com"}
  ],
  "actions": [
    {"type": "fill", "ok": true},
    {"type": "fill", "ok": true},
    {"type": "click", "ok": true},
    {"type": "wait_for", "ok": true}
  ]
}

Where it stands, honestly

  • It’s an early MVP. I grant access manually, and the API may change.
  • It’s free. You only pay for your own proxies and, if needed, 2captcha.
  • Proxy quality matters a lot: no fingerprint will help on a dirty IP.
  • Turnstile doesn’t pass on every site yet, I’m working on stability.