rec ▸ session opened00:00:00

One website.
One stable API.

Record a task once, or describe it. Writ replays it reliably, repairs it with AI when the site shifts, and publishes it as a REST endpoint and MCP tool your software and agents can call.

free plan · unlimited local runs · no credit card
acme-portal.com/orders RECORDED
Browser steps: what a person does
●open /login· · ·
●type email · password· · ·
●submit · 2FA code· · ·
●click "Orders"· · ·
●filter status=open· · ·
●open order A-2291· · ·
●read total · items· · ·
▸
API: what Writ compiles
nothing here yet — the API appears at compile
POST /auth/sessionbrowser · holds login + 2FA
GET /orders/A-2291direct HTTP · reuses session
Press Compile — watch seven browser steps become two API calls.
42s ▸ 42.0s7 steps recorded
✓ REST endpoint ready✓ MCP tool ready✓ OpenAI-compatible
rec ▸ step captured00:00:04
01
record · replay

Record it once. It replays forever.

A recording isn't a video, it's two synced layers. Scrub the tape: each step shows the click a person makes, the network request it fires, and how Writ routes it. That two-layer capture is what turns one website into one stable endpoint.

open /loginGET /login
type email · passwordPOST /auth/login
submit · 2FA codePOST /auth/2fa
click "Orders"GET /api/orders
filter status=openGET /api/orders?status=open
open order A-2291GET /api/orders/A-2291
read total · itemsGET /api/orders/A-2291/items
Compiles tobrowserThe login page renders a CSRF token, so it loads in a real browser.
heal ▸ workflow repaired00:00:11
02
ai auto-repair

When the site changes, the API doesn't.

A scraper breaks the day a button gets renamed. Writ falls back to the request it captured and re-derives the workflow with AI, so the endpoint stays up. Try it:

◷ acme-portal/orders · every 15m
Two green runs on schedule. Rename a selector to see what happens.
pub ▸ endpoint live00:00:16
03
publish

Call it as REST or MCP. Or make it a monitor.

One recording ships as any surface. The same compiled workflow becomes a REST endpoint, an MCP tool your agents can call, a schedule, or a change monitor. Pick one without re-recording.

◐ one recording · acme-portal/orders
sec ▸ secret sealed00:00:21
04
credentials · personas

Sign in once. Writ holds the keys, sealed.

Logins, tokens, and TOTP live in a persona: sealed at rest, referenced as {{secret:key}}, never shown to the model. Seal them:

emailops@acme.coplaintext
passwordhunter2-prod-9fplaintext
2FA (TOTP)seed JBSWY3DPEH...plaintext
env ▸ venue selected00:00:26
05
run it your way

Local, self-hosted, or managed cloud.

The same API runs wherever you want it. Local is free and unlimited; cloud is metered by runtime. Pick a venue:

ui ▸ the discovery panel00:00:36
06
in the recorder

Automatic API optimization

GET /internal/productsselected
params: category, page
extract: $.results[*]
pagination: $.paging.next
Publish as API

Pick the data-returning call; Writ turns it into a parameterized endpoint.

dev ▸ 200 · response00:00:44
07
developers

Call it from anything.

Hand-written SDKs in four languages, an OpenAI-compatible endpoint, and MCP out of the box. Pick a language and call your endpoint:

response
// press Run to call the endpoint
faq ▸ common questions00:00:52
08

Questions, answered

What exactly does API capture record?
The network requests the page makes to its own backend while you use it - the same calls the site's own UI relies on. Writ reads their shape and turns the relevant one into a parameterized workflow step.
Do I need to choose between recording and API capture?
No. Record the website task once. Writ automatically observes the underlying network calls, uses direct HTTP where faithful, and keeps browser execution wherever it is necessary.
Does this run on my own account?
Yes. Discovery happens while you use the site yourself, on your own authenticated account, on sites you are authorized to use. It reads the calls your own browser already makes.
Can I combine discovery with recorded or AI steps?
Yes. A discovered call is just another step type. Mix it with deterministic recorded steps and AI steps in one workflow.
What do I do with the result?
Publish the workflow as a REST endpoint and an MCP tool, run it on a schedule or from a Monitor, or share it as an installable workflow template.