MailKite
Get your API key
All guides

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.

CandidateCurrent policy evidenceImplication for selection
SmartleadTerms prohibit unsolicited commercial electronic messages as defined by applicable Spam Laws; require necessary consents/permissionsFair Use Policy applies even to unlimited plans and can restrict usage
InstantlyPermitted Purpose includes own direct B2B activities; Sending Policy requires unsubscribe links and immediate opt-out handling PolicyConnected-account policies also apply; platform acceptance isn’t a determination of lawfulness
lemlistSending Policy conditions third-party lists on local privacy rules and requires a clear opt-out in every campaignImmediate opt-out, accurate sender identity, terms and mailbox-provider policies still apply

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.

DimensionSmartleadInstantlylemlist
API authenticationAPI key as query parameter; v1 base URLAPI v2 Bearer key with selected scopesHTTP Basic, empty username and API key as password
Documented API ratePlan-dependent; introduction directs readers to support for values100 requests/second and 6,000/minute, shared across workspace keys and v1/v220 requests per 2 seconds per API key, all routes
Account connectionsSMTP, Gmail, Outlook accounts and rotationGoogle/Microsoft OAuth connection workflowSMTP/IMAP connection endpoint; pricing also lists Google/Microsoft/SMTP Plans
Sequence controlTimed sequence steps and configurable stop-on-reply conditionCampaign management API; pricing lists advanced sequences/scheduling PlansCampaign/sequence/schedule resources, start/pause and lead-pause endpoints
Reply notificationEMAIL_REPLIEDreply_received and separate auto_reply_receivedemailsReplied; also documents third-party replies
Opt-out notificationEMAIL_UNSUBSCRIBEDlead_unsubscribedentityUnsubscribed, variableUnsubscribed, legacy emailsUnsubscribed

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.

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

CandidateModel documented on current pricing pageAdditional budget dimensions
SmartleadSubscriptions with contact/send allowances and separate add-onsProvisioned mailboxes/domains, verification, client workspaces, infrastructure
InstantlyOutreach allowances plus credits products/bundlesSelected product bundle, account provisioning, contact limits, credits
lemlistEmail plan by volume; multichannel pricing by users; data add-onsUser/channel mix, enrichment credits, signals and channel add-ons

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.