Skip to main content
Cold-email outreach API for Smartlead — create and run email campaigns, import leads (up to 400 per request), manage sender email accounts and warmup, read campaign analytics, categorize replies in the master inbox, and register webhooks for campaign events. Use when an agent needs to operate a team’s own Smartlead account: launching or pausing campaigns, adding leads, checking reply/open stats, or wiring campaign events into other systems. Careful: setting a campaign’s status to START begins real cold-email sending from the user’s connected accounts. 12 example endpoints available through Lava’s AI Gateway. See the Smartlead API docs for full documentation.
This provider requires your own credentials — connect your API key or OAuth account before use.
This is a catch-all provider — any valid URL under https://server.smartlead.ai/api/v1 is supported. Any Smartlead v1 endpoint. Construct URL as https://server.smartlead.ai/api/v1/&#123;path&#125; — auth is supplied automatically as an api_key query parameter, so never add it yourself. Collection endpoints keep their trailing slash (GET /campaigns/, GET /email-accounts/). List endpoints paginate with ?offset and ?limit (max 100 per page). Campaign status values are START, PAUSED, STOPPED (use START, not ACTIVE). Lead imports (POST /campaigns/{id}/leads) take a lead_list array of at most 400 leads per request. Campaign-scoped webhooks live at /campaigns/{id}/webhooks (POST with “id”: null creates, with a numeric id updates; DELETE /campaigns/{id}/webhooks with body {“id”: <webhook_id>} removes — the id goes in the body, not the path). Webhook event types are EMAIL_SENT, EMAIL_OPEN, EMAIL_LINK_CLICK, EMAIL_REPLY, EMAIL_BOUNCE, LEAD_UNSUBSCRIBED, LEAD_CATEGORY_UPDATED. Rate limits are per API key: 60 requests/min on Standard, 120/min on Pro; 429 responses include Retry-After and X-RateLimit-* headers — back off accordingly. SEND SAFETY: this platform sends real cold email. Setting a campaign status to START, or importing leads into an active campaign, starts actual sending from the user’s connected email accounts — confirm the user’s intent before mutating campaign state. Full reference: https://api.smartlead.ai/introduction. The endpoints below are curated examples.

Endpoints

List all campaigns in the account. Use as the auth/connectivity check.

GET https://server.smartlead.ai/api/v1/campaigns/ — Free

Top-level analytics for a campaign: sent, opens, clicks, replies, bounces, unsubscribes.

GET https://server.smartlead.ai/api/v1/campaigns/{campaign_id}/analytics — Free

List leads in a campaign with ?offset and ?limit (max 100), filterable by status, category, and engagement.

GET https://server.smartlead.ai/api/v1/campaigns/{campaign_id}/leads?offset=0&limit=100 — Free

List sender email accounts with connection status, warmup state, and campaign associations. Supports ?offset and ?limit (max 100).

GET https://server.smartlead.ai/api/v1/email-accounts/?offset=0&limit=100 — Free

List webhooks registered on a campaign.

GET https://server.smartlead.ai/api/v1/campaigns/{campaign_id}/webhooks — Free

Create a campaign in DRAFTED status. Body accepts only name (and client_id for agency accounts); configure schedule, sequences, and settings via separate endpoints afterward.

POST https://server.smartlead.ai/api/v1/campaigns/create — Free

Import leads into a campaign — lead_list array of at most 400 leads per request, with optional custom_fields (max 200 keys) and duplicate/validation settings. Importing into an active campaign queues real cold email to the new leads.

POST https://server.smartlead.ai/api/v1/campaigns/{campaign_id}/leads — Free

Change campaign status: START (begins or resumes real cold-email sending — confirm user intent first), PAUSED, or STOPPED. Use START, not ACTIVE.

POST https://server.smartlead.ai/api/v1/campaigns/{campaign_id}/status — Free
POST https://server.smartlead.ai/api/v1/campaigns/{campaign_id}/webhooks — Free

Categorize a lead reply in the master inbox (1 Interested, 2 Meeting Request, 3 Not Interested, 4 Do Not Contact, 5 Information Request, or a custom category id). Takes the campaign_lead_map_id from inbox or campaign-leads endpoints.

PATCH https://server.smartlead.ai/api/v1/master-inbox/update-category — Free

Update an account-level webhook: name, target URL, subscribed event types, and category filters.

PUT https://server.smartlead.ai/api/v1/webhook/update/{webhook_id} — Free

Delete a webhook from a campaign. The webhook id goes in the JSON body, not the URL path (the /webhooks/{webhook_id} path form 404s).

DELETE https://server.smartlead.ai/api/v1/campaigns/{campaign_id}/webhooks — Free

Next Steps

All Providers

Browse all supported AI providers

Forward Proxy

Learn how to construct proxy URLs and authenticate requests