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.
Goal
Preview
| title | location | url |
|---|---|---|
| Backend Engineer | Amsterdam | /jobs/142 |
| Product Designer | Remote | /jobs/139 |
| Support Lead | Berlin | /jobs/131 |
/api/p/open-jobsHow it works
From a sentence to a working integration
One Pilot per website or SaaS. Each Pilot holds as many Actions as you need.
- 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}".
- 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.
- 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.
- Step 4
Publish
Turn it into an API endpoint, a scheduled webhook, or a chat assistant on your own website.
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 https://saaspilot.jomara.app/api/p/open-jobs?format=csvWebhooks
Have results pushed to you every few minutes, or only when something changed.
- HMAC-signed payloads
- Automatic retries
- Full delivery log
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
<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.
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.