Drive any site

Drive any website like it has an API

Tell SaaSPilot what you need from a site in plain language. It works out how to get it, checks every step, and gives you a clean result you can publish as an endpoint, a webhook or a chat assistant.

No selectors to maintain. Credentials are stored encrypted.

Acme Careers
script mode

Goal

List all open jobs with title, location and URL
fetch /jobsparse listingfollow paginationmap fields

Preview

TableJSONCSV
titlelocationurl
Backend EngineerAmsterdam/jobs/142
Product DesignerRemote/jobs/139
Support LeadBerlin/jobs/131
Published at/api/p/open-jobs

How it works

From a sentence to a working integration

One Pilot per website or SaaS. Each Pilot holds as many Actions as you need.

  1. Step 1

    Describe

    Create a Pilot for a site, then say what you want in plain language: "list all open jobs" or "search products for {query}".

  2. Step 2

    AI writes & validates

    The AI explores the site and writes a versioned recipe of steps. Every step gets a static validator, so bad output is caught, not shipped.

  3. Step 3

    Preview & refine

    See the result as JSON, Table, HTML, CSV, XML or Markdown. Tell the AI what to change; every refinement is a new version you can switch back to.

  4. Step 4

    Publish

    Turn it into an API endpoint, a scheduled webhook, or a chat assistant on your own website.

JSONTableHTMLCSVXMLMarkdown versioned recipes

Publish

Three ways to put it to work

The same Action can be an endpoint, a feed and an assistant at the same time.

API endpoints

Every Action can live at /api/p/<slug>. GET or POST, any output format, with caching and rate limits.

  • Open, password, or a key per endpoint
  • JSON, CSV, XML, HTML or Markdown
curl
curl https://saaspilot.jomara.app/api/p/open-jobs?format=csv

Webhooks

Have results pushed to you every few minutes, or only when something changed.

  • HMAC-signed payloads
  • Automatic retries
  • Full delivery log
delivery
POST https://you.example/hooks/jobs
X-SaaSPilot-Signature: sha256=…

{ "changed": true, "items": [ … ] }

Site assistant

One script tag gives your website a chat bubble. Visitors ask questions, or ask it to run your Actions for them, including image and file uploads.

  • Works on any site, desktop and mobile
  • Only the Actions you choose
html
<script src="https://saaspilot.jomara.app/embed/pa_xxx.js" async></script>

Low energy by default

A browser only when it is actually needed

Most pages do not need a full browser to read them. SaaSPilot prefers script mode: plain HTTP requests and parsing. It is faster, cheaper and uses far less energy. A real browser is used only for the parts that require one, like logins or pages that render entirely in JavaScript.

Script mode

Preferred

  • Plain fetch and parsing
  • Runs in milliseconds to seconds
  • Minimal compute per run

Browser mode

When needed

  • Logins and sessions
  • JavaScript-only pages
  • Chosen per step, not per Pilot

Stays working

Websites change. Your Actions keep up.

Scrapers usually break quietly. SaaSPilot checks every Action and tells you when something is off.

Daily health checks

Every Action is run and validated against its step checks once a day.

Automatic AI repair

When a site changes, the AI rewrites the affected steps and saves the fix as a new version.

Email when it needs you

If a repair needs a human, such as new credentials, you get an email explaining what to do.

For developers

Everything is an API too

Manage Pilots, Actions, runs and publishing from your own code with the REST API. Authenticate with an sk_ key from your dashboard. The docs come in a version for people and one written for LLMs.

rest api
curl https://saaspilot.jomara.app/api/v1/pilots \
  -H "Authorization: Bearer sk_..."

Pick a site. Describe what you need.

Your first Pilot takes a few minutes. Preview the result before you publish anything.