Browsa
  1. Use cases
  2. Data extraction

Structured data from any page.

Send a URL and the fields you want. Browsa loads the page in a real browser, including content that only appears with JavaScript, and returns clean JSON that matches your schema.

100 free credits. No card, no subscription.

How it works.

  1. Describe the fields

    Write a JSON schema, or a plain-language prompt such as "return the H1 text".

  2. Call extract

    One request. A fresh browser loads the page, reads it and closes.

  3. Use the JSON

    With your Anthropic key, the response carries data shaped by your schema. Without one, you get the clean page text for your own model.

from browsa import Client

client = Client(api_key="agt_live_…")

schema = {
    "type": "object",
    "properties": {
        "name":     {"type": "string"},
        "price":    {"type": "number"},
        "in_stock": {"type": "boolean"},
    },
}

res = client.extract(
    "https://shop.example.com/p/earbuds-x2",
    schema=schema,
    llm_api_key="sk-ant-…",   # your Anthropic key
)
print(res["data"])          # {"name": …, "price": …, …}
print(res["cost_credits"])   # 1

What you get.

Pages that need JavaScript

The page renders in real Chromium before it is read, so single-page apps and late-loading content come through.

Schema in, JSON out

Describe the shape once and get back data you can store, not HTML to parse.

Many pages at once

Send a list of URLs as one batch job, or crawl from a start page and collect the pages underneath.

Safe retries

Pass an idempotency_key and a retry within 24 hours returns the first response without a second charge.

Pricing.

One page is one short-lived browser. Credits never expire.

Extract one page1 credit
Scrape one page: HTML, text, links1 credit
Full-page screenshot1 credit
Multi-step agent task, 10 steps, your model8 credits
Page that fails to loadRefunded

Extraction runs on your own Anthropic key, billed by Anthropic. Browsa charges only for the browser.

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.

Do I need a model key?

For the data field, yes: pass an Anthropic key as llm_api_key. Extraction uses a fast Claude Haiku model unless you choose another with llm. Without a key you still get the rendered text and your schema back, ready for your own model. To skip keys entirely, run an agent task with llm="browsa".

Should I send a schema or a prompt?

One or the other. A schema gives you fixed field names and types, which suits pipelines. A prompt is quicker for one-off questions; the answer comes back in a single output field.

What about pages that need clicks or a login?

Extract reads one page as it loads. For pagination, filters or logins, use an agent task, or drive the page yourself with Playwright and a saved identity.

Can I scrape without any AI?

Yes. scrape() returns the rendered HTML, visible text, links or a screenshot for 1 credit, with no model involved.

Turn pages into JSON.

100 free credits. No card, no subscription.