{"openapi":"3.1.0","info":{"title":"Email Parser API","version":"1.0.0","description":"Parse a raw email (RFC 822 / MIME / .eml) into clean, structured data. Send the raw message (or a URL to a .eml file) and get back the sender, recipients (to / cc / bcc / reply-to) with names and addresses split out, the subject, the parsed date, the Message-ID, In-Reply-To and References (for threading), priority, the plain-text and HTML bodies, every header, and metadata for each attachment (filename, content type, size, content-id — never the binary payload). A /v1/headers endpoint returns just the header map. Parsing is fully local (no third-party service) and nothing is stored. Live. 3 endpoints. Built for inbound-email processing, .eml viewers, mailbox import, ticketing and email-automation pipelines. Distinct from address validation and SPF/DMARC checks.","contact":{"name":"PremiumApi","url":"https://www.oanor.com/by/premiumapi"}},"servers":[{"url":"https://api.oanor.com/emailparse-api","description":"oanor gateway"}],"tags":[{"name":"Email"},{"name":"Meta"}],"components":{"securitySchemes":{"oanorKey":{"type":"apiKey","in":"header","name":"x-oanor-key","description":"Get your key at https://www.oanor.com/developer/keys"}}},"security":[{"oanorKey":[]}],"paths":{"/v1/headers":{"get":{"operationId":"get_v1_headers","tags":["Email"],"summary":"Parse email headers","description":"","parameters":[{"name":"email","in":"query","required":true,"description":"Raw email","schema":{"type":"string"},"example":"From: Ada <ada@example.com>\r\nTo: Charles <charles@example.com>\r\nSubject: Engine notes\r\nDate: Wed, 22 Oct 2008 12:58:39 +0000\r\nMessage-ID: <abc@example.com>\r\nContent-Type: text/plain\r\n\r\nHello Charles!"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"count":6,"headers":{"to":"\"Charles\" <charles@example.com>","date":"\"2008-10-22T12:58:39.000Z\"","from":"\"Ada\" <ada@example.com>","subject":"Engine notes","message-id":"<abc@example.com>","content-type":"{\"value\":\"text/plain\",\"params\":{}}"}},"meta":{"timestamp":"2026-06-02T16:52:02.016Z","request_id":"fcbcf154-070e-4498-beba-75fdb12aecea"},"status":"ok","message":"Parse email headers","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/parse":{"get":{"operationId":"get_v1_parse","tags":["Email"],"summary":"Parse a raw email","description":"","parameters":[{"name":"email","in":"query","required":true,"description":"Raw email (RFC822/MIME) — or use url","schema":{"type":"string"},"example":"From: Ada <ada@example.com>\r\nTo: Charles <charles@example.com>\r\nSubject: Engine notes\r\nDate: Wed, 22 Oct 2008 12:58:39 +0000\r\nMessage-ID: <abc@example.com>\r\nContent-Type: text/plain\r\n\r\nHello Charles!"},{"name":"url","in":"query","required":false,"description":"URL to a .eml file instead","schema":{"type":"string"}}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"to":{"text":"\"Charles\" <charles@example.com>","addresses":[{"name":"Charles","address":"charles@example.com"}]},"date":"2008-10-22T12:58:39.000Z","from":{"text":"\"Ada\" <ada@example.com>","addresses":[{"name":"Ada","address":"ada@example.com"}]},"text":"Hello Charles!","subject":"Engine notes","message_id":"<abc@example.com>","attachments":[],"attachment_count":0},"meta":{"timestamp":"2026-06-02T16:52:02.137Z","request_id":"a5fbde91-64ce-4fc3-95e1-017a9014d2f3"},"status":"ok","message":"Parse a raw email","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/meta":{"get":{"operationId":"get_v1_meta","tags":["Meta"],"summary":"Spec","description":"","parameters":[],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"auth":"none upstream; this gateway requires x-api-key","name":"Email Parser API","note":"Parse a raw email (RFC 822 / MIME / .eml). Pass ?email= the raw message or ?url= a .eml URL. /v1/parse returns from/to/cc/subject/date/message-id, the plain and HTML bodies and attachment metadata (filename, type, size — never the binary content); /v1/headers returns all header lines. Distinct from email-api (address validation). Live, nothing stored.","source":"Local MIME parsing (mailparser) — no key, no upstream","endpoints":3},"meta":{"timestamp":"2026-06-02T16:52:02.245Z","request_id":"1ca20070-c78b-4508-ad45-2774571dbe0a"},"status":"ok","message":"Meta","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}}},"x-oanor-pricing":[{"slug":"free","name":"Free","price_cents_month":0,"monthly_call_quota":1580,"rps_limit":2,"hard_limit":true},{"slug":"starter","name":"Starter","price_cents_month":760,"monthly_call_quota":32000,"rps_limit":8,"hard_limit":true},{"slug":"pro","name":"Pro","price_cents_month":2720,"monthly_call_quota":190000,"rps_limit":20,"hard_limit":true},{"slug":"mega","name":"Mega","price_cents_month":6320,"monthly_call_quota":970000,"rps_limit":50,"hard_limit":true}],"x-oanor-marketplace-url":"https://www.oanor.com/api/emailparse-api"}