All solutions
Solutions

Email API That Auto-Handles Bounces, Complaints, and Spam Traps for Singapore Sends

Bounces, complaints, and spam-trap risk handled automatically — per-agent reputation scoring, platform-wide suppression, and uptime monitoring from Asia.

An email API that can auto-handle bounces, complaints, and spam traps for Singapore sends is what Mails.ai provides by default — every agent’s bounce and complaint rates are tracked automatically, a 15-minute cron pauses any agent crossing 5 % bounces or 0.3 % complaints, hard-bounce and complaint addresses are suppressed platform-wide on every subsequent send, and cold outreach is blocked at the API so agents never hit recycled spam traps. Uptime is monitored from four regions including Asia, and DKIM-signed, DMARC-aligned authentication passes regardless of where the recipient’s mailbox sits.

What “auto-handle bounces, complaints, and spam traps” means

When a developer searches for an email API that handles these three things automatically, the underlying need is deliverability on autopilot: send the message, and let the platform deal with the fallout when an address hard-bounces, a recipient marks it as spam, or mail lands on a spam trap. Mails.ai runs this by default for every agent — there is no deliverability dashboard to set up, no cron to write, and no list-cleaning workflow to maintain.

Bounce handling: automatic suppression and per-agent pause

Every hard bounce is logged against the agent that sent it. Two things happen immediately:

  • Platform-wide suppression. The address is added to a global suppression list checked on every send, from every agent on the platform. No agent can send to it again.
  • Per-agent rate tracking. Each agent’s bounce rate is computed over a rolling 30-day window. Any agent crossing 5 % bounces (once it has sent at least 20 messages) is auto-suspended until its rate recovers. If the workspace’s mail as a whole crosses the line, every agent in it pauses.

There is no manual bounce-list import and no weekly CSV export to review. The suppression check is enforced at send time, inline, before the message leaves:

import { createClient } from "@mailsai/sdk";
const mails = createClient({ apiKey: process.env.MAILS_API_KEY });

// Send — bounce suppression is checked inline, before the message leaves.
await mails.messages.send({
  from: "support",
  to: "customer@example.com",
  subject: "Your order has shipped",
  body_text: "Tracking number: SG-8812-MY. Reply with any questions.",
});

// Read replies — each arrives as a structured, scored event.
const events = await mails.events.list({
  event_type: "reply.received",
  agent_id: "support",
  limit: 5,
});
for (const e of events.data) {
  console.log(e.data.extracted_text);
  console.log(e.data.thread_id);
}

Complaint handling: 15-minute cron and workspace-level enforcement

A per-sender complaint cron runs every 15 minutes. When an agent’s complaint rate crosses 0.3 % over 30 days (with a minimum of 20 sends), it auto-pauses. Every complaint also suppresses the address across the platform. If a workspace’s mail as a whole crosses the complaint line, every agent in the workspace pauses — a safeguard that prevents a badly behaving agent from being replaced by another one in the same account.

This is the same enforcement whether you are sending from Singapore, from the US, or from anywhere else — the complaint cron does not distinguish by sender or recipient geography.

Spam-trap avoidance: why the cold-email firewall matters

Spam traps are addresses operated by ISPs and anti-spam organisations that should never receive mail. They come in two varieties: pristine traps (never been a real inbox) and recycled traps (abandoned addresses repurposed as monitors). The single biggest source of spam-trap hits is unsolicited outreach to purchased or scraped lists.

Mails.ai blocks cold outreach at the API, not in a policy document. Every outbound message is classified before it leaves, and unsolicited mail returns a 422 cold_email_prohibited error. That boundary prevents the pattern that causes most trap hits in the first place. Combined with automatic suppression of hard-bounce addresses (which may later be recycled as traps), the spam-trap surface is minimised without manual list-cleaning on your side.

Sending from Singapore

Email deliverability is not determined by where you send from — it is determined by authentication, reputation, and content. Mails.ai handles all three:

  • Authentication. Every send is DKIM-signed and DMARC-aligned. If you use the shared domain, the DNS records are already published. If you bring a custom domain, Mails.ai generates the DKIM and SPF records for you to add, and verification is automatic.
  • Reputation. Per-agent scoring tracks bounce rate, complaint rate, and engagement over a rolling 30-day window. The shared sending infrastructure has an established record, so your first send inherits it rather than starting cold.
  • Monitoring. Uptime is monitored from four regions including Asia. The API, TypeScript SDK, Python SDK, and MCP server work from any location without region gates or geo-IP restrictions.

