Notte / Functions
Your browser code needs somewhere to run.
Compare deployed Python handlers, TypeScript Functions, browser-local app actions and external runners. Look at how code is deployed, invoked, scheduled, observed and stopped.
12 providers · Public sources · Checked October 18, 2026
01 / Start with the work
What are you running?
Same browser category. Different things to build and operate.
A browser for your code
Keep your controller. Compare browser lifecycle, action speed, saved state and the limits of a session.
Compare Sessions02Code that runs with the browser
Deploy a handler, invoke an app action or keep an external worker. Compare where the work happens.
Compare Functions03A workflow that can sign in
Saved state, credential fill and managed connections do different jobs. Choose the login path you need.
Compare Auth02 / Measured, with context
A fast start.
Then the work itself.
Opening a browser and completing a task are different measurements.
Saved snapshot checked October 18, 2026. Latest available runs per provider, at concurrency 1. Environments and run dates can differ. Browserless returned a connection authentication error; its timing is unavailable.
Inspect the measurements and dates
| Provider | Lifecycle date | Runs | Lifecycle success | Browser region | Runner | Throughput date | Task success |
|---|---|---|---|---|---|---|---|
| Browserless | 2026-10-18 | 100 | 0% | us-west | us-west-1 / t3.small | 2026-10-18 | Configuration failure |
| Tilion | 2026-10-18 | 100 | 99% | us-east-1 | us-east-1 / t3.medium | 2026-10-17 | 100% |
| Notte | 2026-10-18 | 100 | 100% | us-west-2 | us-west-1 / t3.small | 2026-10-18 | 91% |
| KERNEL | 2026-10-18 | 100 | 86% | us-east-1 | us-east-1 / t3.medium | 2026-10-17 | 69% |
| Browser Use | 2026-10-18 | 100 | 100% | us-east-1 | us-east-1 / t3.medium | 2026-10-17 | 94% |
| Lightpanda | 2026-10-18 | 100 | 100% | us-west-1 | us-west-1 / t3.small | 2026-10-18 | 100% |
| Browserbase | 2026-10-18 | 100 | 100% | us-west-2 | us-east-1 / t3.medium | 2026-10-17 | 100% |
| Cloudflare | 2026-10-18 | 100 | 100% | global | us-east-1 / t3.medium | 2026-10-17 | 100% |
| Hyperbrowser | 2026-10-18 | 100 | 100% | us-east-1 | us-east-1 / t3.medium | 2026-10-17 | 87% |
| Steel | 2026-10-18 | 100 | 100% | us-east-1 | us-east-1 / t3.medium | 2026-10-17 | 100% |
| Anchor Browser | 2026-10-18 | 100 | 100% | us-east-1 | us-east-1 / t3.medium | 2026-10-17 | 100% |
| AWS AgentCore | 2026-10-18 | 100 | 100% | us-east-1 | us-east-1 / t3.medium | 2026-10-17 | 51% |
Task success belongs to the throughput workload, not the lifecycle test. Read the source and methodology ↗
03 / The landscape
Look at it from every angle.
Change the question. Keep the product boundaries in view.
| Provider | Execution path | Scheduled work |
|---|---|---|
| Notte | Python Functions | Native |
| Browserbase | TypeScript Functions | External trigger path |
| Kernel | TypeScript / Python Apps | App invocation path |
| Steel | External worker | External scheduler |
| Hyperbrowser | Separate execution options | Check execution setup |
| Anchor Browser | Automation Tasks | Task execution path |
| Browser Use | External worker or hosted agent | Check execution setup |
| Browserless | Product-dependent execution | External scheduler |
| Cloudflare Browser Run | Workers composition | Workers trigger composition |
| AWS AgentCore Browser | External AWS compute | External scheduler |
| Lightpanda | External worker | External scheduler |
| Tilion | Not established | Not established |
“Not established” means the reviewed sources do not establish support. It does not mean unsupported. Read the provider contracts and sources ↗
04 / Price the workflow
An hourly rate is a start.
Plan floors, proxy traffic and code execution change the monthly bill.
Notte / Monthly planning estimate
Your workload.
Includes the $20/month plan floor, returned as usage credit. This assumes a recurring paid plan.
- Browser time 500 hours × $0.01
- $5.00
- Managed proxy traffic 0 GB × $10
- $0.00
- Usage before plan floor
- $5.00
Browser-session estimate only. Function compute, identity services and any other usage are separate. Session-duration eligibility and billing rounding must also fit the selected plan.
See plans and billing detailsBrowser usage rates in the charts come from the saved Arena snapshot. The estimate below uses Notte's public pricing. It is a planning estimate before billing rounding and any additional services.
05 / The details that matter
Find the capability you need.
A product name tells you less than its actual contract.
These lists include different implementation paths. Native, composed, preview and undocumented support stay distinct in the detailed comparison. See the complete matrix ↗
06 / Compare one by one
Which one fits your workflow?
Every provider in BrowserArena. The differences worth looking at first.
Notte vs Browserbase
Python handlers or TypeScript Functions beside the browser
KNotte vs Kernel
Hosted Functions or browser-local app actions
SNotte vs Steel
An integrated workflow or a browser API you can self-host
HNotte vs Hyperbrowser
Compare profile persistence, credential fill and execution
ANotte vs Anchor Browser
Write a handler or demonstrate an automation task
BNotte vs Browser Use
Separate browser infrastructure from the hosted agent
BNotte vs Browserless
Compare the session, reconnect and deployment contracts
CNotte vs Cloudflare Browser Run
A browser workflow platform or a Workers composition
ANotte vs AWS AgentCore Browser
Browser workflows with Notte or an AWS tool stack
LNotte vs Lightpanda
Choose a browser engine before comparing its hosting
TNotte vs Tilion
Compare measured sessions and confirm production access
Two other providers, side by side55 comparisons
Choose by the job you need to run20 workload guides
Closer look / Compare browser Functions
What the comparison covers
Sessions cover browser control, lifecycle, state, live view, recording and capacity. Functions cover where browser code runs and how it is deployed, invoked, scheduled and monitored. Auth covers website account state, credential handling and connection readiness.
Each provider's product surfaces stay separate. A hosted agent is not a deployed Function, an API key is not a website login, and a persisted profile is not a guarantee of authentication. The directory links focused comparisons when those differences determine the choice.
Notte
Functions deploy Python code with a run() entry point. Invoke them over HTTP or with an SDK, inspect run history, and roll back code by redeploying an earlier version as the latest version.
Sources: docs.notte.cc ↗
Browserbase
A Function is TypeScript code published with an entry point. Invocation starts asynchronously, creates a browser, passes its connection URL to the handler, and stores the result, logs and session ID. Function webhooks report status changes.
Sources: docs.browserbase.com ↗
Kernel
Deploy a TypeScript or Python App and expose Actions that callers invoke. Kernel co-locates code with the browser environments the app creates. An Action invocation is the execution unit rather than a bare CDP connection.
Sources: kernel.sh ↗
Steel
The reviewed browser documentation establishes sessions, profiles and credentials. It does not establish a hosted Python handler with deployment and invocation APIs. An external worker can control a Steel browser; price and operate that worker separately.
Sources: docs.steel.dev ↗
Choose a practical evaluation
Keep an external runner when you already operate one and need portability. A native execution layer can remove deployment work; browser-local code can reduce repeated network calls. Compare actual workload behavior before assuming either always wins.
A scheduled job should return a verified result and stop its owned browser even when an action fails. The scheduler's successful HTTP trigger is not proof that the browser completed the business operation.
- Confirm the supported language, entry point and dependency packaging.
- Trace deployment, version selection, invocation and cancellation.
- Keep the handler runtime limit separate from browser session duration.
- Decide whether scheduling is native or supplied by another service.
- Associate results and logs with both the code version and browser session.
From a comparison to a working workflow
Start with a short browser task and a pass/fail result. Add the necessary account state, then exercise the production shape: concurrency, duration, triggers and retained artifacts. Keep the provider's documented cleanup flow in place from the first test.
The full directory includes provider comparisons, focused buying questions, workload shortlists, competitor buying guides and migrations to Notte. Use it to resolve a specific implementation decision rather than assuming the most feature-rich or fastest-starting product will fit every job.
Try the workflow
you came here to build.
Keep your own results. Compare them with ours.