PRICINGBLOG
Language

Helipod Email API

Transactional Email APISend automated email from your app

Account verification, OTPs, password resets, and invoices through one REST API. Sent from your domain through Amazon SES in the Jakarta region. 50 free emails/day, plans from Rp 24.990/month.
See Pricing
  • REST API + webhooks
  • Jakarta servers
  • Free to start

Transactional email

What is transactional email?

Transactional email is email your app sends automatically because of something a user did: an OTP code at login, a verification link at sign-up, a password reset, a purchase receipt, or an order status notification. Users are waiting for these emails, so they have to arrive quickly and must not land in spam.

Sending from your own server with PHP's mail() or ordinary hosting SMTP often ends up in the spam folder, because the IP has no reputation and the DNS records are incomplete. Helipod sends through Amazon SES in the Jakarta region with SPF, DKIM, and DMARC for your domain, plus a check of each recipient address before sending.

Recipients who have bounced or reported spam are blocked automatically, and addresses on domains that cannot receive email are rejected up front, so your domain reputation stays healthy.

Get started in 3 steps

  1. 01

    Verify your domain

    Add your sending domain and copy the DNS records shown in the dashboard.

  2. 02

    Create an API key

    Create a key in the API & webhooks menu. The key is shown only once, so store it in your app's environment.

  3. 03

    Send your first request

    POST to mail.helipod.io/api/email/send with the header Authorization: Bearer <api_key>.

Features

Built for developers

The features production apps need, with clear documentation and errors.

Simple REST API

One JSON endpoint you can call from PHP, Laravel, Node.js, Python, Go, or any language.

Batches of 50 emails

Send up to 50 different emails in one request, each with its own variables.

Status webhooks

Receive sent, delivered, bounced, complained, opened, clicked, and other events on your server, signed.

Templates and variables

Save templates in the dashboard and send with just a templateId and data, for example {{nama}} or {{kode}}.

Idempotency keys

Requests retried after a timeout never send the email twice.

Sensitive data mode

Mark emails that contain OTPs or passwords, and their content is removed from the queue once sent.

Automatic blocklist

Addresses that bounce or report spam are not sent to again, protecting your domain reputation.

Jakarta region

Sent through Amazon SES ap-southeast-3, close to users in Indonesia.

API keys per project

Create several keys, name them, and revoke any of them at any time without affecting the others.

Pricing

Email API Pricing

Start with 50 free emails per day for testing. Paid plans start at Rp 24.990/month, and when your quota runs out you can keep going by paying per email.

Free

Free
  • 50 emails/day
  • 100 contacts
  • Email blast / broadcast
  • No mailbox
  • 1 domain · 3 templates

Starter

Rp 24.990/month
  • 2,500 emails/month
  • 1,500 contacts
  • Email blast / broadcast
  • Inbox: 1 mailbox + 3 aliases, 3 GB
  • 2 domains · 20 templates
Popular

Pro

Rp 74.900/month
  • 8,500 emails/month
  • 4,500 contacts
  • Email blast / broadcast
  • Inbox: 1 mailbox + 3 aliases, 7 GB
  • 5 domains · 100 templates

Business

Rp 124.900/month
  • 15,500 emails/month
  • 8,500 contacts
  • Email blast / broadcast
  • Inbox: 1 mailbox + 3 aliases, 15 GB
  • 20 domains · 500 templates

Monthly price when billed yearly. You can also pay monthly with no contract. Renewal prices match the starting price. Pay with QRIS or bank transfer, no credit card needed.

FAQ

Email API questions

Is there a free email API?
Yes. The Free plan gives you 50 emails per day over the API or SMTP, no credit card needed, complete with verified domains, templates, and webhooks. It suits trying things out and small apps. Paid plans give you a larger monthly quota.
What is transactional email?
Transactional email is automated email your app sends because of something a user did: account verification, OTP codes, password resets, purchase receipts, or order notifications. It has to arrive quickly and must not land in spam, unlike promotional email.
How do I send email through the Helipod API?
Create an API key in the dashboard, verify your sending domain, then send a POST to https://mail.helipod.io/api/email/send with the header Authorization: Bearer <api_key> and a JSON body with from, to, subject, and html or text. The response contains a delivery id you can track in the dashboard or through webhooks.
Can I send many emails at once?
Yes. The /send/batch endpoint accepts up to 50 different emails in one request, each with its own recipients and variables. For newsletters to thousands of contacts, use the broadcast (email blast) feature in the dashboard.
How do I know whether an email was delivered or bounced?
Register a webhook URL and choose the events you want: sent, delivered, bounced, complained, opened, clicked, rejected, failed, and received. Every webhook request is signed so you can confirm it came from Helipod.
Can I send attachments?
Not yet. For now the API rejects attachments with a clear error message. For documents such as invoices, include a download link in the email body.
Is SMTP available?
Yes. Apps that can only use SMTP (WordPress, Laravel, PHPMailer, Nodemailer) can send through smtp.helipod.io on port 587 or 465, with an API key as the password. Email sent over SMTP goes through the same checks and quota as the API, and shows up in the same logs.
What happens if a request is sent again after a timeout?
Include an idempotencyKey in the request body. If the same request is sent again with the same key, Helipod returns the original delivery without sending the email twice.

Send your first transactional email

Sign up for free, verify your domain, and send through the API in minutes.
WhatsApp