Create inboxes, send and receive email, wait for messages, and extract verification codes — all via API. Purpose-built for autonomous systems.
import requests
# 1. Sign up (one API call, no verification needed)
r = requests.post("https://api.victorymail.dev/v1/console/signup",
json={"email": "agent@example.com", "password": "SecurePass1!", "name": "My Agent"})
api_key = r.json()["api_key"]
# 2. Create an inbox
inbox = requests.post("https://api.victorymail.dev/v1/inboxes",
headers={"x-api-key": api_key},
json={"display_name": "Signup Bot"}).json()
# 3. Sign up for a service, then extract the OTP
otp = requests.post(f"https://api.victorymail.dev/v1/inboxes/{inbox['id']}/extract-otp",
headers={"x-api-key": api_key},
json={"timeout": 25, "sender": "noreply@service.com"}).json()
print(f"Code: {otp['code']}") # "482917"
A complete email toolkit designed from the ground up for programmatic access.
Create email addresses on demand via REST API. No provisioning, no OAuth. Just one API call.
Full SMTP delivery with DKIM/SPF/DMARC. Inbound email routed to your webhook.
Long-poll for matching messages. Perfect for signup flows and verification.
Automatically extract verification codes from emails. One API call.
Bring your own domain. DNS records generated, verification automated.
Real-time event delivery with HMAC-SHA256 signatures. Retry on failure.
Three ways to give your AI agent email capabilities.
Direct API access. Sign up, create inbox, send email — 3 API calls, no human needed.
10 tools for AI agents via Model Context Protocol. Works with Claude, OpenClaw, and any MCP client.
{
"mcpServers": {
"freemail": {
"command": "node",
"args": ["path/to/mcp-server/dist/index.js"],
"env": {"FREEMAIL_API_KEY": "am_live_..."}
}
}
}
Install FreeMail as an OpenClaw skill. Your agent gets email capabilities with zero configuration.
Three steps to your first email.
One POST, get your API key instantly. No email verification needed.
Get an email address like abc123@victorymail.dev in one call.
Send email, long-poll for incoming, extract verification codes.
A complete workflow: create inbox, send email, wait for reply, extract OTP.
from freemail import FreeMail
client = FreeMail("am_live_your_key")
# Create an inbox
inbox = client.inboxes.create(display_name="Signup Bot")
print(f"Inbox: {inbox['email']}")
# Send an email
client.messages.send(
from_inbox=inbox["id"],
to="user@example.com",
subject="Hello from my agent",
body="This email was sent by an AI agent."
)
# Wait for a reply (long-poll, up to 60s)
reply = client.messages.wait(
inbox_id=inbox["id"],
sender="user@example.com",
timeout=60
)
# Extract an OTP from the reply
otp = client.inboxes.extract_otp(
inbox["id"],
sender="noreply@service.com"
)
print(f"Verification code: {otp['code']}")import FreeMail from 'freemail';
const client = new FreeMail('am_live_your_key');
// Create an inbox
const inbox = await client.inboxes.create({
displayName: 'Signup Bot'
});
console.log(`Inbox: ${inbox.email}`);
// Send an email
await client.messages.send({
fromInbox: inbox.id,
to: 'user@example.com',
subject: 'Hello from my agent',
body: 'This email was sent by an AI agent.'
});
// Wait for a reply (long-poll, up to 60s)
const reply = await client.messages.wait({
inboxId: inbox.id,
sender: 'user@example.com',
timeout: 60
});
// Extract an OTP
const otp = await client.inboxes.extractOtp({
inboxId: inbox.id,
sender: 'noreply@service.com'
});
console.log(`Verification code: ${otp.code}`);# Create an inbox
curl https://api.victorymail.dev/v1/inboxes \
-H "Authorization: Bearer am_live_your_key" \
-d '{"display_name": "Signup Bot"}'
# Send an email
curl https://api.victorymail.dev/v1/messages \
-H "Authorization: Bearer am_live_your_key" \
-d '{
"from_inbox": "inbox_abc123",
"to": "user@example.com",
"subject": "Hello from my agent",
"body": "This email was sent by an AI agent."
}'
# Wait for a reply (long-poll)
curl "https://api.victorymail.dev/v1/inboxes/inbox_abc123/messages/wait?sender=user@example.com&timeout=60" \
-H "Authorization: Bearer am_live_your_key"
# Extract OTP
curl "https://api.victorymail.dev/v1/inboxes/inbox_abc123/otp?sender=noreply@service.com" \
-H "Authorization: Bearer am_live_your_key"Start free. Scale when you're ready.
For prototyping and small projects.
For production workloads and teams.
Plug into your existing stack. SDKs, REST, and MCP for direct agent integration.
Sign up for free. No credit card required. First email in under two minutes.
Get Started Free