Bulk messaging, scheduling, and analytics
Millions of recipients
Send at optimal times
Real-time metrics
SMS, WhatsApp, Email
X-Smsly-Key-Id: sk_live_xxx
X-SMSLY-SDK-KEY: sdk_live_xxx
from smsly import SMSly
# === DUAL KEY SECURITY ===
# Two keys required (both can be in .env or embedded):
# 1. API Key - for authentication
# 2. SDK Key - for SDK validation
client = SMSly(
api_key="setup_api_your_key", # From dashboard
sdk_key="setup_sdk_your_key" # From dashboard
)
# Create a campaign
campaign = client.campaigns.create(
name="Summer Sale 2026",
type="sms", # or "whatsapp", "email"
message="🔥 50% off everything! Use code SUMMER50",
sender_id="MYSMSLY"
)
print(f"Campaign ID: {campaign.id}")
# Add recipients
client.campaigns.add_recipients(campaign.id, [
"+1234567890",
"+0987654321",
# Or import from segment
])
# Schedule campaign
client.campaigns.schedule(
campaign.id,
send_at="2026-01-20 10:00:00",
timezone="America/New_York"
)
# Or send immediately
client.campaigns.send(campaign.id)
# Get analytics
stats = client.campaigns.stats(campaign.id)
print(f"Sent: {stats.sent}")
print(f"Delivered: {stats.delivered}")
print(f"Clicked: {stats.clicked}")/v1/campaignsCreate campaign/v1/campaignsList campaigns/v1/campaigns/:idGet campaign details/v1/campaigns/:id/sendStart campaign/v1/campaigns/:id/pausePause campaign/v1/campaigns/:id/statsGet campaign analytics