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
11 domaines
7j rétention
0€ coût
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

Gratuit aujourd'hui, Pro bientôt

L'API publique gratuite couvre la majorité des usages personnels et tests. Pour des volumes plus importants ou un usage commercial, une offre Pro arrive prochainement.

Gratuit
50 req/h
5 par minute, par IP
  • Sans clé API
  • CORS ouvert
  • Détection OTP automatique
  • 4 domaines disponibles
  • JSON UTF-8 propre
Pro · Bientôt
5 000 req/h
Clé API, support, SLA
  • Volume 150x supérieur
  • Webhooks email reçu
  • Domaine personnalisé
  • Rétention 30 jours
  • Support prioritaire
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 7 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.ptmail123.clickmaildaft.commail123.com.brdaftmail.cloudmailtemp.fr. 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.