Providers

Providers

Every browser backend the package ships with its key and how it scrapes and what a real scrape of example.com gave back
providers()8 providers · registry order
Needs
Steelsteelone call4 / 13STEEL_API_KEY12,348 chars of html
Browserbasebrowserbaseone call3 / 13BROWSERBASE_API_KEY209 chars of markdown
Kernelkernelin a session6 / 13KERNEL_API_KEY12,363 chars of html
Browserlessbrowserlessone call8 / 13BROWSERLESS_API_KEY12,364 chars of html
Hyperbrowserhyperbrowserone call7 / 13HYPERBROWSER_API_KEY167 chars of markdown
Anchoranchorno scrape3 / 13ANCHOR_API_KEYrefused, no page
Cloudflarecloudflareone call10 / 13CF_API_TOKEN and CF_ACCOUNT_ID886 chars of markdown
Playwrightplaywrightone call9 / 13no key917 chars of text
flags from the library / scrape of example.com recorded 2026-09-29ops counts a session-only one

Flags come from capabilities() on a live instance, read when this site was built. The last column is one recorded browsers_scrape of https://example.com per provider, so you can see what "scrape" means to each of them. Sort by it. The spread is the whole reason this package exists.

Picking one

For a first try, or anything on your own machine, Playwright. No key, no bill, real Chromium.

For a lot behind one key, Cloudflare. Links, extract, crawl jobs and the accessibility tree all come out of Browser Run.

For search, Hyperbrowser, the provider with a search route. The grid on the home page shows who else has what.

For a remote browser you drive yourself over CDP, any of them except Playwright. That's where Kernel, Browserbase and Anchor make more sense than their scrape column suggests.

Missing a vendor? Custom providers is one file.