REST API · v1 · Gratuit

Email temporaire,
curl-ready.

Intégrez en quelques lignes l'email jetable, l'inbox temporaire et la détection OTP dans vos apps. REST simple, JSON propre, CORS ouvert, sans authentification.

4 endpoints
12 domaines
14j rétention
0€ coût
★ / Premium

Des limites plus élevées avec Premium

L'API est gratuite pour tous. Les comptes Premium bénéficient de limites de débit multipliées et s'authentifient avec leur clé API personnelle.

Limites de débit
/api/v1/mailbox/new 50/min · 500/h
/api/v1/…/messages 100/min · 500/h
/api/v1/domains 100/min
Premium = ×10 sur les limites gratuites
Authentification

Récupérez votre clé API personnelle depuis votre compte, puis passez-la en en-tête :

X-API-Key: m123_ak_… Passer Premium
01 / Playground

Testez directement depuis le navigateur

Pas besoin d'installer Postman ou d'ouvrir un terminal. Choisissez un endpoint, ajustez les paramètres, exécutez. La réponse réelle de l'API s'affiche en direct.

Request
GET https://mail123.fr/api/v1/mailbox/new
Response
Cliquez sur Execute pour lancer la requête…
Request
GET https://mail123.fr/api/v1/mailbox/{address}/messages
Response
Cliquez sur Execute pour lancer la requête…
Request
GET https://mail123.fr/api/v1/mailbox/{address}/messages/{id}
Response
Cliquez sur Execute pour lancer la requête…
Request
GET https://mail123.fr/api/v1/domains

Aucun paramètre. Retourne la liste des domaines email actifs.

Response
Cliquez sur Execute pour lancer la requête…
02 / Endpoints

4 endpoints, 0 magie

Tous les endpoints utilisent HTTPS, retournent du JSON UTF-8, et incluent les headers X-RateLimit-* pour suivre votre consommation.

03 / Snippets

Copy-paste dans votre stack

Workflow complet : créer une boîte → poller les emails → extraire le code OTP. Dans le langage de votre choix.

