The browser API for humans & AI.

Chrome browsers in our cloud, three layers to drive them. Start with the Step API: 20 functions that navigate, click, type, scrape, solve captchas, and call AI mid-run, so you write less code. Drop to CDP for raw control, or run whole automations over REST.

Get API key

Try for free, with 2 hours of runtime.

Start here

The Step API: the No-Code Tool's engine, as functions.

Twenty functions that each do a whole job: navigate, click, type, solve a captcha, scrape a paginated list, run an AI prompt mid-session. Call them from Node, a CDP client, or an agent over MCP.

Explore the Step API

Write less code

In Puppeteer or Playwright you write the mechanics yourself: waitForSelector, $$eval, click next, wait, loop. A step is that sequence already written. Pass it what it needs: click takes the button selector, scrape takes the data selector, the next-page selector, and a result count. A dozen lines come out as one.

Drive it from an MCP client

Give your agents hands on a real browser. The steps become tools an MCP client calls on its own: scrape a page for the data it needs, or chain a series to log in, fill a form, and read the result back. Claude, Cursor, or an agent you built yourself, all on your account key. The axiom.ai MCP server ships in the next release.

Mix with the other layers

Steps are ordinary async functions, so they can sit in the middle of the JavaScript you already write. Pull rows from your database and loop them through a step. Drop to raw CDP with Puppeteer or Playwright when a step doesn't cover something, then carry on with steps in the same session, on the same browser.

Error handling built in

The steps run on the same engine as the No-Code Tool, so they wait for elements, retry flaky actions, and time out sensibly by default. Long-running steps poll transparently until they finish.

Step API
1import { AxiomApi } from 'axiom-api';2 3const axiom = new AxiomApi(process.env.AXIOM_API_KEY);4 5await axiom.browserOpen();6try {7  await axiom.goto("https://example.com/products");8  await axiom.click("button[data-load-more]");9  const rows = await axiom.scrape({ maxResults: 200 });10  console.log(rows.length);11} finally {12  await axiom.browserClose();13}
Scrape 200 rows in four lines.Step API docs

Backed by

Combinator

800,000

+

Total bots run

12.5M

+

Total runtime

300,000

+

Total users

Docs

Every layer, documented.

Quickstarts, worked examples, and full endpoint references for each layer. Start with the quickstart, generate a key, and build from there.

Start with the quickstart

Agents

Coming soon: agents drive the API layers

Interested in what we're building? Contact support for early access.

Contact support

Agents build the bot

Give an agent a prompt. It authors the automation itself, with the same compiler the Builder uses.

Runs on the same layers

It tests its work on the same cloud browsers and reads the same run reports you do.

Fixes until it works

Failed run, read the errors, revise, re-run. It pulls you in when a decision needs a human, not for every retry.

Standard MCP tools, same key

Build, run, observe, and fix will ship as MCP tools. Any agent with an axiom.ai API key can run the loop.

Get an API key and try every layer for free.

2 free hours of runtime. No card required.