canonical: https://jentic.com/apis/browse.ai/browse-ai

# Browse AI API

Jentic publishes the only available OpenAPI specification for Browse AI API, keeping it validated and agent-ready. Browse AI is a no-code web scraping and monitoring platform that lets you train robots to extract structured data from any website. The v2 API exposes the underlying robots so developers and AI agents can list robots, run extraction tasks on demand, kick off bulk runs across many input URLs, manage scheduled monitors, and receive results via webhooks. It is designed for teams that have already built robots in the Browse AI UI and now want to operate them at scale from code.

## For AI agents

Run pre-trained Browse AI robots to extract structured data from websites, schedule scraping monitors, and receive results via webhook. Useful for price monitoring, lead scraping, and competitive intelligence agents.

## Scope

Does not handle robot training, captcha solving as a standalone service, or proxy rental - use for triggering and managing pre-trained Browse AI robots only.

## Capabilities

- Trigger a single extraction task on a Browse AI robot with custom input parameters
- Run a robot across hundreds or thousands of input URLs in a single bulk-run request
- Schedule recurring monitors that re-run a robot on a website and emit changes
- Subscribe webhooks to robot events so downstream systems receive scraped data in real time
- Refresh a robot's stored cookies to keep authenticated sessions alive across runs
- List all robots on a team and inspect their input schemas before triggering tasks

## Use cases

### E-Commerce Price Monitoring

Retail teams build a Browse AI robot for each competitor catalogue page and then use the API to run the robots on a daily schedule. The agent calls POST /robots/{robotId}/monitors to register the cadence and POST /robots/{robotId}/webhooks so its data warehouse receives the extracted prices automatically. This replaces brittle in-house scraping code and handles JavaScript-heavy sites, captchas, and rotating proxies for free.

Example prompt: POST /robots/{robotId}/monitors with a daily schedule and POST /robots/{robotId}/webhooks pointing to the data warehouse ingestion URL

### Bulk Lead Enrichment

Sales teams take a list of company URLs and run a Browse AI robot across all of them in a single bulk operation via POST /robots/{robotId}/bulk-runs. The robot extracts firmographic data, contact emails, and tech-stack signals, and the API returns a bulk-run ID that the agent polls (or the webhook fires) to ingest results into the CRM. A list of 5,000 URLs that would take days to scrape manually completes in hours.

Example prompt: POST /robots/{robotId}/bulk-runs with an array of 500 company URLs and the input parameters expected by the robot

### Scheduled Job Board Monitoring

Recruiting teams build a robot that scrapes a target job board and use a Browse AI monitor to re-run it daily; the monitor emits an event when new listings appear. The agent receives the new listings via the webhook subscription and creates corresponding records in the ATS. This is a robust alternative to RSS or in-house scraping when the source site does not offer an API.

Example prompt: POST /robots/{robotId}/monitors with a daily schedule for the job-board robot and add a webhook so new listings post to the ATS ingestion endpoint

### AI Research Agent Through Jentic

An AI research agent uses Jentic to fan out across many websites without writing scraping code itself. It searches for 'extract data from a website', loads the Browse AI task schema, and triggers POST /robots/{robotId}/tasks for each target URL. Browse AI handles the page rendering, captcha avoidance, and structured extraction, so the agent only orchestrates which robots to run and where to send the results.

Example prompt: Use Jentic to search 'run a Browse AI robot on a URL', load the browse.ai operation, and execute it for each URL in a research target list

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | /robots | List all robots on the team |
| POST | /robots/{robotId}/tasks | Trigger a single extraction task on a robot |
| GET | /robots/{robotId}/tasks/{taskId} | Get the status and result of a task |
| POST | /robots/{robotId}/bulk-runs | Run a robot across many input URLs in one request |
| POST | /robots/{robotId}/monitors | Create a scheduled monitor that re-runs the robot |
| POST | /robots/{robotId}/webhooks | Subscribe a webhook for robot events |
| PATCH | /robots/{robotId}/cookies | Refresh stored cookies on a robot |

## Key resources

- **Robots** — Pre-trained scraping robots configured in the Browse AI UI
- **Tasks** — Single robot runs against a specific input
- **Bulk Runs** — Robot runs fanned out across many input URLs in one request
- **Monitors** — Scheduled recurring runs that watch a target site for changes
- **Webhooks** — HTTP callbacks invoked when tasks or monitors emit events
- **Teams** — Workspace metadata for the authenticated account

## Why Jentic

- **Setup:** Wiring Browse AI by hand means holding its bearer token, attaching the Authorization header on every request, and coordinating robot tasks, bulk runs, and monitors across separate endpoints yourself. Through Jentic you install once, import the Browse AI API from the API Directory, store the token once, and your agent calls it.
- **Permission scoping:** Browse AI puts the robot id in the URL path (/robots/{robotId}/...), so a rule can pin your agent to one robot: it can run tasks and read their results for that robot and nothing else. You choose the operations it may call, so writes like creating webhooks or updating cookies are not included unless you add them.
- **Credential handling:** Your Browse AI bearer token is stored once, encrypted, by your own Jentic One instance and injected as the Authorization header at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'run a scraping robot' or 'monitor a website for changes', and Jentic returns the matching Browse AI operation with its parameter schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Apify** — Marketplace of pre-built scrapers (Actors) plus a full SDK for custom scraping
- **ZenRows** — Headless browser scraping API with anti-bot bypass
- **Browserless** — Headless Chrome as an API for browser automation

## FAQ

### Why is there no official OpenAPI spec for Browse AI API?

Browse AI does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call Browse AI API via structured tooling. It is validated against the live API and kept up to date. Get started with Jentic One, the self-hosted execution layer.

### What authentication does the Browse AI API use?

The Browse AI v2 API uses Bearer token authentication; the token is generated in the Browse AI dashboard and passed in the Authorization header. Through Jentic, the token is stored encrypted in your Jentic One instance and the agent receives a scoped execution token instead.

### Can I run a Browse AI robot on hundreds of URLs at once?

Yes. POST /robots/{robotId}/bulk-runs accepts an array of inputs and queues a run for each, returning a single bulk-run ID. You can poll GET /robots/{robotId}/bulk-runs/{bulkRunId} for status or attach a webhook to receive each task's results as they complete.

### How do I monitor a website for changes through Jentic?

Search Jentic for 'monitor a website for changes', load the browse.ai schema, and call POST /robots/{robotId}/monitors with a schedule. Subscribe a webhook via POST /robots/{robotId}/webhooks so your agent receives the diff when the monitor fires.

### What are the rate limits for the Browse AI API?

The OpenAPI spec does not declare explicit rate limits; in practice Browse AI throttles per plan and per concurrent task slot. Heavy bulk runs should be sized to match the credit allowance on your Browse AI subscription rather than the API's HTTP rate ceiling.

### Do I need to build robots in the UI before using the API?

Yes. The API operates pre-trained robots; you train them once in the Browse AI no-code UI by clicking through the target page. After that you can list, run, schedule, and webhook them entirely through the API.

### Can I limit what my agent is allowed to do with the Browse AI API?

Yes. Because you run Jentic One yourself, your own rules decide which Browse AI operations and credentials the agent may use. Since Browse AI puts the robot id in the URL path (/robots/{robotId}/...), you can pin the agent to a single robot so it only triggers tasks with POST /robots/{robotId}/tasks and reads their results, and nothing else. You choose the operations it may call, so write actions like creating webhooks or refreshing a robot's cookies stay off limits unless you explicitly grant them.
