Cold email platforms compared: Smartlead, Instantly, and lemlist
Reviewed
Smartlead, Instantly, and lemlist are outreach-platform candidates with APIs for connecting campaign work to your application. Evaluate them by the sending-account model, reply and opt-out events, sequence control, and current policies. Smartlead documents multi-account campaign automation; Instantly documents a scoped API v2 and explicit reply event types; lemlist documents multichannel campaign resources and detailed unsubscribe events. None provides blanket permission for every prospect list.
Disclosure: we build MailKite. This is a primary-documentation comparison checked October 14, 2026, not a hands-on benchmark. MailKite prohibits unsolicited bulk or commercial email and sending without consent or after opt-out under its terms. We aren’t recommending MailKite as a cold-outreach sender. The companion JavaScript and Python guides are local simulations.
Start with policy, not mailbox count
The “cold email” product category doesn’t replace the agreement you accept. These policy findings come from the current primary pages, rather than inferring permission from campaign features.
Smartlead’s technical introduction calls the product a cold-email platform, but its terms contain the stated prohibition. Resolve that against your exact use case before live sending; don’t interpret the product label as an exception. Instantly and lemlist likewise put conditions on content, identity, recipients, and account use. A verified address or purchased platform plan doesn’t establish eligibility.
Developer integration contracts
Each factual cell links to direct documentation. “Undocumented” means the checked reference doesn’t establish a value or guarantee, not that the feature is absent.
API rates describe integration requests, not outbound messages. Instantly’s workspace-wide allowance means multiple keys share capacity. lemlist’s published limit is per key. Smartlead’s introduction does not publish a universal numeric allowance, so this comparison doesn’t invent one.
Keep these credentials server-side. Smartlead’s query-key pattern needs particular attention in proxy, access-log, and error-reporting configuration: URLs can carry the secret. lemlist’s Basic authentication is not a Bearer token, despite both being passed in an Authorization header. An adapter must follow the actual contract.
Recommended candidates by scenario
API-driven email campaigns across connected accounts: shortlist Smartlead if its campaign model fits and policy eligibility is resolved. Its documentation covers account rotation, sequence delays, stop conditions, lead management, and webhooks. The trade-off is that published technical capability and contractual eligibility need separate evaluation, and the current numeric API allowance requires confirmation for your plan.
A workspace integration needing OAuth connections and differentiated reply events: shortlist Instantly. Its API v2 documentation specifies scoped keys and a Google/Microsoft connection flow. Webhook events distinguish human reply notifications from auto-replies. This gives your application separate inputs for routing and cancellation, but you still need to define which events stop which enrollment and how account errors pause work.
A sales workflow spanning email and other channels: shortlist lemlist. Its current API index includes sequence steps, conditions, schedules, inbox conversations, lead pause/resume, and unsubscribe resources. The benefit is a documented resource model for more than an email loop. The cost is a broader integration surface: distinguish a campaign lead from a contact, and keep global do-not-contact state separate from campaign-specific state.
These are shortlist recommendations. We don’t rank their inbox placement, throughput, or reply quality because this review didn’t measure those outcomes. Marketing descriptions of warmup aren’t evidence of guaranteed delivery.
Reply handling deserves a failure review
Save platform campaign/lead IDs, contact identity, sender account, and message/thread references. Ingest events durably before updating your CRM. A duplicated reply event should stop the same enrollment twice harmlessly, not create two tasks or restart a sequence.
Smartlead’s webhook guide lists reply, bounce, and unsubscribe events. It includes a generic HMAC verification example but doesn’t establish the signature-header name or how to obtain the signing secret in that page. Treat that wire-level authentication detail as unresolved before production. Don’t copy a generic crypto example and declare the endpoint verified.
Instantly’s checked webhook page provides payload fields and event types, but doesn’t establish a signing mechanism or retry schedule. Those details are undocumented in the checked source and need separate confirmation. Its payload includes workspace and campaign identity; validate them against the expected integration rather than trusting any received JSON.
lemlist explicitly documents an optional shared secret echoed in the JSON body. That is a shared-secret check, not an HMAC signature over the payload. The same reference says third-party replies can omit campaign and lead identifiers. It also documents new entity/variable unsubscribe events replacing an older notification path. An integration listening only for the legacy event can miss withdrawals.
Read “unlimited” against the contract
Smartlead’s pricing advertises unlimited email accounts, while its Fair Use Policy lists 100 Basic, 300 Popular, and 800 Pro mailboxes. Those policy names don’t map cleanly to the current pricing names. Ask for the applicable account limit in writing; don’t silently match plan names or publish a universal unlimited-mailbox claim.
Instantly’s pricing advertises unlimited accounts, while its terms currently state 100 connected accounts per workspace. Treat the published conflict as something to resolve for your purchase and architecture. lemlist’s terms and current pricing also differ in email-plan sender descriptions; the terms restrict multiple connected identities on a seat to the same person. Confirm the agreement and allowance applicable to your plan.
These discrepancies matter when estimating capacity. A platform’s connection allowance doesn’t include free mailbox hosting, and more connections don’t guarantee more permitted sends from the underlying services.
Compare total pricing models
No numeric cost winner is claimed. Live pages combine billing-period toggles and product bundles, and their marketing allowances can conflict with legal terms. Fix mailbox ownership, active contacts, email volume, users, and required API/webhook access before comparing quotes. Check API entitlement rather than assuming an endpoint listed publicly is included in every plan.
Prove stop conditions before connecting live delivery
Use the cold email architecture guide and its local simulations to define a recipient state machine. Exercise reply, opt-out, bounce, disconnected account, duplicate import, and a restart during a delay. Then verify the selected platform adapter under a controlled, eligible test workflow. Keep one system responsible for follow-ups so your queue and the platform can’t both submit the same next step.
If the actual job is a subscriber edition or a customer event, use programmatic newsletters or programmatic email. Choose an outreach platform only after both its integration contract and current policy fit the intended job.