Amazon sends order confirmation and shipment notification emails for every purchase, but the data is buried in dense HTML across multiple email variants. MailFrame pulls the order ID, every line item, the estimated delivery date, and the seller into a consistent typed JSON object you can act on immediately.
It works on “Order Confirmation”, “Your order has shipped”, and “Delivered” notification emails from Amazon.com and international Amazon storefronts.
Fields MailFrame extracts
| Field | Type | Example | Notes |
|---|---|---|---|
order_id | string | 113-1234567-1234567 | Amazon order ID in NNN-NNNNNNN-NNNNNNN format |
items | array | see output | Each item: title, quantity, price_cents |
order_total_cents | integer | 3498 | Grand total charged in minor units |
currency | string | usd | ISO 4217, lower-cased |
ship_to_name | string | Morgan Chen | Recipient name on the shipping address |
estimated_delivery | string | 2026-05-24 | Estimated or confirmed delivery date, ISO 8601 |
order_date | string | 2026-05-21 | Date the order was placed, ISO 8601 |
seller | string | Amazon.com | Fulfilled by Amazon or third-party seller name |
Sample input
A typical Amazon order confirmation email looks like this:
From: auto-confirm@amazon.com
Subject: Your Amazon.com order of "USB-C Charging Cable..." has shipped!
Date: Thu, 21 May 2026 09:14:00 -0800
To: morgan@example.com
Hello Morgan,
Your package is on its way!
Order #113-1234567-1234567
Placed: May 21, 2026
Estimated delivery: Sunday, May 24, 2026
Items shipped:
Anker USB-C Charging Cable 6ft (2-Pack) Qty: 1 $12.99
Screen Cleaning Kit Qty: 2 $10.99 each
Order total: $34.98
Sold by: Amazon.com
Track your package: https://www.amazon.com/progress-tracker/...
Structured JSON output
{
"order_id": "113-1234567-1234567",
"items": [
{ "title": "Anker USB-C Charging Cable 6ft (2-Pack)", "quantity": 1, "price_cents": 1299 },
{ "title": "Screen Cleaning Kit", "quantity": 2, "price_cents": 1099 }
],
"order_total_cents": 3498,
"currency": "usd",
"ship_to_name": "Morgan Chen",
"estimated_delivery": "2026-05-24",
"order_date": "2026-05-21",
"seller": "Amazon.com"
}
JSON Schema definition
Every field is validated against the schema before delivery. You can copy this as a starting point and tighten it for your own use case:
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "amazon_order",
"type": "object",
"required": ["order_id", "items", "order_total_cents", "currency", "order_date"],
"properties": {
"order_id": { "type": "string", "pattern": "^[0-9]{3}-[0-9]{7}-[0-9]{7}$" },
"items": {
"type": "array",
"items": {
"type": "object",
"required": ["title", "quantity", "price_cents"],
"properties": {
"title": { "type": "string" },
"quantity": { "type": "integer", "minimum": 1 },
"price_cents": { "type": "integer", "minimum": 0 }
}
}
},
"order_total_cents": { "type": "integer", "minimum": 0 },
"currency": { "type": "string", "minLength": 3, "maxLength": 3 },
"ship_to_name": { "type": "string" },
"estimated_delivery": { "type": "string", "format": "date" },
"order_date": { "type": "string", "format": "date" },
"seller": { "type": "string" }
}
}
Parse via the API
POST the raw email (MIME or plain text) to /v1/parse with the schema you want to
extract against:
curl https://api.mailframe.ai/v1/parse \
-H "Authorization: Bearer $MAILFRAME_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"schema": "amazon_order",
"input": { "type": "email", "raw": "<base64-encoded MIME>" }
}'
Prefer a hands-off setup? Inbox forwarding — sending your Amazon confirmation emails to
a unique inbox address MailFrame assigns you — is on the roadmap. Until it ships, POST
the raw email to /v1/parse as shown above.
Webhook delivery
When extraction completes, MailFrame POSTs a signed envelope to your endpoint. The
signature is an HMAC-SHA256 of the raw body using your webhook secret, sent in the
MailFrame-Signature header, with exponential-backoff retries on failure.
{
"event": "parse.completed",
"parse_id": "parse_a1b4f2",
"schema": "amazon_order",
"data": {
"order_id": "113-1234567-1234567",
"items": [
{ "title": "Anker USB-C Charging Cable 6ft (2-Pack)", "quantity": 1, "price_cents": 1299 },
{ "title": "Screen Cleaning Kit", "quantity": 2, "price_cents": 1099 }
],
"order_total_cents": 3498,
"currency": "usd",
"ship_to_name": "Morgan Chen",
"estimated_delivery": "2026-05-24",
"order_date": "2026-05-21",
"seller": "Amazon.com"
},
"confidence": { "order_id": 0.99, "order_total_cents": 0.98, "items": 0.94 },
"received_at": "2026-05-21T17:14:12Z"
}