rec ▸ session opened 00: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 captured 00: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 /login GET /login
type email · password POST /auth/login
submit · 2FA code POST /auth/2fa
click "Orders" GET /api/orders
filter status=open GET /api/orders?status=open
open order A-2291 GET /api/orders/A-2291
read total · items GET /api/orders/A-2291/items
Compiles to browser The login page renders a CSRF token, so it loads in a real browser.
heal ▸ workflow repaired 00: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 live 00: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 sealed 00: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:

email[email protected]plaintext
passwordhunter2-prod-9fplaintext
2FA (TOTP)seed JBSWY3DPEH...plaintext
env ▸ venue selected 00: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 panel 00: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 · response 00: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 questions 00: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.