# DevelEmail > DevelEmail is transactional email for developers. A REST API, SDK and CLI for sending, receiving and watching email, hosted in Germany. Warmup, bounces and IP reputation are visible, not hidden. ## Product - [Home](https://develemail.com/) - [Request access](https://develemail.com/request-access) ## Features - [Features](https://develemail.com/features) - [REST API and SDK](https://develemail.com/features/api-and-sdk) - [Visible deliverability](https://develemail.com/features/deliverability) - [Inbound and conversations](https://develemail.com/features/inbound) - [Developer tools](https://develemail.com/features/developer-tools) - [Security and data](https://develemail.com/features/security) ## Pricing - [Pricing](https://develemail.com/pricing) ## Compare - [Compare](https://develemail.com/compare) - [DevelEmail vs Resend](https://develemail.com/compare/resend) - [DevelEmail vs Postmark](https://develemail.com/compare/postmark) - [DevelEmail vs SendGrid](https://develemail.com/compare/sendgrid) - [DevelEmail vs Mailgun](https://develemail.com/compare/mailgun) - [DevelEmail vs Loops](https://develemail.com/compare/loops) - [DevelEmail vs Amazon SES](https://develemail.com/compare/amazon-ses) ## FAQ - [FAQ](https://develemail.com/faq) ## Legal - [Legal](https://develemail.com/legal) - [Terms of Service](https://develemail.com/legal/terms) - [Privacy Policy](https://develemail.com/legal/privacy) - [Acceptable Use Policy](https://develemail.com/legal/aup) - [Cookie Policy](https://develemail.com/legal/cookies) - [Subprocessors](https://develemail.com/legal/subprocessors) - [Data Processing Agreement](https://develemail.com/legal/dpa) ## Docs - [Documentation](https://docs.develemail.com) ## Features in detail ### REST API and SDK A REST API for every language, a typed TypeScript SDK, and React, Next.js and Fastify packages on top. Retries are safe because sends carry idempotency keys. #### One call to send Create a client with your API key and the API base URL, then call emails.send. Keys come from your project in the dashboard or from devel key create. #### Retries that do not duplicate mail Every send carries an Idempotency-Key. The SDK generates one for you and retries server errors, rate limits and network failures. Pass your own when you want a retry from a different process to be recognised as the same send. #### Batch send with per-item results Send many emails in one request. Each item gets its own result, so one bad recipient does not fail the rest. #### Sandbox recipients Any address at sandbox.develemail.com is accepted while you build. Those messages get the status sandboxed and are not metered against your quota. #### React email components Write the message as a React component. The React package renders it to HTML and a plain-text part before sending. #### Fastify plugin Register the plugin once and the client is available as app.develemail. Next.js gets a createClient helper that reads its settings from environment variables. ### Visible deliverability Warmup, bounces and IP reputation are visible, not hidden. You see what is happening to your sending and why. #### Authenticated from day one Add a domain and get the DKIM, SPF and DMARC records to publish. Verification tells you which records are still missing. - DKIM, SPF and DMARC verification. - Records available as a table or in BIND format. - Publish to Cloudflare from the CLI, then wait for verification. #### Warmup that pauses itself A new IP has no reputation, so volume ramps up in stages: the daily cap starts at 50 and doubles each week up to 1,600 before full volume. When bounces or deferrals climb, the domain pauses; after seven clean days it resumes at the same stage. #### Told when an IP is blocked DevelEmail detects when your sending IP lands on a reputation blocklist and reports it in the daily digest, so you hear about it before your users do. #### A daily digest One email each day with yesterday’s stats, what needs attention, IP reputation, warmup progress and blocklist status. #### Keep bad sends off your reputation Suppression lists stop repeat sends to addresses that bounced or complained. Outbound mail is scored by rspamd before it leaves; spam verdicts are quarantined instead of sent. - Suppression lists per project. - Content scanning with rspamd. - DMARC setup guidance in the docs. ### Inbound and conversations Add an inbound route to a domain and DevelEmail receives, parses and stores messages for it, then posts them to your webhook. #### Routes per domain An inbound route matches a local part, or a catch-all, on a domain you have added. Each route can deliver to a webhook, send an arrival notification, or both. - Create, update, disable and remove routes from the CLI. - Check a domain’s inbound setup before you rely on it. - Only domains with an active route accept inbound mail. #### Conversations Replies are grouped into conversations, so a thread stays together in the same product you send from. Send replies with In-Reply-To and References so clients thread them correctly. #### Webhook delivery you can verify Received mail is POSTed to the route’s webhook. Verify the signature on every request before you trust the payload. ### Developer tools Add a domain, publish its records to Cloudflare, wait for verification and watch events without leaving the terminal. #### Add a domain Register a sending domain and get the records to publish. #### Publish DNS and verify Push the records to Cloudflare, then poll until verification passes or the timeout runs out. #### Watch events and read logs Tail new email events as they happen, or list recent emails filtered by status. #### Signed webhooks Delivery events are POSTed to your project’s webhook URL with an X-Webhook-Signature header. In Next.js, verifyWebhook checks it against DEVELEMAIL_SIGNING_SECRET. #### React email templates Compose emails as React components and render them to HTML and plain text with the React package. ### Security and data DevelEmail is built so tenants stay separate and you can take your data with you or have it deleted. #### Hosted in Germany The application, database and mail servers run on Hetzner in Nuremberg, Germany. Some services, such as Cloudflare for DNS and TLS, operate outside Germany, so the subprocessor list names each one and where it runs. #### Tenants stay separate Every organization’s data is scoped to that organization. Automated isolation tests exercise the API to check that one tenant cannot read another’s data. #### Export your data Export your organization’s data from the product whenever you want it. #### Delete your data Request deletion of an account or organization. Sending is blocked and API keys are revoked immediately, you get a 30-day grace period to cancel, and then the data is purged. #### A data processing agreement The DPA is a draft pending legal review. Read it before you rely on it. ## Quickstart Send an email with the TypeScript SDK: ```ts import { DevelEmail } from '@develemail/sdk'; export async function sendWelcome() { const client = new DevelEmail({ apiKey: process.env.DEVELEMAIL_API_KEY!, baseUrl: 'https://develemail.com/api', }); const { id, status } = await client.emails.send({ from: 'hello@example.com', to: 'user@example.com', subject: 'Welcome aboard', text: 'Your account is ready.', }); return { id, status }; } ``` ## Plan limits - Free: $0/month; 1,000 emails per month, 1 sending domains, 2 team members - Starter: Contact us; 25,000 emails per month, 5 sending domains, 5 team members - Pro: Contact us; 100,000 emails per month, 20 sending domains, 20 team members ## Compared with - Resend: Resend is a developer-first email API known for its React-first authoring and clean developer experience. - Postmark: Postmark is a transactional email service with a long-standing focus on deliverability. - SendGrid: SendGrid, part of Twilio, is a large email platform covering transactional and marketing sending. - Mailgun: Mailgun is an email API with mature inbound routing and a choice of US or EU data region. - Loops: Loops is an email platform for SaaS teams, centred on lifecycle and product-led marketing email. - Amazon SES: Amazon SES is AWS's email sending service, priced per message and built to be assembled into your own stack. ## FAQ Q: Why is access invite-only? A: We are onboarding senders by hand to protect shared IP reputation. Request access and we will review your use case. Q: Where is my data hosted? A: On servers in Nuremberg, Germany. There is a single region today. Q: Can I migrate from another provider? A: Yes. Add your domain, publish the new DNS records, and warm the domain up before moving volume. The CLI handles the DNS steps. Q: What are sandbox recipients? A: Addresses at sandbox.develemail.com. Sends to them are marked sandboxed and are not counted against your quota. Q: What happens when I reach my quota? A: The API answers 429 with a quota_exceeded error and, when billing is configured, an upgrade link. It is a hard limit with no overage billing; sends resume next month or when your plan changes. Q: How do you protect deliverability? A: DKIM, SPF and DMARC verification, per-domain warmup that pauses on trouble, suppression lists, content scanning and a daily digest of problems.