Home/Email API/Webhook vs API

Webhook vs API

An API is you asking. A webhook is being told. One pulls on demand, the other pushes on events, and almost every production system needs both.

Verified By George Hartley, Co-founder · Updated July 20, 2026

The difference in one table

An API call is a question you ask when you want an answer now: send this, fetch that. A webhook is a standing instruction: when this happens, tell me at this URL. The API puts you in control of timing; the webhook puts the event in control.

Polling an API for changes is the tell you needed a webhook: asking "anything new?" every minute is expensive on both sides and still up to a minute late. The push arrives once, when it happened.

In email, you need both

Email makes the split concrete. The API sends the message: POST, message ID back, done. The webhook reports its life afterwards: delivered, opened, clicked, bounced, complained, each POSTed to your endpoint as it happens.

Build with only the API and you're blind after the send. Build with only webhooks and you can't send. The two are one loop: act through the API, react through the webhook, and let your agent close the loop, a bounce fires, the contact gets suppressed, and you read about it afterwards.

A real trace of that loop from our own ops: a send reports six failures, and every one reads "contact email is suppressed" from earlier bounce suppressions. That's the system working: yesterday's webhook events protecting today's API calls, with nobody watching a dashboard in between.

Agents bend the pull-push split in an interesting way. An agent is transient: it runs, acts, and exits, so it usually can't host the public HTTPS endpoint a webhook wants to POST to. Agents poll. The first fully productized MCP client on our platform checks campaign state every fifteen minutes, and across all our agent traffic, 43 percent of tool calls are telemetry queries: agents asking what happened, then deciding what to do next. Push for servers, pull for agents, the same events underneath both.

Full parameters and responses live in the REST API docs and the API reference.

API - you ask
09:00anything new? → no
09:05anything new? → no
09:10anything new? → no
09:15anything new? → yes, 12m ago
Polling: late by design.
Webhook - you're told
09:03
POST yourapp.com/hooks
"bounced" - the moment it happened
One request. Zero seconds stale.

Go deeper

The mechanics: webhooks explained. Before production: test your webhook and secure it.

First send in thirty seconds.

Simple pricing. Unlimited contacts.

Every plan includes full stack emailing: Flows, Newsletter Campaigns and Transactional Email, plus our NitroWheel LLM and all agent integrations (Claude, ChatGPT, Codex, Cursor and others). Pay for what you send, not who you store.

Free
$0
forever
  • Emails 8,000then 500/mo
  • Email types Transactional & Marketing
  • AI actions 20/mo
  • Contacts Free & Unlimited
  • Brands 1
  • Seats 1
Start free
Ultra
$100
per month
  • Emails 125,000/month
  • AI actions 5,000/mo
  • Brands 5
  • Seats 10 · Domains 3
  • Frontier AI Included
  • Dedicated IP Available
Get started
Enterprise
$300
per month
  • AI actions Unlimited
  • Unlimited brands & domains Included
  • SSO / SAML Included
  • 99.9% SLA Included
Get started

Free forever. No credit card required. See full comparison →