canonical: https://jentic.com/apis/browserless.io/browserless

# Browserless REST API

Jentic publishes the only available OpenAPI specification for Browserless REST API, keeping it validated and agent-ready. Browserless provides managed headless Chrome as a service, with a small set of opinionated REST endpoints that handle the most common browser-automation use cases without requiring a Playwright or Puppeteer client. The v2 API exposes /scrape for structured extraction, /content for raw rendered HTML, /screenshot and /pdf for visual outputs, /search for grounded web search, /unblock for bypassing common bot detections, and /performance for Lighthouse-style audits.

## For AI agents

Render any URL to HTML, screenshot, or PDF, scrape structured data, run performance audits, and unblock bot-protected pages - all over a managed Chrome fleet. Useful for content extraction, document generation, and web-research agents.

## Scope

Does not handle long-lived Playwright sessions, captcha solving, or proxy rental - use for one-shot REST browser actions like content, scrape, screenshot, PDF, search, unblock, and performance only.

## Capabilities

- Render a URL to fully resolved HTML after JavaScript execution via /content
- Extract structured data using a CSS selector schema in a single /scrape call
- Generate full-page or viewport screenshots in PNG or JPEG via /screenshot
- Convert any URL to a print-quality PDF with custom paper size and margins via /pdf
- Run a grounded web search and get rendered, parsed results via /search
- Bypass common bot-detection layers on protected pages via /unblock
- Run Lighthouse-style performance audits and return the JSON report via /performance

## Use cases

### On-Demand HTML to PDF Conversion

Document platforms convert web pages to PDF for invoicing, contracts, and report archives by sending the source URL to /pdf with paper size and header configuration. Browserless renders the page in a real Chromium instance so JavaScript-driven layouts come out correctly, and the response is the binary PDF. Typical conversion times are under 3 seconds for simple pages.

Example prompt: POST /pdf with the invoice URL and paper format A4 to receive the PDF binary in the response body

### Structured Web Scraping

Data teams use /scrape with a JSON schema describing CSS selectors and fields they want extracted. Browserless renders the page, applies the selectors, and returns structured JSON ready to ingest into a warehouse. This replaces in-house Puppeteer code and DOM parsing for the long tail of one-off scrape jobs that don't justify a dedicated robot.

Example prompt: POST /scrape with the target URL and an elements schema specifying selectors for product name, price, and availability

### Page Performance Auditing in CI

Front-end teams run /performance on every preview deploy to catch regressions in Largest Contentful Paint, Cumulative Layout Shift, and Total Blocking Time. The endpoint returns the full Lighthouse JSON which the CI job parses and compares against a baseline. This is a managed alternative to running Lighthouse CI containers in your own pipeline.

Example prompt: POST /performance with the preview deploy URL and parse the returned categories.performance.score field, failing the build if it drops below 0.85

### AI Web-Research Agent Through Jentic

An AI research agent uses Jentic to fetch and parse pages without holding the Browserless token. It searches for 'render a webpage and extract structured data', loads the /scrape schema, and executes the call. Combined with /search and /unblock, the agent can run a full grounded research loop - search, fetch, parse - entirely through Browserless's managed browsers.

Example prompt: Use Jentic to search 'render a webpage and extract structured data', load the browserless.io /scrape operation, and execute it for the research target URL

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | /content | Render a URL to resolved HTML |
| POST | /scrape | Extract structured data using a selector schema |
| POST | /screenshot | Capture a screenshot of a URL |
| POST | /pdf | Render a URL to PDF |
| POST | /search | Run a grounded web search |
| POST | /unblock | Bypass bot-detection layers on a target URL |
| POST | /performance | Run a Lighthouse-style performance audit |

## Key resources

- **Content** — Render a URL to fully resolved HTML
- **Scrape** — Extract structured data via a selector schema
- **Screenshot** — Capture PNG or JPEG screenshots
- **PDF** — Render a URL to PDF
- **Search** — Grounded web search returning parsed results
- **Unblock** — Bypass common bot-detection layers
- **Performance** — Run Lighthouse-style performance audits

## Why Jentic

- **Setup:** Wiring Browserless by hand means passing your token as the query parameter on every request and picking the right regional host such as production-sfo. Through Jentic you install once, import the Browserless REST API from the API Directory, store the token once, and your agent calls it.
- **Permission scoping:** Browserless takes the target URL in the request body, not as a resource id in the URL path, so scoping is operations-only: limit the agent to the operations it needs, such as scrape and screenshot, and leave out pdf or unblock if it does not need them. You choose which of these one-shot operations it may call.
- **Credential handling:** Your Browserless token is stored once, encrypted, by your own Jentic One instance and injected as the token query parameter at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'render a webpage to PDF' or 'extract structured data from a webpage', and Jentic returns the matching Browserless operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **BrowserCat** — Managed Chromium accessible over websocket for Playwright and Puppeteer
- **ZenRows** — Scraping-focused headless browser API with built-in proxy rotation
- **Browse AI** — No-code scraping robots trained in a UI

## FAQ

### Why is there no official OpenAPI spec for Browserless REST API?

Browserless does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call Browserless REST 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 Browserless REST API use?

Browserless uses a token passed as a query parameter (`tokenAuth`); the same token works against /content, /scrape, /screenshot, /pdf, /search, /unblock, and /performance. Through Jentic, the token is stored encrypted in your Jentic One instance and the agent receives a scoped execution token instead of the raw value.

### Can I generate a PDF of any web page with Browserless?

Yes. POST /pdf accepts a URL plus PDF options like format, margin, landscape, and printBackground, and returns the binary PDF in the response body. You can also pass HTML directly when you don't have a hosted page to point at.

### How do I scrape structured data through Jentic?

Search Jentic for 'extract structured data from a webpage', load the browserless.io /scrape schema, and pass the URL plus an elements array describing the CSS selectors and fields you want. The response is structured JSON ready to ingest.

### What are the rate limits for Browserless?

The OpenAPI spec does not declare explicit rate limits. Browserless instead limits concurrent sessions per plan; check your plan's concurrency cap before launching large parallel jobs and use /performance for one-off audits rather than tight loops.

### Does /unblock guarantee bypassing every bot challenge?

No. /unblock handles common bot-detection layers and challenges, but determined anti-bot vendors evolve continuously. For known-difficult targets, expect to iterate or fall back to a paid scraping API with proxy rotation.

### Can I limit what my agent is allowed to do with the Browserless REST API?

Yes. Because Jentic One is self-hosted, your own rules decide which Browserless operations the agent may call and which credentials it may use. Since Browserless takes the target URL in the request body rather than as a path resource, scoping is operations-only: you allow just the endpoints the agent needs, such as /scrape and /screenshot, and leave out /pdf, /search, /unblock, or /performance if it has no reason to use them. Your stored Browserless token is injected only for the operations you permit, so the agent can never call an endpoint you did not grant.
