- Use cases
- Browser automation
Scheduled browser jobs.
Store a browser task once and Browsa runs it on a fixed interval, from every hour to every 30 days. Each run is a normal job with its own result, files and recording, and a signed webhook can tell your system when it finishes.
100 free credits. No card, no subscription.
How it works.
Write the task
Plain language, with the output you want, exactly like a one-off agent task.
Set the interval
interval_secondsfrom 3600 (1 hour) to 2592000 (30 days).Collect each run
Receive a
job.completedwebhook, or read the latest run fromlast_job_id.
from browsa import Client client = Client(api_key="agt_live_…") schedule = client.create_schedule( name="status-page-check", interval_seconds=24 * 3600, # daily; 1 hour to 30 days task="Open https://status.example.com and return every " "component that is not operational, as JSON", llm="browsa", ) # Later: read the most recent run and its files s = client.get_schedule(schedule.id) if s.last_job_id: job = client.get_job(s.last_job_id) print(job.status, job.final_result) for f in client.list_job_files(job.id): print(f.name, f.size) # Pause it (pass True to resume) client.set_schedule_enabled(schedule.id, False)
import { Client } from "browsa"; const client = new Client({ apiKey: "agt_live_…" }); const schedule = await client.createSchedule({ name: "status-page-check", intervalSeconds: 24 * 3600, // daily; 1 hour to 30 days task: "Open https://status.example.com and return every " + "component that is not operational, as JSON", llm: "browsa", }); console.log(schedule.id, schedule.nextRunAt); // Pause it (pass true to resume) await client.setScheduleEnabled(schedule.id, false);
What you get.
No servers to run
The schedule lives in Browsa. No cron box, no queue and no browser to keep alive between runs.
Every run is a job
Each run has its own status, result, output files and a recording of the browser session.
Signed webhooks
Get job.completed or job.failed as HMAC-signed POSTs instead of polling.
Secrets stay encrypted
A model key stored on a schedule is encrypted and never returned by the API.
Pricing.
Each run is billed like a hand-submitted agent task. Credits never expire.
An agent task is a 5-credit browser, plus 1 credit, plus 1 credit for every 5 steps. Running it on Browsa's model adds 5 credits.
Free
Starter
Growth
Pro
Questions.
What intervals can I use?
Anything from 1 hour to 30 days, set in seconds. Common values: 3600 for hourly, 86400 for daily, 604800 for weekly.
When does the first run happen?
One interval after you create the schedule. There is no instant first run, so call run_task() once if you want a result right away.
Can I pause a schedule?
Yes. set_schedule_enabled(id, False) pauses it and True resumes it. Resuming a long-paused schedule moves the next run one interval out instead of firing straight away.
What if a run fails?
You get a job.failed webhook with an error_code and a plain-language error_message, and the job stays in your history so you can see what happened.
Put your browser work on a schedule.
100 free credits. No card, no subscription.