By Theo Brandt · Updated
Loops vs Resend for SaaS in 2026
Choose Loops if lifecycle email is the main job and you would rather pay by subscribed contacts: its pricing page reads $99 a month at about 10,000 contacts and $249 at about 50,000, with transactional sends included. Choose Resend if engineers own email and volume drives the bill: its pricing page reads $20 for 50,000 emails and $35 for 100,000, and it now sells contact-based marketing plans next to the API.
Verdict in three lines
Loops is the better default for a SaaS team where a marketer or founder writes the onboarding emails, because one flat price covers campaigns, workflows and transactional sends, and the interface is built around that person.
Resend is the better default for a team that sends far more transactional mail than it has contacts, or that wants every message defined in code and reviewed like code.
Do not run both unless a named person owns each: Resend can now send broadcasts and automations itself, so pairing it with Loops duplicates the contact list and the unsubscribe logic.
Prices checked 7 October 2026 on the Loops and Resend pricing pages. Where a page uses a slider, the figures below are what it displayed at each stop.
Until recently the usual advice was to pair a lifecycle tool with a transactional API. That advice has aged. Loops describes itself as one platform for marketing, product and transactional email, and Resend's pricing page now has a Marketing emails tab with Broadcasts, Audiences and Automations. The real difference today is who the product is shaped for: Loops for the person who writes the email, Resend for the person who calls the API.
The practical question is where your next message comes from. If it is caused by a customer state, such as signup, a stalled trial or an unused feature, Loops puts that logic in a workflow someone non-technical can edit. If it is caused by an application action, such as a receipt, an invite or an export, Resend keeps it next to the code that triggers it.
| At a glance | Loops | Resend |
|---|---|---|
| What you are billed on | Subscribed contacts. Unsubscribed contacts do not count, and paid plans do not charge separately for sends | Transactional: emails per month. Marketing: contacts, with unlimited broadcast sending |
| Free plan | Unlimited contacts, but only 4,000 sends in any rolling 30 days to your 1,000 newest contacts, a "Powered by Loops" footer, 10 emails per second | Transactional: 3,000 emails a month and 100 a day, 3 domains. Marketing: 1,000 contacts, 3 segments, 10,000 automation runs |
| Transactional email | Included on paid plans at no extra charge; sends to people outside your audience are allowed | The core product: /emails API, SMTP relay, SDKs, batch sending and scheduling |
| Lifecycle automation | Workflows triggered by behaviour, with workflow templates such as welcome series and trial conversion | Automations: custom events sent by API, conditional paths, wait-for-event and time delays, billed $0.0015 per run after 10,000 |
| Seats | No charge for team seats | SSO is a $150/mo add-on on Scale and included on Enterprise |
| Built for | The founder or marketer who writes the emails | The developer who calls the API |
What each one costs at real list sizes
The two vendors count different things, so a fair comparison needs both numbers for the same product: how many contacts you email, and how many transactional emails your application sends. Loops covers both in one price. Resend charges for contacts on its marketing tab and for emails on its transactional tab, and you pay for both if you use both.
| Contacts | Loops (transactional included) | Resend marketing plan |
|---|---|---|
| 1,000 | Free | Free |
| About 5,000 | $48/mo (read at 4,788 subscribers) | $40/mo at 5,000 contacts |
| About 10,000 | $99/mo (read at 9,998 subscribers) | $80/mo at 10,000 contacts |
| About 25,000 | $198/mo (read at 24,339 subscribers) | $180/mo at 25,000 contacts |
| About 50,000 | $249/mo (read at 49,989 subscribers) | $250/mo at 50,000 contacts |
| 100,000 | Not read | $450/mo at 100,000 contacts |
On contacts alone the two are close, with Resend cheaper in the middle of the range and about level at 50,000. The difference appears once the application sends its own mail. Resend's transactional tab reads $20 a month for 50,000 emails, $35 for 100,000 (extra emails $0.90 per 1,000), then Scale at $160 for 200,000 and $350 for 500,000. Loops says its paid plans do not charge separately for sends, and that transactional sending is included.
Here are four products, each priced with the readouts above (transactional and lifecycle email combined):
- Early product, 800 contacts, about 3,500 emails a month: both are free. Loops caps the free plan at 4,000 sends in a rolling 30 days; Resend's free transactional tier caps at 3,000 a month and 100 a day, while its free marketing tier allows 1,000 contacts.
- 5,000 contacts and 20,000 transactional emails: Loops is about $48. Resend is $40 for contacts plus $20 for the Pro transactional plan, which is $60.
- 10,000 contacts and 60,000 transactional emails: Loops is about $99. Resend is $80 for contacts plus $29 for transactional ($20 for the first 50,000 and 10 × $0.90 for the extra 10,000, which is cheaper than the $35 stop for 100,000), so $109.
- 10,000 contacts and 500,000 transactional emails: Loops is still about $99 if its included-sends language holds at that volume, which is worth confirming with Loops in writing. Resend is $80 plus $350 for the 500,000-email stop, which is $430.
Turn the last example around and Resend wins: if you have almost no marketing contacts and send 100,000 transactional emails a month, Resend Pro is $35. Loops prices by subscribed contacts, so check what it would charge for your actual contact count before assuming it is cheaper.
Automations add a small variable cost on Resend: each workflow run beyond the 10,000 free ones is $0.0015, so if each sign-up counts as one run, a welcome sequence for 30,000 new sign-ups in a month would add 20,000 × $0.0015 for the runs past the allowance. Loops's pricing page lists no per-run charge.
Lifecycle automation: how each one is driven
Resend's automations start from custom events that your application sends through its API, defined with typed schemas, such as a sign-up, a failed payment or a shipped order. From the trigger you can add a time delay in minutes, hours, days or weeks, a conditional path based on contact data or event properties, and a wait-for-event step that pauses the run until something like order.completed arrives or a timeout passes. Every run and step is logged, which is useful when someone asks why a particular person did not get the second email.
Loops builds the same kind of flow in a workflow editor aimed at the person writing the emails, with starting templates for a welcome series and for trial conversion, and its documentation has separate sections for events and goals. The developer's job is mostly to send the events; the marketer's job is to decide what happens next. If your growth person cannot or will not read API payloads, that division is the main reason to prefer Loops.
Neither page publishes a benchmark, so test one flow you already run: the first week after sign-up, with an exit when the account is activated.
The transactional API in practice
Resend is the more complete sending API. Its feature table lists a REST API, SMTP relay, official SDKs, React Email, scheduled sends, batch sending and inbound email. Its FAQ says the API rate limit is set per team and is the same on every plan, and that the batch endpoint sends up to 100 emails per request, with each batch counting as one request. Webhook endpoints scale with the plan (1, 5 and 10), and data retention is 30 days on Free, Pro and Scale.
Loops' transactional endpoint is simpler: you create a transactional email in the Loops editor, then send it with a transactional ID, the recipient address and data variables, optionally adding the recipient to your audience. Its API reference documents an Idempotency-Key header and returns a 409 Conflict if the same key was used in the previous 24 hours, which protects against double-sending a password reset when your job retries. Loops' documentation also lists SMTP, webhooks and SDKs. What you trade away is Resend's React Email workflow: the template is edited in the Loops editor rather than written as components in your own repository.
Limits that matter before you commit
Resend's free transactional plan has a 100-emails-a-day cap and three domains, so a product that sends a burst of invitations on launch day can hit the cap before the monthly allowance. Pro removes the daily limit and gives ten domains; Scale gives 1,000 domains, which matters if you send from a separate domain for each customer. Extra domains cost $20 a month per hundred, a dedicated IP is $30 a month for senders above 3,000 emails a day on Scale, and single sign-on is $150 a month on Scale.
Loops' free plan counts marketing and transactional sends together against its 4,000-in-30-days limit and sends at up to 10 emails per second; paid teams can send up to 1,000 emails per second. It does not charge for seats, so inviting a designer and a marketer costs nothing extra. Resend's pricing page does not list a per-seat charge either.
| Your situation | Better default | Reason |
|---|---|---|
| Founder-led product, 2,000 contacts, welcome and trial emails plus password resets | Loops | One tool, one price, and the founder can edit the workflow without a deploy |
| Engineering-led product sending invoices, alerts and exports to 100,000+ recipients a month, few marketing contacts | Resend | $35 for 100,000 emails on Pro, and templates and sends live in code |
| Multi-tenant product that sends from a domain per customer | Resend | Scale allows 1,000 domains; add-on domains are $20 a month per hundred |
| Lifecycle team with no engineer on call | Loops | Workflows and templates are built for the person writing the emails |
| Growing list over 25,000 contacts with high transactional volume | Loops | Sends are included, so cost follows contacts only; confirm fair use at your volume |
| Team already invested in React Email templates in the repo | Resend | React Email is in Resend's feature table and sits in the same codebase as the sends |
Moving from one to the other
Loops to Resend starts with the audience. Export your contacts with their properties, import them into a Resend audience, and carry over your unsubscribed list so nobody who opted out is emailed again. Rebuild each workflow as an automation, which means deciding the event names your application will send to start it. Transactional emails become templates you call by API from your own repository, and your sending domain needs SPF and DKIM set up for the new sender before the first send.
Resend to Loops is mostly a templating move. Rebuild each React Email template in the Loops editor, replace your /emails calls with the Loops transactional endpoint (using the transactional ID and data variables), and send your product events to Loops so its workflows can fire. Decide up front which sends keep an Idempotency-Key, because retried jobs are where duplicates come from. Warm the new sender with the lowest-risk mail first, such as receipts, before moving password resets.
For either direction, run the two services side by side for one billing cycle with a single flow moved at a time, and do not cancel the old plan until the new one has sent a full month of mail without complaints.
Questions teams ask
Is Resend cheaper than Loops?
For transactional email alone, yes: $20 covers 50,000 emails and $35 covers 100,000. Once you add contacts, the picture changes. Resend's marketing plan reads $80 at 10,000 contacts against $99 at Loops, but you still pay for transactional sends on top, while Loops includes them.
Can Resend replace Loops now that it has marketing plans?
It can cover broadcasts and event-driven sequences: automations support custom events, conditional paths, delays and wait-for-event steps. The automation tooling is newer than the sending API, so run your most important flow through it on the free marketing tier first and compare the editing experience with Loops' workflow editor.
Does Loops have a free plan?
Yes. It allows unlimited contacts but only 4,000 sends in any rolling 30 days, to your 1,000 newest contacts, with a "Powered by Loops" footer and a limit of 10 emails per second. Marketing and transactional sends count together.
What happens if I go over Resend's monthly email limit?
Extra emails cost $0.90 per 1,000 on Pro and Scale if you enable pay-as-you-go. If you do not, Resend notifies you and offers an upgrade instead. Check that setting before a launch-day spike.
Verdict
For most SaaS teams choosing today, Loops is the simpler single answer: one price tied to contacts, transactional sends included, and an editor made for the person who writes the emails. Pick Resend when engineers own email, when transactional volume is far larger than your contact list, or when you send from many domains.
If you are still weighing other senders, see Resend vs SendGrid and Postmark vs SendGrid. For the other side of the market, compare Customer.io vs Loops and Customer.io vs Braze. The Loops alternatives and Resend alternatives guides cover leaving either tool, and the comparison hub lists every matchup.