Browsa
  1. Use cases
  2. Monitoring

Price and stock monitoring.

Check prices and availability on the public sites you track, every hour or once a week, in a real browser that renders JavaScript. Each run returns the numbers as JSON, and a signed webhook tells your system as soon as a run finishes.

100 free credits. No card, no subscription.

How it works.

  1. Write the check once

    Name the product page and the JSON you want back: price, currency, in stock.

  2. Put it on a schedule

    Pick any interval from 1 hour to 30 days with interval_seconds.

  3. Get a signed webhook

    Each run sends job.completed with the result, signed in X-Agents-Signature. Compare it with the last price and alert.

from browsa import Client

client = Client(api_key="agt_live_…")

# Once per workspace: where finished runs are delivered
client.create_webhook(
    url="https://your-app.com/hooks/browsa",
    events=["job.completed", "job.failed"],
)

schedule = client.create_schedule(
    name="earbuds-x2-price",
    interval_seconds=3600,          # hourly; up to 30 days
    task="Open https://shop.example.com/p/x2 and return "
         "JSON with sku, price, currency and in_stock",
    llm="browsa",
)
print(schedule.id, schedule.next_run_at)

What you get.

Hourly to monthly

Any interval from one hour to 30 days. Each run is a normal job with its own result and files.

Signed webhooks

Deliveries are HMAC-SHA256 signed with a timestamp, and the SDKs verify them in one call.

Pages that need JavaScript

A real browser loads the page, so prices drawn by scripts show up the way shoppers see them.

Keys stay encrypted

A model key stored on a schedule is encrypted and never returned by the API.

Pricing.

Each scheduled run is billed like a normal agent task. Credits never expire.

Check, 10 steps, your model8 credits a run
Same check on Browsa's model13 credits a run
Daily check for 30 days, your model240 credits
One-page extract from your own scheduler1 credit
Webhook deliveriesFree

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

$0
100 credits to start

Starter

$20
200 credits

Growth

$100
1,200 credits, 20% bonus

Pro

$500
7,500 credits, 50% bonus
Full pricing Need volume or invoicing? support@browsa.io

Questions.

How often can a check run?

Every hour at most and every 30 days at least: interval_seconds from 3600 to 2592000. The first run starts one interval after you create the schedule. For checks more often than hourly, call extract() from your own scheduler for 1 credit a page.

How do I verify a webhook came from Browsa?

Every delivery has an X-Agents-Signature header of the form t=<unix>, v1=<hex>: an HMAC-SHA256 of the timestamp and the raw body, keyed by your workspace signing secret. webhooks.verify_signature() in Python, or verifySignature() from browsa/webhooks in TypeScript, checks it and rejects deliveries older than 5 minutes.

Can the same event arrive twice?

Yes, delivery is at least once. Store each event's id and skip the ones you have already handled.

What if a store blocks the check?

You see the block page in the job result and your code decides what to do: retry, switch to your own proxy or skip the run. No browser passes every check, and we publish where ours stands on the benchmarks page.

Get every price check as data.

100 free credits. No card, no subscription.