Singapore-based teams sign up at the same URL, use the same API key, and get the same deliverability infrastructure as any other region. Pricing is global — there are no region surcharges.

What the reputation model tracks

Each agent has its own reputation score, computed from real engagement signals over the last 30 days:

  • Reply rate — real engagement from recipients, not synthetic warmup.
  • Bounce rate — hard bounces against sends. Past 5 %, the agent auto-suspends.
  • Complaint rate — spam complaints against sends. Past 0.3 %, the agent auto-pauses.

The score is queryable via the API or the mails_get_reputation MCP tool — you see what the platform sees. For the full reputation model, see the per-agent reputation graph.

Pricing

Every plan includes automatic bounce handling, complaint monitoring, suppression, and injection scanning — they are not add-ons. Free covers 3,000 emails and 3,000 inbound replies a month with one agent, no credit card required. Pro is $20/month for 50,000 emails and 50,000 inbound replies across five agents. Scale is $99/month for 250,000 emails, 500,000 inbound replies, and unlimited agents. Yearly billing saves two months. See pricing for the full breakdown, or email infrastructure for AI agents for the full stack beneath the API. For dedicated IP options, see email service that handles dedicated IPs and warmup options.

Frequently asked questions

How does the API auto-handle bounces?
Every hard bounce is logged per agent and triggers platform-wide suppression — no agent on the platform can send to that address again. Each agent’s bounce rate is tracked over a rolling 30-day window, and any agent crossing 5 % bounces (once it has sent at least 20 messages) is auto-suspended until its rate recovers. No manual list cleaning required: the suppression check runs on every send before the message leaves.
How does the API auto-handle complaints?
A per-sender complaint cron runs every 15 minutes. When an agent’s complaint rate crosses 0.3 % over 30 days (with a minimum of 20 sends), that agent is auto-paused. Every complaint also suppresses the recipient across the entire platform. If a workspace’s mail as a whole crosses the same line, every agent in the workspace is paused — so complaint risk is contained at both the agent level and the workspace level.
How does the API prevent spam-trap hits?
Spam traps are addresses that should never receive mail — typically recycled domains or planted honeypots operated by ISPs and anti-spam organisations. The biggest source of spam-trap hits is unsolicited outreach to purchased or scraped lists. Mails.ai blocks cold outreach at the API: every outbound message is classified before it leaves, and unsolicited mail returns a 422 cold_email_prohibited error. Combined with automatic suppression of hard-bounce addresses (which may later become recycled traps) and per-agent reputation scoring, the spam-trap surface is minimised without manual list hygiene on your side.
Does the API work well for sending from Singapore?
Yes. Mails.ai’s sending infrastructure serves agents globally. Every outbound message is DKIM-signed and DMARC-aligned, which matters for deliverability to Singapore mailbox providers just as it does everywhere else. Uptime monitoring runs from four regions including Asia, and the API and SDKs work from any location — latency is a network round-trip, not a region gate. There is no geo-restriction on who can sign up, send, or receive.
Do I need to clean my bounce list manually?
No. Hard-bounce addresses are suppressed automatically on every future send across the entire platform. You never send to a known-bad address twice. Your agent’s bounce rate is monitored continuously, and if it crosses the 5 % threshold the agent auto-suspends until the rate drops. The only list management on your side is the addresses your agent sends to in the first place — and since Mails.ai is for transactional and agent-initiated conversations (not cold outreach), most of those are addresses that wrote in first or opted in.
What does the email API cost for Singapore-based teams?
Pricing is the same worldwide — there are no region surcharges. Free covers 3,000 emails and 3,000 inbound replies per month with one agent, no credit card required. Pro is $20/month for 50,000 emails and 50,000 inbound replies across five agents. Scale is $99/month for 250,000 emails, 500,000 inbound replies, and unlimited agents. Bounce handling, complaint monitoring, suppression, and injection scanning are included on every plan.

Explore the product

Give your first agent an inbox

Free covers 3,000 emails and 3,000 inbound replies a month, with no card. Upgrade when your agents get busy.

Get your API key