Browser automation APIs

Browserbase is the safe agent default, Bright Data wins hard anti-bot targets, Cloudflare is cheapest for benign screenshotting, and self-hosted Playwright suits cooperative targets.

Providers
13
Fields compared
26
Source confidence
33%
Last verified
2026-07-01 (2mo ago)
Re-verified
every 30 days
Data confidence0% of 276 figures verified in the last 30d
81sourced of 27687stale, oldest 2mo ago
13 tools · verified 2mo ago
Anchor Browser logoAnchor BrowserCloud browsers built around authenticated sessions and human takeover86.1

Reliability & anti-bot

Anti-bot pass rate (%)
Stealth mode
Yes
CAPTCHA solving
Yes
Residential proxy
metered-extra
Cold start
·

Features

CDP endpoint
Yes
Playwright
Yes
Puppeteer
Yes
Session persistence
Yes
Live view
Yes
Session replay
Yes
Max concurrency (sessions)
·
File downloads
Yes
Chrome extensions
Yes
Browser regions
·

Agentic

Agent API
Partial
MCP server
Yes
Human handoff
Yes

Pricing

Pricing model
per-hour
Per browser-hour (/browser-hour)
Free tier
Yes

Traction

GitHub stars
·
Funding stage
seed
Open-source core
No

Positioning

Positioning
Cloud browser that keeps your agent logged in
Launched
2024
Browserbase logoBrowserbaseManaged headless browsers for AI agents, with Stagehand as the SDK85.9

Reliability & anti-bot

Anti-bot pass rate (%)
Stealth mode
Yes
CAPTCHA solving
Yes
Residential proxy
metered-extra
Cold start
1s

Features

CDP endpoint
Yes
Playwright
Yes
Puppeteer
Yes
Session persistence
Yes
Live view
Yes
Session replay
Yes
Max concurrency (sessions)
50sessions
File downloads
Yes
Chrome extensions
Yes
Browser regions
us-eastus-west+2

Agentic

Agent API
Partial
MCP server
Yes
Human handoff
Partial

Pricing

Pricing model
per-hour
Per browser-hour (/browser-hour)
$0.1/browser-hour
Free tier
Yes

Traction

GitHub stars
15,000
Funding stage
series-b
Open-source core
No

Positioning

Positioning
Browser infrastructure for AI agents and automations
Launched
2024
Hyperbrowser logoHyperbrowserAgent-first browsers with hosted scrape, crawl and CUA endpoints84.5

Reliability & anti-bot

Anti-bot pass rate (%)
Stealth mode
Yes
CAPTCHA solving
Yes
Residential proxy
metered-extra
Cold start
·

Features

CDP endpoint
Yes
Playwright
Yes
Puppeteer
Yes
Session persistence
Yes
Live view
Yes
Session replay
Partial
Max concurrency (sessions)
·
File downloads
Yes
Chrome extensions
Yes
Browser regions
·

Agentic

Agent API
Yes
MCP server
Yes
Human handoff
Partial

Pricing

Pricing model
per-hour
Per browser-hour (/browser-hour)
Free tier
Yes

Traction

GitHub stars
Funding stage
seed
Open-source core
No

Positioning

Positioning
Browser infrastructure and hosted web agents in one API
Launched
2024
Kernel logoKernelFast-starting browsers plus a runtime for deploying browser agents83.8

Reliability & anti-bot

Anti-bot pass rate (%)
Stealth mode
Yes
CAPTCHA solving
Partial
Residential proxy
metered-extra
Cold start

Features

CDP endpoint
Yes
Playwright
Yes
Puppeteer
Yes
Session persistence
Yes
Live view
Yes
Session replay
Yes
Max concurrency (sessions)
·
File downloads
Yes
Chrome extensions
Yes
Browser regions
·

Agentic

Agent API
Partial
MCP server
Yes
Human handoff
Partial

Pricing

Pricing model
per-hour
Per browser-hour (/browser-hour)
·
Free tier
Yes

Traction

GitHub stars
Funding stage
seed
Open-source core
Partial

Positioning

Positioning
Browsers and a runtime for deploying browser agents
Launched
2024
Airtop logoAirtopNatural-language browser API, describe the page, skip the selectors83.4

Reliability & anti-bot

Anti-bot pass rate (%)
Stealth mode
Yes
CAPTCHA solving
Yes
Residential proxy
included
Cold start
·

