Skip to content
SPECIFICTION
Get listed

MailParse vs Stalwart mail-parser

MailParse

mailparse.dev

Stalwart mail-parser

github.com

Side by side

FigureMailParseStalwart mail-parser
Price from$29/moFree
Free planYesYes
Free trial——
Open source——
WebYes—
macOS—Yes
Linux—Yes
APIYes—
Self-hosted—Yes
Plans published32
Spec score · Email Parsing Software8.0 (#10)7.8 (#14)

Plans

MailParse

  • FreeFree
  • Pro$29 a month
  • Scale$99 a month

MailParse pricing →

Stalwart mail-parser

  • mail-parserFree
  • Open-source libraryFree

Stalwart mail-parser pricing →

In their own words

MailParse

MailParse receives inbound email and converts MIME messages into structured JSON. It extracts text and HTML bodies, inline images, attachments, headers, and routing details, including nested and multipart messages. Parsed results can be sent by POST to a configured webhook, with exponential-backoff retries and HMAC signature verification, or retrieved through a REST polling API. Polling supports filters for sender, date range, subject, and attachment type, with cursor-based pagination. SPF, DKIM, and DMARC validation, spam scoring, and per-address rules support message handling. Attachments use signed download URLs and are retained for 72 hours by default, with plan-based retention settings. Custom domains require an MX record and ownership verification. If a webhook is unavailable, retries continue for up to 24 hours, with replay and polling recovery. MailParse offers API and web access. Free includes 100 emails monthly; Pro costs $29 per month and Scale $99 per month.

Visit mailparse.dev

Stalwart mail-parser

Stalwart mail-parser is a free, open-source Rust library for parsing email messages. It supports Internet Message Format RFC 5322, MIME RFC 2045–2049 and other internet messaging RFCs, while attempting to handle messages that depart moderately from those standards. Parsed output includes a MIME tree, text and HTML body lists, and attachments. If one alternative is missing, the library can convert HTML to plain text or plain text to HTML. SIMD kernels accelerate scanning on supported targets, while transfer decoding and charset conversion wait until content is read. Returned strings generally reference the original input message. WHATWG encoding labels are recognized, and the optional full_encoding feature adds legacy multibyte sets including Shift_JIS, Big5 and GB18030. Defaults allow nesting depth 64, 10,000 MIME parts and three decoded nested-message levels. Rust 1.98 is required. No feature is enabled by default; serde adds serialization. The library is licensed under MIT or Apache-2.0 and costs nothing.

Visit github.com