Try it
One message, no signup, nothing stored. POST https://api.emailimport.com/try with a raw .eml (content-type: message/rfc822), a PDF (application/pdf), an HTML body (text/html), JSON {"eml": "…"} / {"html": "…", "from": "…", "subject": "…"} / {"text": "…", "attachments": [{"filename": "a.pdf", "mime": "application/pdf", "base64": "…"}]}, or multipart/form-data with files (an .eml, or documents) and text or html. A document without its mail is wrapped into a message and read as an attachment, through the same parser and PDF reader as real mail. For a person: emailimport.com/try, drop or paste and read.
curl -s -X POST https://api.emailimport.com/try -H "content-type: message/rfc822" --data-binary @message.eml
curl -s -X POST "https://api.emailimport.com/try?filename=renewal.pdf" -H "content-type: application/pdf" --data-binary @renewal.pdf
What comes back, all of it from parsing and deterministic rules:
message: sender, recipient, subject, authentication results, whether it was forwarded and by whom, the sanitization flags, and any text that was hidden from a reader.textanddocuments: what a reader would see, and each attachment's extracted text.layout: the structuralfingerprint, thelabelsthe message carries (Order #,Policy number…), the sender domain and its DKIM alignment, the attachment-name pattern. Labels are what a schema'slabeled_valueextractors name.starters: what the two starter schemas read from it, with each field's confidence and source, as examples of what a bucket reads.no_model: no model ran, and none will run on the next message.
Keep it
Send the same request with keep: true (or ?keep=true) and the answer adds a 24-hour sandbox with the message in it: a key, an MCP URL, and a link to the app. From there the emailimport skill takes an agent from the message to a tested bucket: get_message, propose_schema, approve_proposal. See Teaching.
Limits
2 MB per message; five messages an hour from one place; ten a day for the page as a whole. A sandbox takes more: POST https://api.emailimport.com/sandbox, no key needed.
Hosted author
Design 02 describes a hosted author that would propose a schema from the try page's message on Cloudflare Workers AI. It is not built; the owner deferred it. Today the try page shows what the engine reads and the agent writes the schema.
This page as Markdown.