Features

CDP endpoint
Partial
Playwright
Yes
Puppeteer
Yes
Session persistence
Yes
Live view
Yes
Session replay
Partial
Max concurrency (sessions)
·
File downloads
Partial
Chrome extensions
Unknown
Browser regions
·

Agentic

Agent API
Yes
MCP server
Yes
Human handoff
Yes

Pricing

Pricing model
per-hour
Per browser-hour (/browser-hour)
·
Free tier
Yes

Traction

GitHub stars
·
Funding stage
seed
Open-source core
No

Positioning

Positioning
Give an AI agent a browser it can use in plain English
Launched
2024
Steel.dev logoSteel.devOpen-source browser API for AI agents, hosted or self-run81.4

Reliability & anti-bot

Anti-bot pass rate (%)
Stealth mode
Yes
CAPTCHA solving
Partial
Residential proxy
metered-extra
Cold start
·

Features

CDP endpoint
Yes
Playwright
Yes
Puppeteer
Yes
Session persistence
Yes
Live view
Yes
Session replay
Partial
Max concurrency (sessions)
·
File downloads
Yes
Chrome extensions
Unknown
Browser regions
us-east

Agentic

Agent API
Partial
MCP server
Yes
Human handoff
Partial

Pricing

Pricing model
per-hour
Per browser-hour (/browser-hour)
Free tier
Yes

Traction

GitHub stars
5,000
Funding stage
seed
Open-source core
Yes

Positioning

Positioning
Open-source browser API purpose-built for AI agents
Launched
2024
Browserless logoBrowserlessSelf-hostable headless Chrome service; BrowserQL for bot-heavy sites80.5

Reliability & anti-bot

Anti-bot pass rate (%)
Stealth mode
Yes
CAPTCHA solving
Yes
Residential proxy
metered-extra
Cold start
·

Features

CDP endpoint
Yes
Playwright
Yes
Puppeteer
Yes
Session persistence
Partial
Live view
Yes
Session replay
Partial
Max concurrency (sessions)
·
File downloads
Yes
Chrome extensions
Partial
Browser regions
us-westeu-west+1

Agentic

Agent API
No
MCP server
Yes
Human handoff
Yes

Pricing

Pricing model
per-hour
Per browser-hour (/browser-hour)
Free tier
Partial

Traction

GitHub stars
10,000
Funding stage
bootstrapped
Open-source core
Yes

Positioning

Positioning
Headless browser automation you can host yourself
Launched
2018
Bright Data Browser API logoBright Data Browser APICDP browsers on a 70M+ residential IP network with challenge handling built in70.7

Reliability & anti-bot

Anti-bot pass rate (%)
Stealth mode
Yes
CAPTCHA solving
Yes
Residential proxy
included
Cold start
·

Features

CDP endpoint
Yes
Playwright
Yes
Puppeteer
Yes
Session persistence
Partial
Live view
Yes
Session replay
Partial
Max concurrency (sessions)
File downloads
Partial
Chrome extensions
Unknown
Browser regions
global

Agentic

Agent API
No
MCP server
Yes
Human handoff
No

Pricing

Pricing model
per-gb
Per browser-hour (/browser-hour)
Free tier
Partial

Traction

GitHub stars
·
Funding stage
later-stage
Open-source core
No

Positioning

Positioning
A CDP browser sitting on the largest residential proxy network
Launched
2023
Apify logoApifyActor platform for scraping and agents, with Crawlee as the open-source core64.6

Reliability & anti-bot

Anti-bot pass rate (%)
Stealth mode
Yes
CAPTCHA solving
Partial
Residential proxy
metered-extra
Cold start
·

Features

CDP endpoint
No
Playwright
Yes
Puppeteer
Yes
Session persistence
Partial
Live view
Yes
Session replay
No
Max concurrency (sessions)
File downloads
Yes
Chrome extensions
Partial
Browser regions
us-easteu-central

Agentic

Agent API
Partial
MCP server
Yes
Human handoff
No

Pricing

Pricing model
per-credit
Per browser-hour (/browser-hour)
Free tier
Yes

Traction

GitHub stars
17,000
Funding stage
series-a
Open-source core
Partial

Positioning

Positioning
Cloud platform for web scraping and browser automation Actors
Launched
2015
ZenRows logoZenRowsScraper API plus a CDP scraping browser on a shared residential pool61.4

