Skip to content
Early Access 300+ developers joined Shipped today — POST /v1/parse • JSON Schema validation • Synchronous JSON response

Your email becomes an API

Stop maintaining brittle extraction pipelines. MailFrame turns raw email into typed, schema-validated JSON — returned synchronously via a single API call. One API call. One schema. Zero regex. (Inbox forwarding, webhooks, and PDF & image input are on the roadmap.)

Raw email + schema
POST /v1/parse
Typed JSON response
The Problem

Ingesting documents today is a maintenance nightmare

Every team building document ingestion ends up maintaining the same fragile infrastructure.

Regex Spaghetti

Hand-crafted regex patterns that break the moment Stripe changes their email template. You maintain parsers, not products.

Brittle GPT Wrappers

A Python script that calls GPT with a prompt. No schema validation, no typed output, no monitoring. Breaks silently in production.

Zapier Chains

Multi-step Zaps held together with duct tape. No error handling, no observability, no schema enforcement. Good for prototypes, dangerous in production.

Silent Bad Data

A field changes shape and malformed values flow straight into your database. Nobody notices until a customer does.

How It Works

One request in, typed JSON out

Send raw email and a JSON Schema to POST /v1/parse — the same HTTP response carries typed, schema-validated JSON.

Server-to-server

Direct API

Send raw email (MIME) plus JSON Schema via POST /v1/parse and get typed JSON back synchronously.

import { MailFrame } from "...";
const mf = new MailFrame({ apiKey: "..." });
const result = await mf.parse({
  raw_mime: "From: receipt@stripe.com\n...",
  schema_id: "stripe-receipt",
});
console.log(result.data);
200 OK · Synchronous response
{
  "id": "parse_abc123",
  "status": "completed",
  "data": {
    "receipt_id": "pi_abc123",
    "amount_cents": 2999,
    "currency": "usd",
    "paid_at": "2026-05-21T17:30:00Z",
    "customer_email": "user@example.com",
    "card_last4": "4242",
    "card_brand": "visa"
  }
}

Roadmap On the roadmap, not yet available: inbox forwarding to a provisioned address, async and batch parsing, and signed webhook delivery.

Live Demo

Paste an email.Get JSON.

Try it yourself — runs in your browser, no signup. Paste any receipt, invoice, or order email below.

Input — Raw Email
287 chars
Output — Structured JSON

Press "Extract JSON" to see results

This preview runs entirely in your browser. It uses simple pattern-matching and never sends your text anywhere — so it only reports fields it can actually find. The production MailFrame API does more: LLM extraction against your own JSON Schema, returning typed, schema-validated JSON synchronously in the POST /v1/parse response.

Why MailFrame

Built for production, not prototypes

Feature MailFrame DIY + GPT Zapier OCR Tools
Schema enforcement Yes No No No
Integration One API call Prompt + glue code Multi-step Zap Upload + post-process
Input formats Email (PDF/image planned) API only Email only Scanned documents
Pricing model Per parse op Per LLM token Per task Per page

MailFrame is built for developers who need schema-validated JSON, with validation errors reported in the response instead of silently passed downstream.

On the roadmap, not yet available: inbox forwarding, signed webhooks, async and batch parsing, and confidence scoring.

Example Responses

What /v1/parsereturns

Illustrative emails and the synchronous JSON response each one returns — including how a schema mismatch is reported.

Raw input
From: receipts@stripe.com
Subject: Receipt from Stripe - pi_abc123
Date: Thu, 21 May 2026 10:30:00 -0700
To: user@example.com

Thanks for your payment of $29.99 to Acme SaaS Inc.

Receipt ID: pi_abc123xzy
Amount: $29.99
Card: Visa ending in 4242
Typed output
API response

Request lifecycle

Request
POST /v1/parse
Auth
API key + quota
Parse
MIME extraction
Extract
LLM
Validate
Schema OK
Respond
200 OK JSON
Endpoint
POST /v1/parse
Raw MIME + JSON Schema in
Response
Synchronous JSON
Returned in the same HTTP response
Schema validation
Draft 2020-12
Every field typed & checked
Validation errors
Reported inline
Listed in validation_errors
Auth
API keys
Bearer token per request
Roadmap
Planned, not yet available
Planned: signed webhooks, async/batch parsing, inbox forwarding
Every response includes the parse id, its status, and any schema validation errors.
Limited beta

Apply for Early
Developer Access

We're onboarding developers in batches to ensure quality. Submit your application and we'll follow up within a week.

No spam. No sharing your data. Rolling out weekly.