Four mailbox types
Gmail and Outlook aliases for volume, original accounts for strict sign-ups — one endpoint for all.
Codes pulled out for you
Every message comes back with the OTP already detected, so your script skips the parsing.
Failed calls cost nothing
If a billable call doesn't succeed, the credits go straight back to your wallet.
Top up your way
Easypaisa in PKR, or crypto: USDT, USDC, Litecoin and more. Credits never expire.
Hashed keys, three per account
Keys are shown once, stored as a hash, and can be revoked the moment you need to.
Every call on the record
A live ledger of calls, top-ups and credit movements in your workspace.
Copy-ready snippets
cURL, JavaScript and Python examples, plus one-click docs for your AI assistant.
Fair per-key limits
Rate limits keep the pool fast and stable for every builder.
Your inboxes stay yours
Mailboxes created by a key are visible only to the account that owns it.
What each call costs
| Action | Endpoint | Cost |
|---|---|---|
| Create Inbox — Gmail.com + Alias | POST /v1/inboxes | 0.5 credits |
| Create Inbox — Outlook.com + Alias | POST /v1/inboxes | 0.5 credits |
| Create Inbox — Gmail.com Original | POST /v1/inboxes | 3 credits |
| Create Inbox — Outlook.com Original | POST /v1/inboxes | 3 credits |
| Inbox Poll | GET /v1/inboxes/{id}/messages | 3 credits |
| Read Message | GET /v1/messages/{id} | 3 credits |
| Balance / Usage | GET /v1/account/* | No charge |
$1 = 1,000 credits. Minimum deposit $10, no maximum.
Top-up rewards
| Deposit | Bonus | Total credits |
|---|---|---|
| $10 | 10% | 11,000 |
| $100 | 20% | 120,000 |
| $250 | 30% | 325,000 |
| $500 | 40% | 700,000 |
| $1000 | 50% | 1,500,000 |
Each deposit gets the bonus of its own tier — not just your first one.
Live in four steps
- Step 1
Create a free account and sign in.
- Step 2
Top up at least $10 with Easypaisa or crypto.
- Step 3
Generate an API key (up to 3 active).
- Step 4
Send requests with Authorization: Bearer YOUR_KEY.
API Reference
Base URL https://freegmail.com/api/public/v1. Authenticate every request with Authorization: Bearer YOUR_KEY (or X-API-Key).
12,000
Gmail in stock
15,000
Outlook in stock
27,000+
Total live
JavaScript quick start
const r = await fetch("https://freegmail.com/api/public/v1/inboxes", {
method: "POST",
headers: { Authorization: "Bearer fg_live_YOUR_KEY",
"Content-Type": "application/json" },
body: JSON.stringify({ service: "gmail_alias" }),
});
const inbox = await r.json();Python quick start
import requests
r = requests.post("https://freegmail.com/api/public/v1/inboxes",
headers={"Authorization": "Bearer fg_live_YOUR_KEY"},
json={"service": "outlook_alias"})
inbox = r.json()/v1/inboxes— Create inboxCreates a new temporary inbox (expires after 10 minutes). Body: { "service": "gmail_alias" | "outlook_alias" | "gmail_original" | "outlook_original" } — Gmail.com + Alias, Outlook.com + Alias, Gmail.com Original, Outlook.com Original. List availability and prices with GET /v1/services.
curl -X POST https://freegmail.com/api/public/v1/inboxes \
-H "Authorization: Bearer fg_live_YOUR_KEY"{ "id": "8f1c…", "address": "name+abc@outlook.com", "expires_at": "…", "created_at": "…" }/v1/inboxes/{id}/messages— Poll inboxFetches new mail and returns the list of messages with the detected OTP.
curl https://freegmail.com/api/public/v1/inboxes/INBOX_ID/messages \
-H "Authorization: Bearer fg_live_YOUR_KEY"{ "inbox": { "id": "…", "address": "…", "active": true }, "data": [ { "id": "…", "from": "…", "subject": "…", "otp": "482913", "received_at": "…" } ] }/v1/messages/{id}— Read messageReturns the full message (text + HTML) for a message from one of your inboxes.
curl https://freegmail.com/api/public/v1/messages/MESSAGE_ID \
-H "Authorization: Bearer fg_live_YOUR_KEY"{ "id": "…", "to": "…", "from": "…", "subject": "…", "text": "…", "html": "…", "otp": "482913" }/v1/account/*— Balance & usage (no charge)Check your wallet balance and the last 100 requests.
curl https://freegmail.com/api/public/v1/account/balance -H "Authorization: Bearer fg_live_YOUR_KEY"
curl https://freegmail.com/api/public/v1/account/usage -H "Authorization: Bearer fg_live_YOUR_KEY"{ "balance": 104998, "currency": "credits" }Error codes
- 401
unauthorizedMissing, invalid or revoked key - 402
insufficient_creditsAdd funds to your wallet - 403
suspendedAccount under review - 404
not_foundInbox/message not yours, or unknown endpoint - 429
rate_limitedToo many requests per minute - 502
upstream_errorMail service failed (not charged)
Frequently asked questions
Do I need an account?
Yes. Docs and pricing are public, but you must sign in to add funds and manage API keys.
When can I create API keys?
After your first verified deposit of at least $10. After that, keys stay unlocked even if your balance reaches zero.
How many keys can I have?
Up to 3 active keys. Revoke one to create a replacement.
Are failed requests charged?
No. If a billable request fails, the credits are returned straight away.
How do bonuses work?
Every deposit gets the bonus of its own tier. It is not limited to the first deposit.
Which payment methods are supported?
Easypaisa (PKR, confirmed by our team) and crypto — USDT on Tron or BNB Chain, USDC, Litecoin, Trust Wallet and a multi-coin checkout, all confirmed automatically.
How much stock is available?
Live stock numbers are shown at the top of this page and update automatically.
Which mailboxes does the API create?
Four services: Gmail.com + Alias, Outlook.com + Alias, Gmail.com Original and Outlook.com Original. Inboxes expire after 10 minutes.