# Smartlead API

Smartlead API endpoint reference and patterns.

- Repository: https://github.com/growthenginenowoslawski/coldoutboundskills (797 stars)
- Category: Engineering
- License: MIT
- Last updated: 2026-10-05
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add growthenginenowoslawski/coldoutboundskills --skill smartlead-api -g -a claude-code -y`
Codex: `npx skills add growthenginenowoslawski/coldoutboundskills --skill smartlead-api -g -a codex -y`
Cursor: `npx skills add growthenginenowoslawski/coldoutboundskills --skill smartlead-api -g -a cursor -y`
Gemini CLI: `npx skills add growthenginenowoslawski/coldoutboundskills --skill smartlead-api -g -a gemini-cli -y`

## Description

Smartlead API endpoint reference and patterns. Use for any Smartlead campaign, lead, email account, analytics, or inbox operation. Covers auth, rate limiting, and all commonly used endpoints.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Smartlead API Reference

## Authentication

All requests use query parameter auth: `?api_key={SMARTLEAD_API_KEY}`

Environment variable: `$SMARTLEAD_API_KEY`

Base URL: `https://server.smartlead.ai/api/v1`

## Rate Limiting

- **Standard plan:** 2,000 req/min (33 req/sec)
- **Higher plans:** 3,000 req/min (50 req/sec)
- Retry on 429 and 5xx with exponential backoff
- For bulk operations, use `p-limit` or `PQueue` with 8-15 concurrency

## CLI Quick Reference

The `smartlead` CLI (`@smartlead/cli`) wraps all API endpoints. Use it for quick lookups:

```bash
# Campaigns
smartlead campaigns list
smartlead campaigns get <id>
smartlead campaigns create --name "Campaign Name"

# Leads
smartlead leads list --campaign-id <id>
smartlead leads add --campaign-id <id> --file leads.csv

# Email accounts
smartlead email-accounts list
smartlead email-accounts get <id>

# Analytics
smartlead analytics campaign <id>
smartlead analytics overall

# Master inbox
smartlead inbox replies
```

## API Endpoints

### Campaigns

```
GET  /campaigns/{id}, Fetch campaign by ID
POST /campaigns/create, Create new campaign
POST /campaigns/{id}/status, Update status (START, PAUSED, STOP)
     Body: { "status": "START" }
```

### Campaign Email Accounts

```
GET    /campaigns/{id}/email-accounts, List accounts assigned to campaign
POST   /campaigns/{id}/email-accounts, Add accounts to campaign
       Body: { "email_account_ids": [1, 2, 3] }
DELETE /campaigns/{id}/email-accounts, Remove accounts from campaign
```

### Campaign Sequences

```
GET  /campaigns/{id}/sequences, Fetch sequences
POST /campaigns/{id}/sequences, Save/update sequences
     Body: { "sequences": [{ "seq_number": 1, "seq_delay_details": { "delay_in_days": 0 }, "subject": "...", "email_body": "..." }] }
```

The rest: https://github.com/growthenginenowoslawski/coldoutboundskills/blob/HEAD/skills/smartlead-api/SKILL.md
