Email API
An email API that reads the replies too.
Send from your own domain with one POST. Every sending address is a real inbox, so replies come back to your code, and you can hand any inbox to an agent when you want it automated.
100 emails a month free. No credit card.
const API = "https://api.lumbox.co/v1";
const headers = {
"X-API-Key": process.env.LUMBOX_API_KEY,
"Content-Type": "application/json",
};
await fetch(`${API}/inboxes/${inbox.id}/send`, {
method: "POST",
headers,
body: JSON.stringify({
to: "maria@acme.com",
subject: "Your invoice for October",
html: "<p>Hi Maria, your invoice is ready.</p>",
track_clicks: true,
}),
}); // replies land back in the same inbox
const { id } = await fetch(
`${API}/inboxes/${inbox.id}/wait?from=acme.com&timeout=120`,
{ headers },
).then((r) => r.json());
await fetch(`${API}/inboxes/${inbox.id}/reply`, {
method: "POST",
headers,
body: JSON.stringify({ email_id: id, text: "Thanks, Maria." }),
}); What you get
Sending, receiving and an agent, on one key.
Your domain
Send from your own domain with DKIM, SPF and DMARC records generated for you. Custom domains start on Starter.
Replies come back
Every sending address is a real inbox. Replies, bounces and auto-responses land where your code can read them, threaded.
Bulk and dry runs
Send up to 100 emails in one request, and test any send with dry_run before it goes out.
Webhooks
Get email.received, email.replied and email.clicked events the moment they happen.
Click tracking
Turn on track_clicks per message to see which links get opened.
Hand it to an agent
Attach an agent to any inbox and it can answer with your knowledge base, or keep sending from your own code.
Docs: sending and replies, threads and custom domains.