Reliability & anti-bot

Anti-bot pass rate (%)
Stealth mode
Yes
CAPTCHA solving
Yes
Residential proxy
included
Cold start
·

Features

CDP endpoint
Yes
Playwright
Yes
Puppeteer
Yes
Session persistence
Partial
Live view
No
Session replay
No
Max concurrency (sessions)
·
File downloads
Partial
Chrome extensions
Unknown
Browser regions
global

Agentic

Agent API
No
MCP server
Unknown
Human handoff
No

Pricing

Pricing model
per-credit
Per browser-hour (/browser-hour)
·
Free tier
Partial

Traction

GitHub stars
·
Funding stage
seed
Open-source core
No

Positioning

Positioning
Anti-bot scraping API with a CDP browser attached
Launched
2021
Self-hosted Playwright logoSelf-hosted PlaywrightThe baseline: run Chromium in your own container and own everything60.3

Reliability & anti-bot

Anti-bot pass rate (%)
Stealth mode
No
CAPTCHA solving
No
Residential proxy
byo-only
Cold start
2s

Features

CDP endpoint
Yes
Playwright
Yes
Puppeteer
Yes
Session persistence
Yes
Live view
No
Session replay
Yes
Max concurrency (sessions)
File downloads
Yes
Chrome extensions
Yes
Browser regions
self-hosted

Agentic

Agent API
No
MCP server
Yes
Human handoff
No

Pricing

Pricing model
infrastructure
Per browser-hour (/browser-hour)
$0.03/browser-hour
Free tier
Yes

Traction

GitHub stars
73,000
Funding stage
open-source
Open-source core
Yes

Positioning

Positioning
The reference point every hosted browser is priced against
Launched
2020
Cloudflare Browser Rendering logoCloudflare Browser RenderingPuppeteer and Playwright bindings for Workers, plus REST render endpoints41.1

Reliability & anti-bot

Anti-bot pass rate (%)
Stealth mode
No
CAPTCHA solving
No
Residential proxy
none
Cold start
·

Features

CDP endpoint
Partial
Playwright
Yes
Puppeteer
Yes
Session persistence
Partial
Live view
No
Session replay
No
Max concurrency (sessions)
30sessions
File downloads
Partial
Chrome extensions
No
Browser regions
global-edge

Agentic

Agent API
No
MCP server
Yes
Human handoff
No

Pricing

Pricing model
per-hour
Per browser-hour (/browser-hour)
$0.09/browser-hour
Free tier
Yes

Traction

GitHub stars
·
Funding stage
public
Open-source core
No

Positioning

Positioning
Headless Chromium as a Workers binding and REST API
Launched
2023
ScrapingBee logoScrapingBeeOne-call HTML API with JavaScript rendering and premium proxy tiers34.4

Reliability & anti-bot

Anti-bot pass rate (%)
Stealth mode
Yes
CAPTCHA solving
Partial
Residential proxy
metered-extra
Cold start
·

Features

CDP endpoint
No
Playwright
No
Puppeteer
No
Session persistence
No
Live view
No
Session replay
No
Max concurrency (sessions)
100sessions
File downloads
No
Chrome extensions
No
Browser regions
global

Agentic

Agent API
No
MCP server
Unknown
Human handoff
No

Pricing

Pricing model
per-credit
Per browser-hour (/browser-hour)
Free tier
Partial

Traction

GitHub stars
·
Funding stage
bootstrapped
Open-source core
No

Positioning

Positioning
Scraping API that handles proxies and headless browsers for you
Launched
2018
yespartialnounknown
Sources shown beside each value · Learn how sourcing works
measured vendor-claimed community inferredExpand any row for the source, verification date, and caveat behind every cell.

Where each one wins

  • Agents operating inside authenticated SaaS dashboards
  • Workflows that hit 2FA and need a human for ten seconds
  • Running password-manager extensions inside a hosted browser

The best answer when your agent's blocker is a login wall rather than a bot wall.

  • Agents that need to stay logged in across runs
  • Teams that want Stagehand's act/extract without losing raw Playwright
  • Anyone who will need a human to take over a stuck session

The most complete developer surface for agent work, and the one to beat, but you pay a premium.

  • Shipping an agent this week without wiring five services
  • Mixed workloads that need both crawling and interactive sessions
  • Trying hosted computer-use loops before building your own