# 1. Créer une boîte ADDR=$(curl -s https://mail123.fr/api/v1/mailbox/new | jq -r '.address') echo "Mailbox: $ADDR" # 2. Poller les emails (toutes les 5s) while true; do RESP=$(curl -s "https://mail123.fr/api/v1/mailbox/$ADDR/messages") OTP=$(echo $RESP | jq -r '.messages[0].otp_code // empty') [ -n "$OTP" ] && echo "OTP: $OTP" && break sleep 5 done
// 1. Créer une boîte const { address } = await fetch('https://mail123.fr/api/v1/mailbox/new').then(r => r.json()) console.log('Mailbox:', address) // 2. Poller toutes les 5s jusqu'à recevoir un OTP async function waitForOTP() { while (true) { const { messages } = await fetch(`https://mail123.fr/api/v1/mailbox/${address}/messages`).then(r => r.json()) const otp = messages.find(m => m.otp_code)?.otp_code if (otp) return otp await new Promise(r => setTimeout(r, 5000)) } } console.log('OTP:', await waitForOTP())
import requests, time # 1. Créer une boîte addr = requests.get('https://mail123.fr/api/v1/mailbox/new').json()['address'] print(f'Mailbox: {addr}') # 2. Poller jusqu'à recevoir un OTP while True: msgs = requests.get(f'https://mail123.fr/api/v1/mailbox/{addr}/messages').json()['messages'] otp = next((m['otp_code'] for m in msgs if m.get('otp_code')), None) if otp: print(f'OTP: {otp}'); break time.sleep(5)
<?php // 1. Créer une boîte $res = json_decode(file_get_contents('https://mail123.fr/api/v1/mailbox/new'), true); $addr = $res['address']; echo "Mailbox: $addr\n"; // 2. Poller jusqu'à OTP while (true) { $msgs = json_decode(file_get_contents("https://mail123.fr/api/v1/mailbox/$addr/messages"), true)['messages']; foreach ($msgs as $m) { if (!empty($m['otp_code'])) { echo "OTP: {$m['otp_code']}\n"; exit; } } sleep(5); }
package main import ("encoding/json"; "fmt"; "net/http"; "time") func main() { // 1. Créer une boîte r, _ := http.Get("https://mail123.fr/api/v1/mailbox/new") var box struct{ Address string } json.NewDecoder(r.Body).Decode(&box) // 2. Poller for { r, _ := http.Get("https://mail123.fr/api/v1/mailbox/" + box.Address + "/messages") var res struct{ Messages []struct{ OtpCode string `json:"otp_code"` } } json.NewDecoder(r.Body).Decode(&res) for _, m := range res.Messages { if m.OtpCode != "" { fmt.Println("OTP:", m.OtpCode); return } } time.Sleep(5 * time.Second) } }
require 'net/http'; require 'json' # 1. Créer une boîte addr = JSON.parse(Net::HTTP.get(URI('https://mail123.fr/api/v1/mailbox/new')))['address'] puts "Mailbox: #{addr}" # 2. Poller jusqu'à OTP loop do msgs = JSON.parse(Net::HTTP.get(URI("https://mail123.fr/api/v1/mailbox/#{addr}/messages")))['messages'] otp = msgs.find { |m| m['otp_code'] }&.dig('otp_code') if otp then puts "OTP: #{otp}"; break end sleep 5 end
04 / Quotas

Limites de débit

L'API publique est gratuite et limitée par IP. Les comptes Premium multiplient ces limites (×10) et disposent d'un quota par compte via leur clé API.

Gratuit · par IP
50/h
sans clé, sans inscription
  • Créer une boîte — 5/min · 50/h
  • Lire les messages — 10/min · 50/h
  • Domaines — 10/min
Premium · par compte
×10
clé X-API-Key, incluse avec Premium
  • Créer une boîte — 50/min · 500/h
  • Lire les messages — 100/min · 500/h
  • Domaines — 100/min
  • Quota par compte (non partagé par IP)

Passer Premium pour multiplier vos limites.

05 / Cas d'usage

Ce que les développeurs en font

Quelques usages concrets de l'API mail123, du test e2e à l'automatisation marketing. Tous légitimes, tous sans inscription.

Tests e2e automatisés

Playwright, Cypress, Selenium : générez une adresse à la volée, complétez le formulaire, lisez le mail de confirmation, extrayez le lien ou le code. Cycle complet en 30 secondes.

Bypass vérification email

Inscriptions sur des services douteux, comptes jetables pour tester une démo, accès one-shot à du contenu derrière un email-wall — sans polluer votre boîte principale.

Bots & automation

Scrapers qui doivent passer une confirmation email, workflows n8n/Make/Zapier, scripts Selenium qui automatisent un onboarding. L'API se branche en 3 lignes.

Environnements de dev

Stage et preview environments : remplacez Mailtrap, MailHog ou SES par une API publique. Les développeurs voient les vrais emails sans configurer de SMTP.

Tutos & formations

Démos de webhooks, exercices OAuth, formations sécurité : une adresse jetable et publique permet aux apprenants de tester sans risque sur leur vraie boîte.

Outils privacy

Extensions navigateur, gestionnaires de mots de passe, outils anti-spam : intégrez la génération d'alias temporaires en un appel HTTP.

06 / Errors

Codes HTTP & gestion d'erreur

Toutes les réponses incluent un champ success: bool et un éventuel error: string. Les codes HTTP suivent les conventions REST.

CodeSignificationAction
200SuccessRéponse contient success: true
400Bad RequestVérifiez la syntaxe de l'adresse ou du paramètre
403ForbiddenAdresse réservée (admin, root, postmaster…)
404Not FoundEmail introuvable ou expiré
429Too Many RequestsAttendez 1 minute, ou ré-essayez après le reset
500Server ErrorErreur serveur — réessayez, sinon contactez le support
07 / FAQ

Questions fréquentes

Réponses aux questions que les développeurs nous posent le plus souvent.

L'API est-elle vraiment gratuite ?
Oui, totalement gratuite. Pas de carte bancaire, pas d'inscription, pas de limite cachée. 30 requêtes par heure par adresse IP suffisent pour la plupart des usages personnels et de test. Pour plus, l'offre Pro arrivera bientôt.
Faut-il une clé API pour l'utiliser ?
Non. L'API publique fonctionne sans authentification. Pour la version Pro (à venir), une clé X-API-Key sera requise pour bénéficier des limites supérieures.
L'API supporte-t-elle CORS ?
Oui, CORS est totalement ouvert (Access-Control-Allow-Origin: *). Vous pouvez appeler l'API directement depuis un navigateur en JavaScript, sans proxy intermédiaire.
Combien de temps les emails sont-ils conservés ?
Les boîtes et leurs emails sont automatiquement supprimés après 14 jours d'inactivité. Pas de stockage persistant, pas d'archivage, pas de profil utilisateur.
L'API détecte-t-elle les codes OTP automatiquement ?
Oui. Chaque message renvoyé contient un champ otp_code. Notre moteur d'extraction reconnaît les codes numériques (4 à 8 chiffres), alphanumériques, et les formats avec séparateurs (XX-XX, XX XX). Détection contextuelle : le score augmente quand des mots-clés comme "verification", "code", "OTP" sont présents à proximité.
Quels domaines email sont disponibles ?
Les domaines actifs en ce moment : mail123.frmail456.frmail789.frmail123.cloudmail1mail.commail123.clickmaildaft.commail123.com.brdaftmail.cloudmailtemp.frmail123.beermail123box.tech. Liste à jour via GET /api/v1/domains.
L'API supporte-t-elle les webhooks ?
Pas encore. La version actuelle nécessite du polling (GET /messages toutes les 5-10 secondes). Les webhooks sont prévus dans la version Pro : notification HTTPS push dès qu'un email arrive dans une boîte que vous écoutez.
Que se passe-t-il en cas de dépassement du rate limit ?
L'API retourne un code HTTP 429 avec un header Retry-After indiquant en secondes le délai avant de réessayer. Les headers X-RateLimit-Remaining et X-RateLimit-Reset permettent de monitorer la consommation en amont.
Quels usages sont autorisés ?
Tout usage légitime : tests automatisés, vérifications email pour des comptes sandbox, automatisation de workflows développeur, outils privacy. Les abus (spam, scrap massif, fraude) entraînent un blocage IP définitif sans préavis.
Le service est-il fiable ? Quel uptime ?
Le service tourne sur des serveurs OVH à Roubaix, en France, avec un uptime moyen de 99.95% sur les 12 derniers mois. Status temps réel sur status.mail123.fr.

Construisez quelque chose de cool

Pas de signup. Pas de carte bancaire. Pas de webhook à configurer. Lancez votre premier appel API en 10 secondes.