# A SendGrid alternative with a free plan that does not expire.

URL: https://samva.dev/compare/sendgrid

Samva's free plan is 500 emails a month with no end date, and replies thread into conversations instead of arriving as a raw parse webhook. Need your own IP? Samva sells a dedicated IP as an add-on.

Prices checked September 29, 2026

## Who should switch, and who should stay.

Switch if

- Your trial is ending and you want a free plan with no end date.
- You want replies threaded into conversations instead of a raw parse webhook.

Stay on SendGrid if

- You need email validation included in a plan. SendGrid Pro includes 2,500 validations.

## What a month costs on each.

| Provider | 10k/mo | 50k/mo | 100k/mo | 500k/mo |
| --- | --- | --- | --- | --- |
| Samva | $5 (Starter) | $19 (Growth) | $44 (Growth plus 50,000 extra at $0.50 per 1,000) | $199\* (Scale plus 200,000 extra at $0.50 per 1,000) |
| [SendGrid](https://www.twilio.com/en-us/products/email-api/pricing) | $19.95 (Essentials, 50,000 emails) | $19.95 (Essentials, 50,000 emails) | $34.95 (Essentials, 100,000 emails) | $429† (Pro, 300,000 emails plus 200,000 at $0.0009) |

\* Needs the spend limit raised from its $50 default.

† Derived from the provider's published overage rate, not a listed plan.

Inbound Parse is on every SendGrid tier, including the trial. Dedicated IPs and included email validation start on Pro. The 500,000-email figure is derived from Pro's published overage rate rather than a listed plan.

## What each one ships.

## Send and receive

How you send email, build templates, and bring replies back.

| Capability | Samva | SendGrid |
| --- | --- | --- |
| Send API | Typed REST API with an OpenAPI spec | REST (Web API v3) and SMTP relay |
| Templates | Versioned, Git-backed TSX templates with rollback and publish history | Dynamic Handlebars templates on all tiers |
| Inbound email | Replies thread to the email they answer, delivered as a signed message.received webhook | Inbound Parse webhook on every tier |

## Delivery and visibility

How you follow delivery, observe engagement, and protect your sending.

| Capability | Samva | SendGrid |
| --- | --- | --- |
| Webhooks | Signed Standard Webhooks events, with backoff and up to 8 automatic delivery attempts | Event webhook with signing; 1 endpoint on the trial, 2 on Essentials, 5 on Pro and Premier |
| Opens and clicks | Samva's own open pixel and tracked links, signed message.opened and message.clicked webhooks, and a timeline in the dashboard and API | Open and click events; searchable activity history 3 to 7 days |
| Deliverability | Generates DKIM and SPF records and checks your DMARC policy; bounces and complaints suppressed automatically | Domain authentication, link branding, suppression management; one dedicated IP included on Pro |

## Integration tools

The SDKs and tools you can build with.

| Capability | Samva | SendGrid |
| --- | --- | --- |
| SDKs | TypeScript SDK with async/await and Effect-native interfaces | Official libraries for Python, Node.js, PHP, Ruby, Java, Go, C# |

## Volume and billing

What you can send for free and how extra volume is billed.

| Capability | Samva | SendGrid |
| --- | --- | --- |
| Free plan | 500 emails a month, up to 100 a day | 60-day trial at 100 emails a day |
| Past the allowance | Metered at $0.50 per 1,000 on paid plans, up to a spend limit you set | Metered overage per extra email, from $0.0013 on Essentials |

## Moving from SendGrid.

Add your domain and publish the DKIM and SPF records Samva generates next to the old provider's. Both can send while you switch.

Swap the send call.

## SendGrid Node SDK

```ts
const sgMail = require("@sendgrid/mail");
sgMail.setApiKey(process.env.SENDGRID_API_KEY);

const msg = {
  to: "ada@example.com",
  from: "test@example.com",
  subject: "Your receipt",
  html: "<p>Thanks for your order.</p>",
};

sgMail
  .send(msg)
  .then((response) => console.log(response[0].statusCode))
  .catch((error) => console.error(error));

```

## Samva

```ts
await samva.messages.send({
  from: { email: "orders@example.com" },
  to: [{ email: "ada@example.com" }],
  channel: "email",
  email: {
    subject: "Your receipt",
    html: "<p>Thanks for your order.</p>",
  },
});
```

Map webhooks. Samva sends signed events for sent, delivered, bounced, complained, failed, and received, with received going to the endpoint your domain's receiving route names. Opens and clicks arrive as message.opened and message.clicked, and unsubscribes as contact.unsubscribed.

| SendGrid event | Samva event |
| --- | --- |
| `delivered` | `message.delivered` |
| `bounce` | `message.bounced` |
| `spamreport` | `message.complained` |
| `dropped` | `message.failed` |
| `Inbound Parse webhook` | `message.received` |
| `open` | `message.opened` |
| `click` | `message.clicked` |
| `unsubscribe` | `contact.unsubscribed` |

Recreate templates as versioned templates, or send your existing HTML inline while you move.

Keep the old provider's suppression list in your app and filter against it. Samva cannot import it.

Turn on receiving if you want replies back.

What does not move: templates, the suppression list, and message history.

The full walkthrough: [Migrate SendGrid Inbound Parse without losing replies](https://samva.dev/guides/sendgrid-inbound-migration).

## Notes

SendGrid's searchable activity history covers 3 days on Essentials and 7 on Pro. Check that against how far back you debug delivery problems before you pick a tier.

## Questions before you switch.

### Is there still a free SendGrid plan?

SendGrid's pricing page lists a free trial: 100 emails a day for 60 days, checked Sep 29, 2026. Its upgrade guide says you need a paid plan to keep sending after the trial. Samva's free plan is 500 emails a month with no end date, up to 100 a day.

### Is Inbound Parse only on Pro?

No. SendGrid's pricing table shows the Inbound Parse webhook on every tier, the trial included, checked Sep 29, 2026. Samva's receiving is a signed message.received webhook, and it threads each reply into the conversation of the email it answers.

### Which SendGrid features start on Pro?

On the pricing page checked Sep 29, 2026, Pro is the first tier that includes a dedicated IP (one) and free email validations (2,500). Event webhook endpoints go from 1 on the trial to 2 on Essentials and 5 on Pro.

### Do SendGrid's open, click, and unsubscribe events have a Samva webhook?

Yes. Samva sends signed message.opened and message.clicked webhooks for tracked sends, and contact.unsubscribed when a recipient unsubscribes from a topic, alongside sent, delivered, bounced, complained, failed, and received.

## Related Resources

- [Migrate SendGrid Inbound Parse](https://samva.dev/guides/sendgrid-inbound-migration): Map payloads, verify webhooks, retrieve attachments, and plan an MX cutover.
- [Pricing](https://samva.dev/pricing): Start on 500 emails free, then pay for the volume you send.
- [Inbound email](https://samva.dev/features/inbound-email): Receive replies, parse them, and continue the conversation.
- [Samva vs Mailgun](https://samva.dev/compare/mailgun): Compare pricing, inbound, and logs with Mailgun.
- [Samva vs AutoSend](https://samva.dev/compare/autosend): Compare the free plan, the spend limit, and campaigns with AutoSend.

## Send your first email free.

500 emails a month, no card. When you outgrow it, the bill stays predictable.

[Start sending free](https://samva.dev/signup) or [Talk to the founder](https://samva.dev/contact).

## Sources, verified September 29, 2026

- [Twilio SendGrid Email API pricing](https://www.twilio.com/en-us/products/email-api/pricing)
- [SendGrid: send email with Node.js](https://www.twilio.com/docs/sendgrid/for-developers/sending-email/quickstart-nodejs)
- [SendGrid: Event Webhook events](https://www.twilio.com/docs/sendgrid/for-developers/tracking-events/event)
- [SendGrid: plan upgrade guide](https://www.twilio.com/docs/sendgrid/ui/account-and-settings/upgrading-your-plan)
- [SendGrid: free-plan changelog](https://www.twilio.com/en-us/changelog/sendgrid-free-plan)
- [Samva pricing](https://samva.dev/pricing)
