BetaNow onboarding from the waitlist

Turn the World into a function

Schema is the API for everything on the web. Say what you need in plain English, and Schema turns it into function calls, runs them, and hands back the answer — fast enough to book a flight before you’d finish typing the request yourself.

Summon it from anywhere with Space

Ask Schema anything
Ready
Google FlightsAmazonOpenTableAirbnbZillowBest BuyExpediaTicketmasterCraigslistWikipediaTargetKayak

The web has one interface, and it was built for people. We’re building the second one.

Read the vision
01Examples

If you can ask for it, Schema can go get it

Flights, carts, reservations, bills, fine print. You describe the outcome, Schema turns it into function calls, and the typed results come back as clean Markdown: tables, checklists, quotes, whatever fits.

Travel2 calls · 4.1s

Find a nonstop to Lisbon under $700 the second week of May

  1. flights.search(to: "LIS", max_price: 700, nonstop: true)
  2. flights.hold(id: "TP202", seat: "23A")

3 nonstops under $700

FlightRouteDepartsPrice
TAP 202EWR → LISSun, May 11 · 7:50p$642
United 64EWR → LISMon, May 12 · 5:35p$671
TAP 204JFK → LISTue, May 13 · 9:10p$688

Seat 23A held on TAP 202. Press ⌘↵ to book it.

Errands2 calls · 3.9s

Get me the earliest DMV slot for a license renewal

  1. dmv.appointments(type: "renewal", sort: "earliest")
  2. dmv.hold(slot: "2026-10-06T09:20")

Tue, Oct 6 at 9:20am · Fell St

  • Appointment held
  • Confirmation DMV-7Q2K
  • Bring your current license
  • $38 renewal fee
Research1 call · 1.9s

What’s the return window on this jacket, and is shipping free?

  1. store.policy(topic: "returns")

30 days

Returns ship free, with one catch:

“Items must be unworn with original tags attached.”

Returns policy, §4.2

Shopping1 call · 3.4s

Compare what the filters cost for these three air purifiers

  1. products.compare(ids: [3], fields: ["price", "filter_cost"])

The cheapest to buy isn’t the cheapest to own

PurifierPriceFilters / yr3-yr total
Coway 200M$229 $149$34$251
Levoit 400S$219$58$393
Blueair 211i$319$71$532
Dining2 calls · 2.7s

Book a table for four somewhere quiet near Union Square at 7:30

  1. reservations.search(near: "Union Square", party: 4, at: "19:30")
  2. reservations.book(venue: "Cotogna", slot: "19:30")

Booked · Cotogna

  1. 1Checked 6 spots within a 10-min walk
  2. 2Ruled out 4 with “loud” in reviews
  3. 3Reserved 7:30pm, party of 4

Confirmation OT-55190

Bills2 calls · 5.4s

Log into PG&E and pay this month’s bill

  1. pge.sign_in(credentials: vault("PG&E"))
  2. pge.pay(amount: 112.40, from: "checking")

$112.40

Paid from checking ••4417

  • Due Oct 14, paid Sep 23
  • Receipt sent to your inbox
From your Vault:PG&E password2FA code
Work1 call · 6.3s

Check our registrar for any domains expiring this quarter

  1. registrar.domains(expiring_before: "2026-12-31")

2 of 8 expire before Dec 31

  • schema.dev · Nov 14 · auto-renew off
  • getschema.co · Dec 2 · auto-renew off

The other 6 renew automatically.

From your Vault:Registrar loginWork email
02Features

Fast because there’s nothing to click

Schema doesn’t wait for pages to load or hunt for buttons. It calls functions, gets typed responses, and moves on.

Every site, as functions

Schema maps a website into callable functions with typed arguments. Search, filter, book, pay: each one is a call, not a sequence of clicks.

Calls, not clicks

No waiting for pages to render or buttons to appear. A call goes out, a typed response comes back, and Schema moves on.

Errors it can actually handle

A failed call returns a real error, not a frozen spinner. Schema fixes the arguments, tries again, and keeps going until the goal is met.

Speak it instead

Real-time macOS dictation is built into the bar. Say the task, get the answer.

Answers, not logs

Typed responses come back into the same bar as clean Markdown: the flight, the price, the confirmation.

Runs on your Mac

Schema is a standalone app, not a browser extension. Your Vault stays encrypted on your machine.

03Workflow

Four keystrokes between you and done

Schema lives one shortcut away. It’s built for the tiny errands you’d otherwise open six tabs for.

Space

Summon it anywhere

The bar opens on top of whatever you’re doing. No tab to find, no app to switch to.

Type it or say it

Plain English works. So does talking — dictation is built in and transcribes as you speak.

Schema makes the calls

Your request becomes a handful of function calls. You watch them go by in the bar: no windows, no tabs, no cursor.

Confirm what matters

Anything that spends money or can’t be undone waits for your go-ahead. Everything else just happens.

04Vault

Logs in for you. Never sees your password.

Connect passwords, 2FA codes, emails, usernames, or any other secret to your Vault. Schema can pass them into any call that needs them, but the model itself never gets to read them.

