Optimize Instantly costs through tier selection, sampling, and usage monitoring.
Use when analyzing Instantly billing, reducing API costs,
or implementing usage monitoring and budget alerts.
Trigger with phrases like "instantly cost", "instantly billing",
"reduce instantly costs", "instantly pricing", "instantly expensive", "instantly budget".
Optimize Instantly.ai costs by choosing the right plan, managing email account utilization, monitoring campaign efficiency, and reducing wasted sends. Instantly's pricing is based on sending accounts and features, not per-email — so the key to cost efficiency is maximizing the value per account.
Instantly Pricing Tiers (2026)
Plan
Monthly
Annual (per mo)
Email Accounts
Warmup
API Access
Webhooks
Growth
$30
$24
5
Included
v2 (limited)
No
Hypergrowth
$97.95
$77.60
25
Included
v2 (full)
Yes
Light Speed
$358.30
$286.30
500+
Included
v2 (full)
Yes
Key cost decision: You need Hypergrowth ($97.95/mo) minimum for full API v2 access and webhooks.
Instructions
Step 1: Audit Current Account Utilization
import { instantly } from "./src/instantly";
async function auditAccountUtilization() {
// Get all accounts
const accounts = await instantly<Array<{
email: string;
status: number;
daily_limit: number | null;
warmup_status: string;
}>>("/accounts?limit=200");
// Get daily analytics for the last 7 days
const endDate = new Date().toISOString().split("T")[0];
const startDate = new Date(Date.now() - 7 * 86400000).toISOString().split("T")[0];
const dailyAnalytics = await instantly<Array<{
email: string;
date: string;
emails_sent: number;
}>>(`/accounts/analytics/daily?start_date=${startDate}&end_date=${endDate}&emails=${accounts.map(a => a.email).join(",")}`);
// Calculate utilization
console.log("=== Account Utilization Audit ===\n");
let totalCapacity = 0;
let totalSent = 0;
const underutilized: string[] = [];
for (const account of accounts) {
const sent = dailyAnalytics
.filter((d) => d.email === account.email)
.reduce((sum, d) => sum + d.emails_sent, 0);
const dailyAvg = sent / 7;
const capacity = account.daily_limit || 50;
const utilization = (dailyAvg / capacity) * 100;
totalCapacity += capacity * 7;
totalSent += sent;
if (utilization < 20) {
underutilized.push(account.email);
}
console.log(`${account.email}: ${dailyAvg.toFixed(0)}/day of ${capacity} limit (${utilization.toFixed(0)}% utilized)`);
}
console.log(`\nOverall: ${totalSent} sent of ${totalCapacity} capacity (${((totalSent / totalCapacity) * 100).toFixed(0)}%)`);
console.log(`Underutilized accounts (<20%): ${underutilized.length}`);
if (underutilized.length > 0) {
console.log(`Consider removing: ${underutilized.join(", ")}`);
}
}