Best transactional email APIs for TypeScript SaaS
Which transactional email API does a coding agent choose when it must research the category and implement a working TypeScript path? AgentAnalytics ran 64 fresh-workspace Claude Code attempts across four common SaaS tasks: a welcome email, a template receipt, delivery webhooks, and batch notifications. Public web research was required before each selection. Claude was not shown a provider list.
Answer first
In this panel, Resend was the strongest current selection. Claude selected it in 56 of 64 attempts, and all 56 passed the available validators. Postmark was selected in eight attempts, all for delivery webhooks. Seven of those implementations relied on HMAC or signature verification that Postmark's canonical documentation says is unsupported. Only one Postmark implementation passed the available provider-specific check.
| Provider | Raw selection | Passed available validators |
|---|---|---|
| Resend | 56 / 64 | 56 / 64 |
| Postmark | 8 / 64 | 1 / 64 |
| SendGrid | 0 / 64 | 0 / 64 |
| Mailgun | 0 / 64 | 0 / 64 |
| Amazon SES | 0 / 64 | 0 / 64 |
| Mailchimp Transactional | 0 / 64 | 0 / 64 |
This is not a universal provider ranking. It is a dated result for one model, harness, task family, and retrieval condition.
The task split
- Welcome email: Resend 16 / 16.
- Template receipt: Resend 16 / 16.
- Delivery webhook: Resend 8 / 16; Postmark 8 / 16 raw. Seven Postmark artifacts failed the provider-specific authentication check.
- Batch notifications: Resend 16 / 16.
Zero selections do not prove that a provider is incapable of a task. They mean this panel did not produce implementation evidence for that provider.
The shortlist came from comparison content
Claude made 69 WebSearch calls and no explicit WebFetch calls. Of 554 visible search-result links:
- 516, or 93%, were comparison pages;
- 548, or 99%, were third-party links;
- six were owned by an in-scope provider;
- no provider page was explicitly fetched.
That matters because the decision was often shaped before Claude opened a vendor's documentation. The model-facing search result itself summarized the category and cited comparison sources.
A title and URL were not enough
Before publication, AgentAnalytics replayed 16 captured search contexts through three matched conditions:
- the original search evidence;
- the same evidence with the proposed page title and URL inserted;
- the same evidence with the page's factual task-level findings added to the model-facing synthesis.
Listing the title and URL changed 0 of 16 provider choices. Adding the factual evidence changed five choices and produced three additional artifacts that passed the available validators, with no paired validation losses. The evidence mostly steered Claude away from unsupported Postmark webhook implementations.
This does not show that a comparison page can promote a favored provider. It shows that task-specific evidence can change decisions once that evidence reaches the model-facing context.
Method
- Agent: Claude Code 2.1.148
- Model: Claude Sonnet 4.6, low effort
- Attempts: 64 accepted, zero excluded, zero timed out
- Environment: fresh workspace per attempt
- Intent: category evaluation with live public WebSearch required
- Provider set used for analysis: Resend, Postmark, SendGrid, Mailgun, Amazon SES, and Mailchimp Transactional
- Validation: TypeScript syntax diagnostics plus a provider-specific Postmark webhook authentication check
The benchmark did not test live provider API calls, inbox placement, deliverability, account activation, or long-term retention. Provider-semantic validation remains incomplete outside the Postmark webhook path.
Evidence and corrections
The full report, task prompts, source links, limitations, and machine-readable evidence are available at: AgentAnalytics: Best transactional email APIs for TypeScript SaaS
This benchmark was not commissioned by an included provider. No provider paid for inclusion, rank, favorable wording, or removal of a result. Material corrections are dated and the evidence file is versioned. Corrections can be sent to fo******@agentanalytics.org.
Comments
No comments yet. Start the discussion.