llms.txt
# Unosend
> One API. Infinite Emails.
Unosend is an email sending API service for developers. It provides transactional email through a simple REST API and SMTP relay.
- Website: https://www.unosend.co
- API Base URL: https://api.unosend.co/v1
- Documentation: https://docs.unosend.co
- Status Page: https://status.unosend.co
## Authentication
All API requests require a Bearer token. API keys are prefixed with `un_`.
```
Authorization: Bearer un_your_api_key
```
API keys are created in the dashboard at https://www.unosend.co/dashboard/api-keys.
## Docs
- [Introduction](https://docs.unosend.co/introduction)
- [Quick Start](https://docs.unosend.co/quickstart)
- [Authentication](https://docs.unosend.co/authentication)
- [API Reference](https://docs.unosend.co/api-reference/introduction)
- [Sending Emails](https://docs.unosend.co/guides/sending-emails)
- [Domain Verification](https://docs.unosend.co/guides/domain-verification)
- [Templates](https://docs.unosend.co/guides/templates)
- [Webhooks](https://docs.unosend.co/guides/webhooks)
- [SMTP Relay](https://docs.unosend.co/guides/smtp)
- [Rate Limits](https://docs.unosend.co/resources/rate-limits)
- [Error Codes](https://docs.unosend.co/resources/error-codes)
- [CLI](https://docs.unosend.co/guides/cli)
- [Changelog](https://docs.unosend.co/changelog)
## API Endpoints
### Emails
- POST /api/v1/emails — Send a single email
- POST /api/v1/emails/batch — Send up to 100 emails in one request
- GET /api/v1/emails/:id — Get email details and delivery status
- GET /api/v1/emails — List emails with pagination and filters
### Domains
- POST /api/v1/domains — Add a domain
- GET /api/v1/domains/:id — Get domain details
- GET /api/v1/domains — List all domains
- DELETE /api/v1/domains/:id — Remove a domain
- POST /api/v1/domains/:id/verify — Verify DNS records
### API Keys
- POST /api/v1/api-keys — Create an API key
- GET /api/v1/api-keys — List API keys
- DELETE /api/v1/api-keys/:id — Revoke an API key
### Webhooks
- POST /api/v1/webhooks — Create a webhook
- GET /api/v1/webhooks/:id — Get webhook
- GET /api/v1/webhooks — List webhooks
- PATCH /api/v1/webhooks/:id — Update webhook
- DELETE /api/v1/webhooks/:id — Delete webhook
Webhook events: email.sent, email.delivered, email.bounced, email.opened, email.clicked, email.complained, email.unsubscribed
### Templates
- POST /api/v1/templates — Create a template
- GET /api/v1/templates/:id — Get template
- GET /api/v1/templates — List templates
- PATCH /api/v1/templates/:id — Update template
- DELETE /api/v1/templates/:id — Delete template
### Suppressions
- POST /api/v1/suppressions — Add email to suppression list
- GET /api/v1/suppressions — List suppressions
- GET /api/v1/suppressions/:id — Get suppression
- DELETE /api/v1/suppressions/:id — Remove suppression
## Send Email Example
```
POST https://api.unosend.co/v1/emails
Authorization: Bearer un_your_api_key
Content-Type: application/json
{
"from": "you@yourdomain.com",
"to": ["recipient@example.com"],
"subject": "Hello from Unosend",
"html": "<h1>Hello</h1><p>Your email content here.</p>"
}
```
Response:
```json
{
"id": "email_abc123",
"from": "you@yourdomain.com",
"to": ["recipient@example.com"],
"subject": "Hello from Unosend",
"status": "queued",
"created_at": "2026-02-15T12:00:00Z"
}
```
## SMTP Relay
- Host: smtp.unosend.co
- Port: 587 (STARTTLS) or 465 (SSL)
- Username: Your API key (un_...)
- Password: Your API key (un_...)
- Encryption: TLS required
## Pricing
Pure pay-as-you-go, credit-based pricing. No subscriptions, no plans, no minimums. 1 email = 1 credit = $0.0004.
- $4 per 10,000 emails ($0.0004 each)
- No minimum — top up any amount
- 3,000 email credits free on signup (one-time)
- Credits valid for 90 days
- Dedicated IP available on request for high-volume senders
- Enterprise/custom volume: Contact Sales
All accounts include: REST API, SMTP relay, email tracking (opens, clicks), webhooks, domain verification (DKIM and bounce-domain setup).
## Rate Limits
- API requests: 100 per minute per organization
- Batch endpoint: Up to 100 emails per request
- Daily sending: 200/day until first top-up, then unlimited (gated by wallet balance)
- Rate limit headers: X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset
- HTTP 429 returned when rate limit exceeded
## Features
- Email API — Send transactional emails via REST API
- SMTP Relay — Connect existing apps via standard SMTP
- Webhooks — Real-time delivery, bounce, open, and click notifications
- Templates — Reusable email templates with variables
- Domain Verification — DKIM authentication and bounce-domain setup
- Link & Open Tracking — Automatic tracking of email opens and link clicks
- Suppression Lists — Automatic bounce and complaint suppression
- Scheduling — Schedule emails for future delivery
- Visual Editor — Drag-and-drop email template builder
- Analytics Dashboard — Real-time delivery metrics and logs
## Error Codes
- 200 — Success
- 201 — Created
- 400 — Bad Request (invalid parameters)
- 401 — Unauthorized (missing or invalid API key)
- 403 — Forbidden (insufficient permissions)
- 404 — Not Found
- 429 — Rate Limited (too many requests)
- 500 — Internal Server Error
## SDKs
Unosend uses a universal REST API — no SDK required. Works with any HTTP client in any language (cURL, JavaScript fetch, Python requests, Go net/http, PHP curl, Ruby, Java, C#, etc.).
SMTP integration works with any app or framework that supports SMTP (WordPress, Django, Rails, Laravel, Nodemailer, etc.).
CLI: npm install -g unosend