Does more per API call than anyone here; great for shipping fast, wrong for a stable primitive.

Kernel

83.8
  • Latency-sensitive agent loops with chatty CDP traffic
  • Teams happy to deploy agent code onto the vendor's runtime
  • Debugging-heavy workloads that lean on replays

Collapses the network hop by running your agent next to the browser, but you adopt their deployment model.

Airtop

83.4
  • Extraction from sites whose DOM changes constantly
  • Teams without Playwright expertise
  • Authenticated research and monitoring workflows

The highest-level abstraction here: structured data without selectors, a real productivity gain and a real lock-in.

  • Teams with a hard self-host requirement
  • Prototyping agents you may later run on your own hardware
  • Avoiding lock-in without writing your own session manager

The only option that removes vendor risk entirely, thinner than Browserbase but a good trade on cooperative sites.

  • Teams that expect to self-host eventually
  • Screenshot and PDF pipelines at steady volume
  • Declarative unblocking without adopting an agent framework

The pragmatic choice when you may bring everything in-house later, though BrowserQL and the classic API diverge.

  • Hard commercial targets behind enterprise bot management
  • Country-specific access including Australian exits
  • Scraping teams that already buy proxy bandwidth

When the target genuinely fights back, this keeps working, but the developer experience is bare and per-GB punishes.

Apify

64.6
  • Scheduled crawls that need storage, queues and monitoring
  • Reusing an existing Actor instead of writing a scraper
  • Teams standardising on Crawlee

Not really a browser API but a place to run scraping code, with Crawlee excellent and free.

  • Cost-sensitive scraping against moderately protected sites
  • Teams wanting one vendor for both fetch-and-parse and stateful sessions
  • Migrating off a per-request API without changing pricing shape

The value pick for unblocking: most of Bright Data at a lower price, minus the largest IP pool.

  • Internal tools, tests and sites you control
  • Steady, predictable volume where compute cost dominates
  • Anyone needing a browser physically in Australia

Cheapest on compute with the best debugging, and completely defenceless against modern bot detection.

  • Screenshots, PDFs and markdown extraction at scale
  • Teams already on Workers who want zero new vendors
  • Rendering your own properties and public documentation

Unbeatable for rendering pages that aren't fighting you, especially on Workers, but never an unblocking product.

  • One-shot fetches with rendered JavaScript
  • Predictable per-request budgeting
  • Teams that want no session state to manage

Honest, boring and predictable, until your workflow needs three steps and a cookie jar.

Which hosted browser automation API should I use for AI agents and scraping?

  • The category has split into three products that share a name
  • Agent infrastructure (BrowserbaseBrowserbase logo, Steel, HyperbrowserHyperbrowser logo, Anchor, Kernel, AirtopAirtop logo): a browser with live view, profiles and MCP, priced per browser-hour
  • Unblocking infrastructure (Bright Data, ZenRowsZenRows logo, ScrapingBeeScrapingBee logo): a residential IP pool with a browser bolted on, priced per gigabyte or request
  • Platform infrastructure (ApifyApify logo, Cloudflare): somewhere to run code that happens to include Chromium
  • Most common mistake: point a per-hour agent host at a DataDome site, then conclude "browser APIs don't work"
  • For agents, BrowserbaseBrowserbase logo is still the one to beat
  • Not because the browsers are faster, nobody has shown that, but because the surface area is finished
  • BrowserbaseBrowserbase logo: session-surviving contexts, an embeddable live view, extension loading, fetchable downloads, and Stagehand
  • Anchor BrowserAnchor Browser logo is the sharpest alternative if your agent's real problem is logging in
  • AirtopAirtop logo goes furthest the other way: a natural-language extraction API, until you need a selector
  • Kernel and HyperbrowserHyperbrowser logo are both credible and cheaper-feeling, with less track record
  • For unblocking, ignore the agent features entirely and buy IP quality
  • Bright Data's Browser API is expensive per gigabyte and worth it
  • CDP-over-residential-proxy with automatic challenge handling is genuinely hard to operate
  • ZenRowsZenRows logo is the value pick and has closed most of the gap
  • ScrapingBeeScrapingBee logo is not a browser API: an HTML endpoint with JavaScript rendering, no CDP, no session
  • ScrapingBeeScrapingBee logo is priced and documented honestly, fine for one-shot fetches, terrible for multi-step flows
  • MCP servers went from differentiator to table stakes in about nine months
  • By mid-2026 a vendor without one looks abandoned, and the servers are thin wrappers
  • The pricing units are drifting apart on purpose
  • Per-hour, per-session, per-request, per-gigabyte and per-credit cannot be compared without knowing your traffic shape
  • Every vendor picks the unit that flatters it
  • Run a week of your own workload against two providers before signing anything annual
  • Nobody in this category will tell you their real block rate, us included, yet
  • The success-rate column is empty because we have not run the panel, not because vendors declined
  • Treat the anti-bot marketing as unfalsifiable until somebody publishes logs

