Everything you need to integrate cold email infrastructure into your product. Comprehensive API reference, SDKs, and guides.
# No SDK required! Use the REST API directly
# Get your API key from Settings > API Keys
# Your API key format: sk_live_xxxxxxxxxxxxxxxx// Set your API key as an environment variable
// MAILFRA_API_KEY=sk_live_xxxxxxxxxxxxxxxx
const API_KEY = process.env.MAILFRA_API_KEY
const BASE_URL = "https://mailfra.com/api/v1"
// Helper function for API calls
async function mailfraAPI(endpoint, options = {}) {
const response = await fetch(`${BASE_URL}${endpoint}`, {
...options,
headers: {
"Authorization": `Bearer ${API_KEY}`,
"Content-Type": "application/json",
...options.headers,
},
})
return response.json()
}// Create a campaign
const campaign = await mailfraAPI("/campaigns", {
method: "POST",
body: JSON.stringify({
name: "Q1 2024 Outreach",
description: "Follow up with new leads",
})
})
// Add prospects to campaign
await mailfraAPI("/prospects/bulk", {
method: "POST",
body: JSON.stringify({
campaignId: campaign.id,
prospects: [
{ email: "john@company.com", firstName: "John", company: "Acme Inc" },
{ email: "jane@tech.com", firstName: "Jane", company: "TechCorp" }
]
})
})
// Launch campaign
await mailfraAPI(`/campaigns/${campaign.id}/launch`, { method: "POST" })Create, schedule, and manage cold email campaigns with advanced sequencing
Import, organize, and enrich prospect data with AI-powered insights
Build automated follow-up sequences with conditional logic and triggers
Generate personalized emails, predict performance, and auto-assign sequences
Track opens, clicks, replies, and measure campaign performance in real-time
Email warmup, domain health monitoring, and spam prevention tools
Real-time notifications for email events, replies, and bounces
Sync contacts with popular CRMs and manage your sales pipeline
Complete reference for all MailFra API endpoints
/api/campaignsList all campaigns
/api/campaignsCreate a campaign
/api/campaigns/:id/launchLaunch campaign
/api/campaigns/:id/pausePause campaign
/api/campaigns/:id/statsGet statistics
/api/prospects/uploadBulk upload prospects
/api/research/prospectResearch a prospect
/api/research/batchBatch research
/api/sequences/createCreate sequence
/api/campaigns/:id/sequence-triggersAdd triggers
/api/campaigns/:id/automation-rulesAdd automation
/api/generate/emailGenerate email content
/api/predict/email-performancePredict performance
/api/ai/sequence-recommendationsGet sequence recommendations
/api/settings/sending-accountsList email accounts
/api/oauth/gmailConnect Gmail
/api/oauth/outlookConnect Outlook
/api/domainsList domains
/api/domainsAdd domain
/api/domains/:idCheck domain health
/api/warmup/statsGet warmup statistics
/api/warmup/emailsList warmup emails
/api/warmup/emailsSend warmup email
/api/campaigns/:id/emailsGet campaign emails
/api/crm/statsGet CRM statistics
All API requests require authentication using an API key. Include your API key in the Authorization header.
curl https://mailfra.com/api/v1/campaigns \
-H "Authorization: Bearer sk_live_YOUR_API_KEY" \
-H "Content-Type: application/json"API keys start with sk_live_ followed by a unique identifier. Keys are hashed with SHA-256 for security.
Rate limits are applied per API key to ensure fair usage and system stability.
100
requests/hour
1,000
requests/hour
Custom
Contact sales
Every API response includes headers to help you track your rate limit status:
X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 995
X-RateLimit-Reset: 1640995200Receive real-time notifications when events happen in your account.
email.sentEmail successfully sent to prospect
email.openedProspect opened your email
email.clickedProspect clicked a link
email.repliedProspect replied to your email
email.bouncedEmail bounced or failed
campaign.completedCampaign finished sending
{
"event": "email.opened",
"timestamp": "2024-01-15T10:30:00Z",
"data": {
"emailId": "eml_abc123",
"campaignId": "cmp_xyz789",
"prospectId": "prs_def456",
"prospectEmail": "john@company.com",
"openedAt": "2024-01-15T10:30:00Z",
"userAgent": "Mozilla/5.0...",
"ipAddress": "203.0.113.0"
}
}Use any HTTP client in any language - no SDK required
fetch() / axiosrequests / httpxCommand lineHTTP POST/GET