Skip to content
spacepost

Compare

SpacePost vs Resend

SpacePost implements the Resend API on top of Amazon SES at about half the price. It is not a full clone: here is exactly what works today, and what does not yet.

SupportedPartialPlanned
FeatureStatusNotes
Sending
Send email (POST /emails)SupportedSame body and response shape.
Batch send (up to 100)Supported
Scheduled send, reschedule, cancelSupportedISO 8601 or natural language.
Attachments (base64 or URL), tags, custom headersSupported
Idempotency-Key headerSupported24-hour window.
Retrieve and list emailsSupportedCursor pagination with limit, after, before.
Test addressesSupportedUse addresses at test.spacepost.dev instead of resend.dev.
Templates (stored, editable in a UI)PlannedSend your own HTML or render with your own engine for now.
Inbound email (receiving)Planned
Domains and deliverability
Domain create, verify, update, deleteSupportedEasy DKIM (3 CNAMEs), custom MAIL FROM, DMARC guidance.
Open and click trackingSupportedPer domain.
Automatic suppression of bounces and complaintsSupported
Dedicated IPsPartialOffered on Enterprise by request, not self-serve.
Multi-region sendingPlannedSending runs from eu-central-1 today.
Platform
API keys (full access, sending access, domain restricted)SupportedPrefix sp_live_. Stored as SHA-256, shown once.
Webhooks (9 event types)SupportedStandard Webhooks signatures, Svix-compatible verification.
Audiences, contacts, broadcastsSupportedUnsubscribe link merge tag supported; one-click unsubscribe headers added.
SMTP relaySupportedsmtp.spacepost.dev, port 25976 (STARTTLS).
Rate limitSupported10 requests per second per team (Resend: 2 on the default limit).
Official SDKsPartialNode (Resend-compatible). Other languages: use the Resend SDKs with a base URL or generate from the OpenAPI spec.
CLI and MCP serverSupported

Company and data

Who you contract with, and where your data lives

SpacePost is an EU company and keeps your data in the EU. Resend is a US company. The Resend column only states what Resend publishes on its own site.

TopicSpacePostResend
CompanyStudio 404 d.o.o., Slovenia (EU)Plus Five Five, Inc. (Resend), San Francisco, United States
Where account data is storedEU: Railway in Amsterdam (Netherlands)United States, including email metadata and logs, whichever sending region you choose
Sending regioneu-central-1 (Frankfurt) for every domainus-east-1 (North Virginia) by default; eu-west-1 (Ireland), sa-east-1 or ap-northeast-1 can be chosen per domain
Billing currencyEUR, excluding VATUSD
VAT invoicesEU VAT invoices from Slovenia; reverse charge for EU businesses with a valid VAT IDYou can add a VAT number or tax ID for invoicing
Governing lawSlovenia (Terms of Service, including the DPA)Terms: State of California. DPA: no general clause; its EU Standard Contractual Clauses are governed by Irish law

Resend details are taken from resend.com (Terms of Service, DPA, privacy policy, sending regions and billing documentation, pricing page) on October 28, 2026. They can change; tell us at support@spacepost.dev if something is out of date.

Price

What changes on the bill

 SpacePost (EUR)Resend (USD)
Pro€9 / 50,000USD 20 / 50,000
Pro overage per 1,000€0.25USD 0.90
Scale€35 / 200,000USD 90 / 100,000

SpacePost prices in EUR, excluding VAT. Resend's prices in USD as of October 23, 2026, from resend.com/pricing, not converted. See the calculator for your volume.

Where Resend is ahead

Pick the right tool

  • Resend is more established and has first-party SDKs in more languages and a React Email ecosystem.
  • If you need hosted templates or inbound email today, stay on Resend until those ship here.
  • If you send transactional mail and care about price, rate limits and EU hosting, SpacePost is built for you.

Migration

Migrate in five steps

  1. 01

    Create an account and verify your domain

    Sign up, add your sending domain and publish the three DKIM CNAMEs plus the MAIL FROM records. Keep Resend's records in place until you cut over; DKIM selectors do not collide.

  2. 02

    Create an API key

    Keys start with sp_live_. Use a sending-access key restricted to your domain for production services.

  3. 03

    Point your code at SpacePost

    Change the base URL and the key. Request bodies, response bodies and error shapes stay the same.

  4. 04

    Re-create webhooks

    Add your endpoint in the dashboard. Signing uses the Standard Webhooks headers, so existing verification code keeps working with the new secret.

  5. 05

    Cut over gradually

    Route a small share of traffic first, watch the email log and your webhooks, then switch the rest. Your suppression list does not transfer automatically; import known bounces and complaints first.

.env
- RESEND_BASE_URL=https://api.resend.com
- RESEND_API_KEY=re_xxxxxxxx
+ RESEND_BASE_URL=https://api.spacepost.dev
+ RESEND_API_KEY=sp_live_xxxxxxxx
send.ts
- import { Resend } from "resend";
+ import { SpacePost as Resend } from "@spacepost/node";

const resend = new Resend(process.env.SPACEPOST_API_KEY);

await resend.emails.send({
  from: "Acme <hello@acme.com>",
  to: ["ada@example.com"],
  subject: "Hello",
  html: "<p>Same call, different base URL.</p>",
});

SpacePost is an independent product and is not affiliated with or endorsed by Resend. "Resend" is a trademark of its owner. Comparisons reflect our understanding at the time of writing; tell us at support@spacepost.dev if something is wrong.