ParseMail

Email parsing SaaS

Inbound mail, structured data.

Each workspace gets its own inboxes. ParseMail stores the mail, keeps the fields you select, and sends those fields to HubSpot and a JSON address at the same time.

Each workspace uses a monthly plan.

Create an account

Inbound email

From: Billing <billing@northwind.example>
To: invoices@emailparser.cloud
Subject: Invoice INV-1042 from Northwind
Date: Tue, 15 Sep 2026 10:04:00 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"

Hello,

Please find invoice INV-1042 attached.

Invoice # INV-1042
Total: $1,284.50
Due date: 2026-10-01
Account: 8821-44

Pay online: https://northwind.example/pay/INV-1042

Thanks,
Northwind Billing

Parsed JSON

{
  "invoice_number": "INV-1042",
  "total": "1,284.50",
  "due_date": "2026-10-01",
  "from": "billing@northwind.example"
}

01

Create an inbox

Each workspace inbox gets a unique address for accounts, leads, or invoices. Point Mailgun, SendGrid, or Postmark at it.

02

Select the fields

Regex or between-markers pick the values you want kept. The full message stays in Postgres.

03

Send the fields

HubSpot and each JSON address receive the selected fields together.

Built for product teams

  • MIME parsing for raw RFC822, JSON parts, SendGrid, and Mailgun payloads.
  • Selected fields stored for the workspace and sent to HubSpot and each JSON address at the same time.
  • A preview to try labels before you save them on an inbox.
curl -X POST $APP_URL/api/inbound/$TOKEN \
  -H 'content-type: application/json' \
  -d '{"raw": "...eml..."}'

curl $APP_URL/api/v1/emails \
  -H 'authorization: Bearer pm_live_…'