The pricing trap: per-hour looks cheap until the proxy bill lands

  • A browser-hour at ten cents sounds like nothing
  • A session that idles while an LLM thinks can burn twenty minutes to do ninety seconds of work
  • The real unit is not the hour, it is the hour times your model latency
  • Teams routinely find the browser costs less than the tokens and more than they budgeted, at once
  • The bigger surprise is traffic
  • Every agent-oriented provider prices residential proxy bandwidth separately, near Bright Data's direct rate
  • Most of them resell the same pools
  • A scraping workload pulling images and fonts can move a gigabyte in an afternoon
  • Once you pay for proxy gigabytes anyway, compare BrowserbaseBrowserbase logo plus proxy gigabytes versus Bright Data all-in
  • That comparison is much closer than the sticker prices suggest
  • Watch the concurrency cliff: several vendors gate concurrency by plan tier
  • The constraint that forces an upgrade is parallelism, not usage
  • Three sessions on the entry plan is fine for development, useless for a crawl
  • Check the concurrency number before the hourly rate

Anti-bot is a moving target and every published number is marketing

  • Bot detection vendors ship changes weekly
  • A provider that passes Kasada in March can fail it in April because a signal moved
  • Neither party will announce it
  • Vendor "99% success rate" and "unblockable" claims are unfalsifiable: no date, target list, sample size or definition
  • A single number is the wrong shape for the truth
  • Pass rates vary by detection vendor, target configuration, geography, and cold-versus-cookie sessions
  • A provider can be excellent against Cloudflare and hopeless against DataDome
  • Our panel reports per-site rates alongside the headline
  • While the column is empty: shortlist on capability, then run your own two-week bake-off against your actual targets
  • Log every failure with the challenge type, and re-run it quarterly
  • Nobody's benchmark, ours included, substitutes for testing against the specific site paying your bills

How to actually decide

  • Start with the target
  • Site you control, an internal tool, or a documentation crawl: use Cloudflare Browser RenderingCloudflare Browser Rendering logo or self-hosted Playwright
  • You are buying screenshots and PDFs, not evasion; the agent features are dead weight
  • Authenticated third-party site your agent must log into and stay in: buy persistence and takeover
  • Anchor BrowserAnchor Browser logo or BrowserbaseBrowserbase logo, with a human-in-the-loop path for the 2FA prompt that will appear
  • The failure mode is not blocking, it is a session dying at 2am with no visibility
  • Session replay should carry as much weight as pass rate
  • Protected commercial site you never control: buy the network, Bright Data or ZenRowsZenRows logo, priced per gigabyte
  • Design for retries rather than perfection
  • Do not put an agent framework on top until the fetch layer is reliable
  • If unsure, connect over raw CDP with Playwright from day one
  • That keeps every option here open for the price of an environment variable

What is browser automation apis compared (2026)?

Browser automation APIs compared (2026)

On toolweight, Browser automation APIs compared (2026) means the 13 tools benchmarked on this page, BrowserbaseBrowserbase logo, BrowserlessBrowserless logo, Steel.devSteel.dev logo, HyperbrowserHyperbrowser logo, Anchor BrowserAnchor Browser logo, Kernel, AirtopAirtop logo, Cloudflare Browser RenderingCloudflare Browser Rendering logo, Bright Data Browser APIBright Data Browser API logo, ScrapingBeeScrapingBee logo, ZenRowsZenRows logo, ApifyApify logo, Self-hosted PlaywrightSelf-hosted Playwright logo, judged on the same 26 fields, from the same sources, on the same date. The question it exists to answer: Which hosted browser automation API should I use for AI agents and scraping?

