how ▸ pipeline opened 0

From a browser session to a callable endpoint.

Most of the web has no API. Writ closes the gap: build a workflow once, publish it as a REST endpoint and an MCP tool, and call it from your code or your AI agents, on your own accounts, with your own data.

Writ runs on your own accounts, with your own credentials and data, on sites you are authorized to use.
1 Build it once2 Publish it3 Call it from anywhere
rec ▸ recipe authored 1
01
step 1 · build

Three ways to author a workflow

Pick whichever fits the task. Each produces the same editable recipe of 30+ step types: navigate, click, fill, type, select, extract, evaluate (JS), api_call, wait_for_change, twofa, and more.

It is one recipe, however you build it. Start by recording, hand the rest to an AI session, then edit a step by hand - the recipe is the same object the whole way through. Explore every step type in the Workflows overview.

pub ▸ surfaces exposed 2
02
step 2 · publish

One workflow, two callable surfaces

Publishing exposes the same workflow as a stable REST endpoint and an MCP tool at once - with the auth, controls, and analytics you would expect from a first-class API.

REST

REST endpoint

Every workflow gets a stable URL at /v1/{slug}/{path}. Secure it with scoped wt_ keys, per-partner consumer keys, and HMAC-signed webhooks. Front it with your own branded domain.

API reference →
MCP

MCP tool

The same workflow appears as an MCP tool - with a typed input schema and structured output - that Claude, Cursor, and any MCP client can call. Runs are gateway-mediated, metered, and logged.

MCP guide →
call ▸ endpoint invoked 3
03
step 3 · call

Built to be called - by your code and by your agents

Invoke the workflow over REST, over MCP, from a no-code tool, on a schedule, or from a webhook. Same engine, your choice of caller.

$ curl https://api.usewrit.app/v1/acme-portal/orders \ -H "Authorization: Bearer wt_..." \ -d '{"order_id":"A-2291"}' # → { "status": "ok", "order": { "id": "A-2291", … } }
net ▸ hard web handled 4
04
reliability

It works on the hard web - and survives the UI changes that snap scripts

The parts that matter sit behind logins and dynamic pages. Writ handles them as authorized actions on accounts you control.

Login and 2FALogin walls, TOTP authenticator codes, and mailbox-OTP two-factor - handled on your own authenticated accounts via reusable Personas.
Survives UI changesRecorded recipes plus AI navigation adapt when a page moves, instead of snapping the way brittle CSS scripts do on the next redesign.
Dynamic and multi-tabReal Chromium handles JS-heavy pages, infinite scroll, multi-tab flows, and wait_for_change - the cases that defeat ordinary extraction scripts.
run ▸ local or cloud 5
05
where it runs

Free on your machine, or managed in our cloud

Same engine, your choice. A local agent runs on your own hardware with no compute charge and reaches systems the cloud cannot; the managed cloud is the always-on convenience layer.

Local / BYO agent

  • No compute charge - you provide the machine.
  • Reaches intranet, localhost, LAN, and VPN-only systems.
  • Bring your own AI keys, stored locally and unbilled.
BYO & cloud agents →

Managed cloud

  • Nothing to install; runs while your laptop is closed.
  • Reliable, consistent runs at scale on a managed fleet.
  • Metered by actual running time (~$0.12 per browser-hour) from your plan’s included usage.
Compare plans →

Local and BYO runs are free and unlimited on every plan, including Free - never metered, never billed. Paid plans buy cloud running time, faster monitor cadence, and fleets.

watch ▸ change fires it 6
06
Watch-and-Act

Don't just call it - let a change call it for you

Point a Monitor at any page and Writ checks it as often as every 10 seconds. The moment something changes - back in stock, an opening, an appointment - the change becomes a trigger that fires your approved workflow in seconds.

1WatchMonitor any page, as fast as every 10s.
2DetectThe change becomes a trigger.
3ActYour workflow fires in seconds.

Explore Watch-and-Act →

ai ▸ where it helps 7
07
Honest framing

Deterministic-first, and AI where it genuinely helps

"Deterministic" does not mean "no AI". Writ leans on AI for exactly the moments intelligence pays off: figuring a task out, navigating the parts of a page that change, and recovering when a site is redesigned. The replay stays deterministic; the smarts show up where they matter.

AI sessions author the workflowDescribe the goal and an AI session drives a live browser to build the recipe for you, the same way a person would record it, only faster. AI does the hard, one-time work of figuring the task out.
AI Navigate steps for the parts that varyWhere a page genuinely changes shape between runs, an ai_navigate step reasons toward the goal at run time. It is used deliberately, on the steps that need it, not as the whole engine.
AI auto-repair on driftWhen a redesign moves things, an AI step can recover the path instead of failing the run, so your endpoint keeps answering through UI updates rather than paging you at 2am.

Where a pure AI agent is the better tool. For a genuinely novel, one-off task (a site you have never mapped, a goal you will run exactly once), a pure AI-runtime agent is a great fit, and the setup-free convenience is worth the variable cost. Writ's edge is the opposite case: the moment a task is worth doing twice, authoring it once and replaying it deterministically is cheaper, steadier, and callable.

faq ▸ questions logged 7
08
faq

Questions teams ask first

What does "turn a website into an API" mean?

You record or describe a browser task once. Writ saves it as a recipe and exposes it as a REST endpoint at /v1/{slug}/{path} and an MCP tool, so your code or your AI agents can call it like any other API - even though the underlying site never shipped one.

Where do my runs execute?

On your own machine via a free local agent, or on the managed cloud fleet. Local runs carry no compute charge and can reach intranet, localhost, and VPN-only systems the cloud cannot; cloud runs are metered by actual running time (~$0.12 per browser-hour, from your plan’s included usage).

Do I need to write code to build a workflow?

No. Record it in the browser or describe the goal in plain language and let an AI session author the steps. Developers can still edit the recipe step by step and call the result over REST or MCP - but building requires no code.

Does it handle logins and 2FA?

Yes, on your own authenticated accounts - TOTP and mailbox-OTP two-factor and login walls. Personas carry your logged-in identity safely. Writ runs on your own accounts, with your own credentials and data, on sites you are authorized to use.

Can my AI agents call a workflow directly?

Yes. Every published workflow is an MCP tool, so Claude, Cursor, and any MCP client can call it. It is also a plain REST endpoint with scoped wt_ keys and per-partner consumer keys.

What happens when the site changes?

Recorded recipes combined with AI navigation adapt to layout changes, so the tool keeps working when the page moves. You can also re-record or edit any step at any time.

go ▸ first workflow 8

Turn the web you depend on into something you can call

Build your first workflow in minutes - record it, describe it, or discover it. Start free on your own machine.

No credit card. Free forever on your own machine.