Loops assistantAnswers from the docs

Ask anything about sending email, managing contacts, or the SDKs.

More

Send your first email

Verify your sending domain, publish a transactional template, copy its transactionalId, and set LOOPS_API_KEY on your server. Swap in your own recipient and variables before you run an example. The Next.js tab is a server helper for a password-reset flow: pass in the account email, its reset URL, and a stored idempotency key. From the terminal, the Loops CLI sends the same email.

API docs
curl -X POST https://app.loops.so/api/v1/transactional \
  -H "Authorization: Bearer $LOOPS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "transactionalId": "YOUR_ID",
    "email": "YOUR_EMAIL",
    "dataVariables": { "firstName": "Alex" }
  }'

Sending, templates, and contact data

Transactional + marketing in one API

Send transactional email and marketing email from the same platform.

Lifecycle workflows

Send a product event to start a workflow with emails, timers, and branches.

Editable templates

A visual editor so non-engineers can edit copy.

Webhooks

Delivery, open, click, bounce, and unsubscribe events.

Sending infrastructure

Sending-domain records, managed delivery, and bounce handling.

Audiences & contacts

One contact API with custom properties and lists, plus integrations for Stripe, Clerk, and Supabase.

Start on the free tier

The free tier includes unlimited contacts and up to 4,000 combined marketing and transactional sends to your first 1,000 contacts in any rolling 30-day window. It does not expire.

1,000

Subscribed contacts

4,000

Sends every 30 days

All

Features included

$0

Never expires

Start on the free tier

The free tier includes unlimited contacts and up to 4,000 combined marketing and transactional sends to your first 1,000 contacts in any rolling 30-day window. It does not expire.

1,000

Subscribed contacts

4,000

Sends every 30 days

All

Features included

$0

Never expires

How to choose an email API for SaaS

How to choose an email API for SaaS

Start with the messages you send today and the operations your team will own. Compare providers using the criteria below, then test the send paths you need.

Developer experience

Developer experience

Look for a REST API, typed SDKs, clear docs, local setup, and server-side API-key handling that fits your stack.

Deliverability

Deliverability

Check which authentication, sending-domain setup, bounce handling, spam complaint suppression, and inbox-placement tasks the provider handles and which your team must manage.

Template workflow

Template workflow

Product and marketing teams edit reusable templates. Developers pass variables, fallbacks, and transactional IDs from code.

Data model

Data model

The API should share contacts, events, and properties across transactional sends, campaigns, and lifecycle workflows instead of keeping a separate copy of each customer.

Observability

Observability

See send status, bounces, complaints, and failures, so you can debug email like the rest of your product.

Pricing

Pricing

Compare the free tier, contact limits, monthly send volume, transactional-email costs, and how pricing changes as your SaaS product scales.

Where Loops fits

Where Loops fits

Loops combines transactional sending, campaigns, and lifecycle workflows. Developers connect events and contact data while the team edits templates in Loops.

Transactional vs marketing vs lifecycle requirements

Transactional vs marketing vs lifecycle requirements

Password resets and receipts need timely delivery and correct account data. Campaigns need audience selection and unsubscribe handling. Onboarding and trial sequences also need product events and exit conditions. A behavior trigger alone does not make an email transactional. Promotional lifecycle messages still need marketing consent and unsubscribe handling.

Test one send path before migrating

Publish a test template, send it to a test account, and inspect the rendered variables and delivery event. Try missing variables, invalid credentials, rate limits, and retries. Check that marketing subscription changes reach your app and that account-critical mail follows its own rules.

When another provider type is a better fit

When another provider type is a better fit

A transactional-only API can be enough if you only send system messages and have no marketing or lifecycle plans. A newsletter tool can be enough if your product does not need server-triggered transactional messages or event-driven journeys. An enterprise suite can be a better fit for procurement requirements, multi-brand governance, or custom reporting. With self-managed SMTP, your team owns reputation, monitoring, bounces, complaints, templates, and compliance.

Frequently asked questions

What is an email API?

An email API lets your server send and manage email through HTTP requests. You authenticate with an API key and send structured data. The provider operates delivery infrastructure, while your team configures its domain and controls recipients and message content.

Is there a free email API?

The free tier includes unlimited contacts and up to 4,000 combined marketing and transactional sends to your first 1,000 contacts in any rolling 30-day window. It does not expire.

What’s the difference between a transactional and a marketing email API?

Transactional emails are triggered by a user action and sent one to one (password resets, receipts). Marketing emails go to audiences and need unsubscribe handling. Loops sends both from one API and one contact record.

Which languages and SDKs does Loops support?

Official SDKs for JavaScript/TypeScript, Go, Nuxt, PHP, and Ruby. Any language can call the REST API over HTTPS.

How do I send my first email?

Verify your sending domain, publish a transactional template, copy its transactionalId, and set LOOPS_API_KEY on your server. POST to https://app.loops.so/api/v1/transactional with the recipient and the template’s required dataVariables.

Can I use the Loops API from the browser?

Keep Loops API calls on your server so the API key stays private. Browser calls are not supported. Your own server endpoint still needs appropriate access controls and input validation.

How does Loops handle deliverability?

Loops provides sending-domain records, runs managed sending infrastructure, and suppresses hard bounces and reported complaints. Your team configures DNS and controls consent, audience selection, and content. A receiving mailbox decides whether an accepted message reaches the inbox.

What are the Loops API rate limits?

10 requests per second per team. Requests over the limit return HTTP 429, so retry with exponential backoff. Contact Loops support for a higher threshold.