How does toolweight compare these?

  • Capability fields were read off vendor documentation
  • Marked vendor-claimed with the doc URL where the docs are unambiguous
  • Marked inferred where a feature exists but the docs hedge
  • Marked unknown where we could not establish it without an account
  • Pricing uses the cheapest paid self-serve tier
  • Where a product is not billed by time (Bright Data per gigabyte, ApifyApify logo per compute unit, ScrapingBeeScrapingBee logo per credit), the per-browser-hour column is null
  • We do not convert, because it depends entirely on how heavy your pages are
  • The killer field, anti-bot pass rate, is deliberately empty
  • Planned panel: ten publicly reachable sites, plus two commodity storefronts as a control
  • One site each behind Cloudflare managed challenge, Akamai Bot Manager, DataDome, HUMAN/PerimeterX, Imperva, Kasada, F5 Shape and reCAPTCHA Enterprise
  • Fifty attempts per provider per site, cold sessions, no cookie reuse, from three geographies
  • Each provider's own default stealth configuration, nothing hand-tuned
  • Success means reaching a named DOM assertion within 30 seconds
  • A challenge that resolves itself counts; a challenge that stalls does not
  • We publish the pass rate with a 95% confidence interval, the raw logs, and the exact harness commit, and rerun monthly
  • Until that runs, every cell reads unknown
  • We will not print vendor-claimed success rates: that number is marketing everywhere it appears
Full methodology and sourcing policy →
Cite this comparisonCC-BY-4.0 · verified 2026-07-01

Browserbase is the safe agent default, Bright Data wins hard anti-bot targets, Cloudflare is cheapest for benign screenshotting, and self-hosted Playwright suits cooperative targets. — toolweight, https://toolweight.com/compare/browser-automation-apis, verified 2026-07-01. Data from toolweight (https://toolweight.com), licensed CC-BY-4.0.

Frequently asked questions

Why is the anti-bot success rate column empty?

  • We have not run the panel yet
  • Every published number in this category is the vendor's own
  • Filling the column with vendor claims would look complete and be worthless
  • Results ship once the harness has run fifty attempts per provider per site and we can publish the logs

Is a hosted browser API cheaper than self-hosting Playwright?

  • Rarely on raw compute: a Chromium container costs a few cents an hour, hosted browsers start around ten
  • You are buying fingerprint maintenance, the proxy pool, the session viewer and the on-call
  • If targets do not block you and volume is steady, self-hosting wins on cost
  • It loses on the week you spend rebuilding a live view

Do I need residential proxies, or is stealth mode enough?

  • Stealth mode fixes the browser fingerprint
  • It does nothing about IP reputation, and datacentre ranges are the cheapest signal to block
  • Against Cloudflare managed challenge, a patched browser on a clean residential IP usually passes; on an AWS IP usually does not
  • Budget for gigabytes, not just hours

What is the difference between Browserbase and Bright Data's Browser API?

  • BrowserbaseBrowserbase logo sells developer experience: contexts, live view, extensions, downloads, Stagehand, billed per browser-hour
  • Bright Data sells network access: seventy-odd million residential IPs with automatic challenge handling, billed per gigabyte
  • Agent teams pick BrowserbaseBrowserbase logo and add proxies when blocked
  • Scraping teams pick Bright Data and accept a thinner developer surface

Which of these run browsers in Australia?

  • Almost none pin a browser to an Australian region
  • Cloudflare Browser RenderingCloudflare Browser Rendering logo runs across its edge, including Sydney and Melbourne, but exposes no region control
  • Most agent hosts offer US and EU, with Singapore as the nearest Asia-Pacific option
  • For an Australian exit, use an AU residential proxy in front of a US browser, or self-host in ap-southeast-2

Does an MCP server actually matter when choosing?

  • Less than the marketing implies
  • Nearly every vendor shipped one during 2025, and they are thin wrappers over the same REST API
  • An MCP server tells you the vendor is paying attention, not that the browser is good
  • It matters if your agent framework speaks MCP natively; otherwise weight it low

Can I move between providers without rewriting?

  • Over raw CDP with Playwright or Puppeteer, yes: swapping the websocket URL is usually the whole migration
  • On a vendor's proprietary act/extract API, AirtopAirtop logo's natural-language calls or ApifyApify logo's Actor model, expect a rewrite
  • Keeping automation in plain Playwright and treating the provider as a connection string is cheap insurance