Skip to main content

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.

02 / Measured, with context

A fast start.
Then the work itself.

Opening a browser and completing a task are different measurements.

Explore BrowserArena
Lower is better
Tilion
124 ms
Notte
332 ms
KERNEL
334 ms
Browser Use
442 ms
Lightpanda
488 ms
Browserbase
600 ms
Cloudflare
769 ms
Hyperbrowser
878 ms
Steel
1,496 ms
Anchor Browser
2,433 ms
AWS AgentCore
2,791 ms
Browserless
N/A

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
ProviderLifecycle dateRunsLifecycle successBrowser regionRunnerThroughput dateTask success
Browserless2026-10-181000%us-westus-west-1 / t3.small2026-10-18Configuration failure
Tilion2026-10-1810099%us-east-1us-east-1 / t3.medium2026-10-17100%
Notte2026-10-18100100%us-west-2us-west-1 / t3.small2026-10-1891%
KERNEL2026-10-1810086%us-east-1us-east-1 / t3.medium2026-10-1769%
Browser Use2026-10-18100100%us-east-1us-east-1 / t3.medium2026-10-1794%
Lightpanda2026-10-18100100%us-west-1us-west-1 / t3.small2026-10-18100%
Browserbase2026-10-18100100%us-west-2us-east-1 / t3.medium2026-10-17100%
Cloudflare2026-10-18100100%globalus-east-1 / t3.medium2026-10-17100%
Hyperbrowser2026-10-18100100%us-east-1us-east-1 / t3.medium2026-10-1787%
Steel2026-10-18100100%us-east-1us-east-1 / t3.medium2026-10-17100%
Anchor Browser2026-10-18100100%us-east-1us-east-1 / t3.medium2026-10-17100%
AWS AgentCore2026-10-18100100%us-east-1us-east-1 / t3.medium2026-10-1751%

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.

Where your browser code runsA deployed handler, a browser-local action, a hosted agent and an external worker are different execution contracts.
ProviderExecution pathScheduled work
NottePython FunctionsNative
BrowserbaseTypeScript FunctionsExternal trigger path
KernelTypeScript / Python AppsApp invocation path
SteelExternal workerExternal scheduler
HyperbrowserSeparate execution optionsCheck execution setup
Anchor BrowserAutomation TasksTask execution path
Browser UseExternal worker or hosted agentCheck execution setup
BrowserlessProduct-dependent executionExternal scheduler
Cloudflare Browser RunWorkers compositionWorkers trigger composition
AWS AgentCore BrowserExternal AWS computeExternal scheduler
LightpandaExternal workerExternal scheduler
TilionNot establishedNot 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.

Estimated monthly spend$20.00

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 details

Browser 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.

Two other providers, side by side55 comparisons
Browserbase vs KernelBrowserbase vs SteelBrowserbase vs HyperbrowserBrowserbase vs Anchor BrowserBrowserbase vs Browser UseBrowserbase vs BrowserlessBrowserbase vs Cloudflare Browser RunBrowserbase vs AWS AgentCore BrowserBrowserbase vs LightpandaBrowserbase vs TilionKernel vs SteelKernel vs HyperbrowserKernel vs Anchor BrowserKernel vs Browser UseKernel vs BrowserlessKernel vs Cloudflare Browser RunKernel vs AWS AgentCore BrowserKernel vs LightpandaKernel vs TilionSteel vs HyperbrowserSteel vs Anchor BrowserSteel vs Browser UseSteel vs BrowserlessSteel vs Cloudflare Browser RunSteel vs AWS AgentCore BrowserSteel vs LightpandaSteel vs TilionHyperbrowser vs Anchor BrowserHyperbrowser vs Browser UseHyperbrowser vs BrowserlessHyperbrowser vs Cloudflare Browser RunHyperbrowser vs AWS AgentCore BrowserHyperbrowser vs LightpandaHyperbrowser vs TilionAnchor Browser vs Browser UseAnchor Browser vs BrowserlessAnchor Browser vs Cloudflare Browser RunAnchor Browser vs AWS AgentCore BrowserAnchor Browser vs LightpandaAnchor Browser vs TilionBrowser Use vs BrowserlessBrowser Use vs Cloudflare Browser RunBrowser Use vs AWS AgentCore BrowserBrowser Use vs LightpandaBrowser Use vs TilionBrowserless vs Cloudflare Browser RunBrowserless vs AWS AgentCore BrowserBrowserless vs LightpandaBrowserless vs TilionCloudflare Browser Run vs AWS AgentCore BrowserCloudflare Browser Run vs LightpandaCloudflare Browser Run vs TilionAWS AgentCore Browser vs LightpandaAWS AgentCore Browser vs TilionLightpanda vs Tilion
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.

Less guessing. A working browser.

Try the workflow
you came here to build.

Start with Notte Read the docs ↗

Keep your own results. Compare them with ours.