A SendGrid alternative for transactional email
Evaluating a SendGrid alternative? tinyRelay sends your app's email over SMTP or a REST API, with Svix-signed webhooks and 19 documented bounce categories, set up with you by our team. SendGrid, now part of Twilio, offers self-serve sign-up, a free trial, published tiers and SDK quickstarts.
# your app's mail settings: same keys, new values MAIL_HOST=[SMTP host] MAIL_PORT=[port] MAIL_USERNAME=issued-at-onboarding MAIL_PASSWORD=issued-at-onboarding
Sending over SMTP? Usually a new host, port and credentials in your settings, plus DNS records for your domain.
POST /email/campaign X-RELAY-ACCESS-TOKEN: $TINYRELAY_KEY Content-Type: application/json # 202 Accepted { "requestId": "833c5151-…", "message": "SUCCESS" }
Sending over the API? One HTTPS request from any language that can make HTTP requests, from IPs we allowlist for you.
# one record per sending domain tec1._domainkey.acme.com CNAME tec1.dkim.tinyemail.com PUT /domain/dns/check # dkim: Valid · spf: Valid
One CNAME signs your mail with DKIM. The check endpoint validates DKIM and SPF and returns the records it expects.
# every event is signed by Svix svix-id: … svix-timestamp: … svix-signature: v1,… { "eventType": "DELIVERED", "metadata": { "order_id": "SO-1001" } }
Your endpoint hears SEND, DELIVERED, BOUNCED, OPEN, CLICK, UNSUBSCRIBE and SPAM, with your metadata on each.
tinyRelay vs SendGrid, category by category
| Capability | tinyRelay | SendGrid |
|---|---|---|
| SMTP | tinyRelayYes SMTP relay; credentials issued at onboarding | SendGridYes 2 SMTP service |
| API | tinyRelayREST APIPOST /email/campaign, 202 with a requestId | SendGridYes 3 Email API |
| Per-recipient data in one request | tinyRelayYes Merge attributes and metadata per recipient | SendGridSee SendGrid's docs 4 |
| Domain authentication | tinyRelayOne CNAME DKIM; PUT /domain/dns/check validates DKIM and SPF | SendGridIn the quickstart 4 Domain authentication is part of the quickstart |
| Marketing email | tinyRelaytinyEmail Sister product: tinyEmail | SendGridYes 1 Marketing Campaigns |
| Capability | tinyRelay | SendGrid |
|---|---|---|
| Signed webhooks | tinyRelaySvix svix-id, svix-timestamp, svix-signature (HMAC-SHA256) | SendGridYes 7 Signed Event Webhook, with optional OAuth |
| Bounce detail | tinyRelay19 categories Hard or soft, plus the server's text and DSN status | SendGridClassifications 6 Bounce and Block Classifications, listed in the plan feature grid |
| Event types | tinyRelay7 types SEND, DELIVERED, BOUNCED, OPEN, CLICK, UNSUBSCRIBE, SPAM | SendGridSee SendGrid's docs 7 |
| Retries and duplicates | tinyRelayAt least once Retried on timeout or 5xx; 24 h duplicate suppression | SendGridSee SendGrid's docs 7 |
| Replay | tinyRelay5 days Payloads kept 5 days for redelivery | SendGridSee SendGrid's docs 7 |
| Your IDs on events | tinyRelay10 keys Metadata on every event | SendGridSee SendGrid's docs 7 |
| Step | tinyRelay | SendGrid |
|---|---|---|
| How you start | tinyRelaySet up with you Get started form; our team sets up your sending domains with you | SendGridSelf-serve 5 Free trial |
| Before the first send | tinyRelayOne CNAME One DKIM CNAME; webhook endpoint and calling IPs registered | SendGridSelf-serve setup 4 2FA, an API key, domain authentication and sender verification |
| Trial | tinyRelayAsk our team | SendGrid60 days 5 100 emails a day, no credit card required |
| API security | tinyRelayKey + IP allowlist API key in a header; calling IPs allowlisted | SendGrid2FA 4 2FA required on the account |
| Compliance | tinyRelayAsk our team | SendGridListed 6 SOC 2 Type II, GDPR and EU data residency in the feature grid |
| Question | tinyRelay | SendGrid |
|---|---|---|
| How it's priced | tinyRelayQuote Based on monthly sending volume; request a quote | SendGridPublished tiers 6 Essentials, Pro, Premier |
| Highest volumes | tinyRelayQuote Quote on your volume | SendGridPremier 6 Custom pricing; contact sales |
| Dedicated IPs | tinyRelayAsk our team | SendGridIncluded on Pro 6 Pro includes one dedicated IP |
| Tool | tinyRelay | SendGrid |
|---|---|---|
| SDKs | tinyRelayPlain HTTP No packages to install; works with any language that can make HTTP requests | SendGridQuickstarts 3 4 Per-language quickstarts; the product page shows a Python SDK example |
| Docs | tinyRelayDocs + guides docs.tinyrelay.com plus language guides | SendGridDocs 4 twilio.com/docs/sendgrid |
| Changelog | tinyRelayYes | SendGridYes 8 Twilio changelog |
| Status page | tinyRelayAsk our team | SendGridYes 9 status.twilio.com |
Competitor details from their public pages; check their site for current terms.
Four answers your app can act on.
SendGrid lists bounce and block classifications as a plan feature. tinyRelay puts one of 19 documented categories on every BOUNCED event, and they come down to four answers. Pick one.
Email bounce codes reference →From the tinyRelay bounce categories docs.
SendGrid or tinyRelay?
In one line: SendGrid suits teams that want to self-serve at any size; tinyRelay suits teams that want a documented event contract and help getting set up.
- You want to sign up yourself and try it on a free trial
- You want published tiers you can compare without talking to anyone
- You want per-language quickstarts and SDKs
- Your security review needs SOC 2 Type II, GDPR or EU data residency, which SendGrid lists
- You already use Twilio for other channels
- You want SMTP and a REST API that works from any language without a package
- You want webhook delivery written down: Svix signatures, at least once, 24-hour duplicate suppression, 5-day replay
- You want your own IDs as metadata on every event
- You'd like your sending domains and credentials set up with you
- You want tinyEmail for campaigns, from the same company and delivery infrastructure
Moving from SendGrid
See the SMTP relay service, the transactional email API and the Send Email docs.
Both offer SMTP and an email API with signed event webhooks and bounce classification. SendGrid, now part of Twilio, publishes pricing tiers, a free trial and SDK quickstarts. tinyRelay is set up with you, documents 19 bounce categories and its webhook delivery semantics, and pairs with tinyEmail for marketing.
If your app sends over SMTP, switching is usually a matter of a new host, port and credentials in your settings, plus DNS records for your domain. Our team issues the credentials and sets up your domains with you.
Yes. Every BOUNCED event carries a HARD_BOUNCED or SOFT_BOUNCED subType and one of 19 documented bounce categories, plus the receiving server's own diagnostic text and DSN status code.
tinyRelay is built for the email your app triggers. Campaigns and newsletters run on tinyEmail, from the same company and on the same delivery infrastructure.
Sources
Public pages- SendGrid on Twilio: twilio.com/en-us/sendgrid
- SendGrid SMTP service: twilio.com/en-us/products/email-api/smtp-service
- SendGrid Email API: twilio.com/en-us/sendgrid/email-api
- SendGrid Node.js quickstart: twilio.com/docs/sendgrid/for-developers/sending-email/quickstart-nodejs
- SendGrid compare page (free trial terms): twilio.com/en-us/sendgrid/email-api/compare
- SendGrid Email API pricing: twilio.com/en-us/products/email-api/pricing
- SendGrid Event Webhook security: twilio.com/docs/sendgrid/for-developers/tracking-events/getting-started-event-webhook-security-features
- Twilio changelog: twilio.com/en-us/changelog
- Twilio status: status.twilio.com
- tinyRelay facts: docs.tinyrelay.com (introduction, send email, webhook responses, bounce categories, validate DNS)
Send transactional email with a service that reports back.
SMTP relay or REST API, standalone or alongside tinyEmail. Tell us what you send and our team sets you up.