Encrypted on your Mac
Secrets are encrypted and stored on device, and only unlocked when a task needs one.
Invisible to the model
Schema asks for a secret by name. The Vault passes it straight into the function call, so the value never enters the model’s context.
Fetched only on demand
Nothing is loaded up front. A secret is retrieved at the moment the model calls for it, and not before.
2FA included
Store one-time codes alongside passwords, so logins with two-factor don’t stall halfway through.
Vault
Encrypted on this Mac
  • PG&EPassword••••••••••••
  • PG&E2FA code••• •••
  • Work emailEmailk••••@schema.dev
  • RegistrarUsernameschema-ops
  • Frequent flyer #Secret••••••7731
Model sees
vault("PG&E")
Call receives
••••••••••••
05How it behaves

Built to feel instant, not clever

Speed isn’t a setting Schema turns on. It’s the default, and everything else is the exception.

  1. 01

    Maps before it acts

    Schema turns a site into typed functions first, so it knows exactly what’s possible before it does anything. No fixed scripts to break when a site changes.

  2. 02

    Calls the instant it’s sure

    Routine calls go out immediately. There’s no waiting around for a slow model to confirm the obvious.

  3. 03

    Thinks only when it has to

    Real judgment calls — which fare, which result, which arguments — get the deeper reasoning they deserve, and nothing else does.

  4. 04

    Keeps going until it’s done

    A failed call comes back as a typed error. Schema adjusts and retries, and only stops once the goal is verifiably met.

06Speed

Most agents spend their time clicking. Schema just calls.

Browser agents are slow because they act like people: wait for the page, look, click, repeat. Schema skips the performance. It calls functions directly and saves the deeper thinking for the few moments that need it.

One flight, request to confirmation
Schema4.8s
Typical browser agent22s
Doing it yourself~95s

Illustrative benchmark on a fixed Google Flights route. Your mileage will vary with the site.

4.8s
Flight booked end-to-end on Google Flights
0
Clicks, scrolls, or page loads
~90%
Of calls made without a slow model in the loop
24/7
Same speed, no warm-up, no rate-limit wall
07The bigger idea

Machines shouldn’t have to pretend to be people

Every AI agent today does the same odd thing: it looks at a page designed for human eyes, finds a button sized for a human finger, and clicks it. That’s the wrong abstraction. Machines talking to machines should work fundamentally differently than people talking to machines, so Schema skips the screen entirely.

Humans click. Machines call.

Humans read pages. Machines read types.

Humans wait for things to load. Machines get a response.

Human → machine
Machine → machine
Pages, buttons, forms
Functions with typed arguments
Look around, scroll, guess
Read the schema
Click, type, wait
One call with arguments
Whatever renders
A typed, validated response
A spinner that never ends
An error you can handle
Seconds per step
Milliseconds per call
  1. Now

    The API for everything

    The Schema app turns today’s websites into functions it can call, so your requests become calls and typed answers instead of clicks.

  2. Next

    Sites that speak machine natively

    Schema for sites lets businesses publish their own typed functions and decide exactly what every agent can call.

  3. Eventually

    Everything is callable

    Every booking, purchase, form, and lookup on the internet becomes a function with a signature. The world, turned into an API.

08Schema for sites

Your website, as an API for every agent

This is the vision, shipped for businesses. Schema turns your site into a machine-friendly representation: agents stop clicking through pages built for a mouse and start calling functions, getting typed responses back in milliseconds.

acme-air.com
4 functions
Call
search_flights({ from: "SFO", to: "JFK", date: "2026-10-02", nonstop: true })
Response · Flight[]200 · 38ms
[
  {
    "id": "AC916",
    "departs": "07:05",
    "arrives": "15:37",
    "price": {
      "amount": 187,
      "currency": "USD"
    },
    "seats_left": 4
  },
  {
    "id": "AC1428",
    "departs": "09:40",
    "arrives": "18:15",
    "price": {
      "amount": 204,
      "currency": "USD"
    },
    "seats_left": 11
  }
]
  1. 01

    Put Schema in front of your site

    Like a CDN. No rebuild, no new backend. Your pages for people stay exactly as they are.

  2. 02

    Choose what’s callable

    Schema maps your site into functions with typed arguments. You decide which ones agents can see, and nothing else becomes reachable.

  3. 03

    Agents call, Schema performs

    An agent sends arguments, the action is carried out for it, and a typed, validated response comes back. No scraping, no guessing.

  4. 04

    One integration, every agent

    Whichever model or assistant shows up, it gets the same fast, structured way in. You don’t build one integration per AI provider.

09FAQ

Questions, answered

Something else on your mind? Get in touch.

Stop clicking. Start calling.

Schema is in private beta for macOS. Join the waitlist and we’ll email you a download link as spots open up.

Apple silicon · macOS 14 or later · Free during beta

  1. 1

    Join the waitlist

    Takes under a minute.

  2. 2

    Get your download link

    We email it as spots open up.

  3. 3

    Sign in with the same email

    Use the address you joined the waitlist with.