Menu
API de messagerie temporaire abordable

Des clés API Temp Mail pour automatiser vos tests d’e-mails

Générez des adresses e-mail temporaires, recevez des messages et téléchargez des pièces jointes via une API REST. Achetez votre propre clé API avec un quota fixe de requêtes pour vos processus de QA et de CI/CD. Payez une seule fois, sans abonnement.

Acheter une clé API à paiement unique Documentation API Vérifier le quota

API de messagerie temporaire abordable

Tarifs de l’API Temp Mail

Achetez une nouvelle clé API avec un nombre fixe de requêtes. Chaque clé est indépendante, sans renouvellement automatique ni recharge possible.

Quota à achat unique · sans abonnement

Quota : chaque requête authentifiée vers une API protégée consomme immédiatement 1 requête. Générer une adresse, consulter une boîte même vide, lire un message, télécharger une pièce jointe, supprimer ou vider des messages et consulter les statistiques sont comptabilisés. Chaque interrogation compte séparément. Vérifier le quota restant et les opérations liées à l’achat ne consomment pas de quota.

Le paiement est sécurisé par Stripe.

Remboursements : les clés API sont des produits numériques à achat unique, délivrés immédiatement après paiement. Une fois la clé délivrée, l’achat n’est généralement pas remboursable, sauf obligation légale ou défaut technique vérifié empêchant la livraison.

Votre clé API

Vérifier le quota d’une clé API

Saisissez la clé API complète. Elle est envoyée dans l’en-tête X-API-Key et jamais dans l’URL.

Intégrez les contrôles d’e-mails à vos processus

Tests d’inscription et de vérification

Créez une adresse temporaire pour tester votre propre application. Lisez les messages de vérification et extrayez les liens ou les codes de votre boîte de réception de test.

CI/CD et tests de non-régression

Utilisez des requêtes HTTP et des réponses JSON dans vos scripts de test pour vérifier la réception des e-mails lors des mises en production et des tests de non-régression.

Contrôle des e-mails et des pièces jointes

Examinez le contenu des messages et téléchargez les pièces jointes pour tester les e-mails transactionnels envoyés par votre application.

Questions sur les tarifs et l’achat de clés API

Puis-je essayer l’API avant d’acheter ?

ct-test est une clé partagée à quota limité pour essayer les exemples. Son utilisation et son quota restant sont communs à tous et consultables via le point de terminaison des quotas. Utilisez une clé achetée en production.

Démarrage rapide
S’agit-il d’un abonnement ?

Achetez une nouvelle clé API avec un nombre fixe de requêtes. Chaque clé est indépendante, sans renouvellement automatique ni recharge possible.

Quelles requêtes sont décomptées de mon quota ?

Une requête protégée consomme 1 requête dès l’authentification de la clé. Les boîtes vides, interrogations répétées et erreurs de traitement, comme un paramètre invalide ou un message absent, comptent aussi. La liste publique des domaines, la consultation des quotas et la facturation ne consomment pas de quota.

Comment obtenir ma clé API après le paiement ?

Une fois le paiement confirmé par Stripe, la page d’achat affiche votre nouvelle clé API. Conservez-la en lieu sûr. Vous pouvez la récupérer via votre lien privé pendant 90 jours.

Puis-je obtenir un remboursement ?

Remboursements : les clés API sont des produits numériques à achat unique, délivrés immédiatement après paiement. Une fois la clé délivrée, l’achat n’est généralement pas remboursable, sauf obligation légale ou défaut technique vérifié empêchant la livraison.

Acheter une clé API à paiement unique

Documentation API

Documentation API

Référence complète pour générer des adresses, recevoir des messages, télécharger des pièces jointes, gérer les boîtes, consulter les statistiques et vérifier les quotas. Copiez les exemples et adaptez-les avec votre clé API et les identifiants reçus.

Clé de test ct-test
URL de base https://cleantempmail.com/api

01 · Démarrage rapide

Démarrage rapide

Aucune inscription de boîte n’est nécessaire. Obtenez gratuitement les domaines actifs, composez une adresse valide localement ou utilisez le générateur facultatif, puis interrogez cette adresse et traitez les messages reçus. Les exemples de requêtes et de réponses figurent dans la référence ci-dessous.

1

Obtenir les domaines actifs

Appelez /api/domains sans clé. Cet outil public ne consomme pas de quota.

2

Composer ou générer

Composez gratuitement une adresse valide prefix@active-domain en local, ou utilisez le générateur facultatif pour 1 requête.

3

Consulter la boîte de réception

Transmettez l’adresse complète à /api/emails. Une liste vide est une réponse réussie, pas une erreur.

4

Lire ou télécharger

Utilisez emails[].id pour lire un message et attachments[].id pour télécharger un fichier.

02 · Authentification et quota

Authentification

Envoyez votre clé dans l’en-tête X-API-Key. Conservez les clés payantes sur votre serveur, sans les exposer dans le code du navigateur, les dépôts publics, les paramètres d’URL ou les journaux.

X-API-Key: YOUR_API_KEY
Clé de test partagée

ct-test est une clé partagée à quota limité pour essayer les exemples. Son utilisation et son quota restant sont communs à tous et consultables via le point de terminaison des quotas. Utilisez une clé achetée en production.

Quand le quota est consommé

Une requête protégée consomme 1 requête dès l’authentification de la clé. Les boîtes vides, interrogations répétées et erreurs de traitement, comme un paramètre invalide ou un message absent, comptent aussi. La liste publique des domaines, la consultation des quotas et la facturation ne consomment pas de quota.

Structure des réponses JSON

Les points de terminaison JSON renvoient success avec data ou error. Les points protégés authentifiés incluent aussi l’objet usage actualisé. Le téléchargement de pièces jointes renvoie des données binaires à la place de cette structure JSON.

{
  "success": true,
  "data": { "...": "endpoint-specific data" },
  "usage": {
    "daily_limit": 100,
    "used_today": 7,
    "remaining_today": 93,
    "total_limit": 1000,
    "total_used": 42,
    "remaining_total": 958
  }
}

Dans les champs de quota, une limite de 0 et un reste de -1 signifient illimité. Une clé achetée à paiement unique a normalement un total_limit positif.

03 · Tous les points de terminaison

Endpoints essentiels

Les points de terminaison sont regroupés par opération. Chaque badge indique si une authentification réussie consomme du quota.

GET /api/domains Sans clé API · sans quota

Lister les domaines publics actifs

Renvoie les domaines actuellement disponibles pour générer des adresses. Cet outil public ne nécessite aucune clé et ne consomme pas de quota. Les domaines privés GPTMail sont exclus.

ParamètreObligatoireDescription
qFacultatifFiltre par sous-chaîne des noms de domaine, sans distinction de casse.
offsetFacultatifNombre de domaines correspondants à ignorer. Valeur par défaut : 0.
limitFacultatifNombre de domaines à renvoyer. Valeur par défaut : 1000 ; maximum : 2000.
curl -sS "https://cleantempmail.com/api/domains?limit=100"
{
  "success": true,
  "data": {
    "domains": ["domain-one.example", "domain-two.example"],
    "total": 1832,
    "offset": 0,
    "limit": 100
  }
}
GET POST /api/generate-email Clé API · 1 requête

Générer une adresse e-mail temporaire

GET crée une adresse avec un préfixe généré et un domaine actif aléatoire. POST permet de choisir le préfixe, le domaine ou les deux. L’adresse finale est toujours renvoyée dans data.email.

Génération facultative : économisez du quota en composant l’adresse localement

Il n’est pas nécessaire d’appeler ce point de terminaison pour recevoir des messages. Après avoir obtenu un domaine actif via /api/domains, associez-le localement à un préfixe valide, par exemple [email protected]. Les messages reçus sont consultables normalement, sans consommation de quota pour composer l’adresse. Utilisez /api/generate-email uniquement pour faire choisir ou valider l’adresse par le service ; chaque appel consomme 1 requête.

Champ JSONObligatoireDescription
prefixFacultatifNom de boîte avant @. Lettres, chiffres, points, tirets bas et tirets sont acceptés dans la limite de longueur configurée.
domainFacultatifDomaine actif exact renvoyé par /api/domains. S’il est omis, le service en choisit un au hasard.
Générer une adresse aléatoire
curl -sS \
  -H "X-API-Key: ct-test" \
  "https://cleantempmail.com/api/generate-email"
Générer une adresse avec un préfixe et un domaine personnalisés
curl -sS -X POST \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  --data '{"prefix":"qa.user","domain":"your-active-domain.com"}' \
  "https://cleantempmail.com/api/generate-email"

Si le domaine demandé n’est plus actif, l’API renvoie HTTP 409 au lieu d’en choisir un autre silencieusement.

GET /api/emails?email={address} Clé API · 1 requête

Lister les messages d’une boîte

Renvoie jusqu’aux 500 messages les plus récents d’une adresse publique CleanTempMail. Une boîte nouvelle ou vide renvoie emails: [] et count: 0.

ParamètreObligatoireDescription
emailOuiAdresse complète de la boîte, domaine inclus. Encodez cette valeur pour l’URL.
curl -sS -G \
  -H "X-API-Key: YOUR_API_KEY" \
  --data-urlencode "[email protected]" \
  "https://cleantempmail.com/api/emails"
{
  "success": true,
  "data": {
    "emails": [
      {
        "id": "66c123example",
        "email_address": "[email protected]",
        "from_address": "[email protected]",
        "subject": "Your verification code",
        "content": "Your code is 123456",
        "html_content": "<p>Your code is <b>123456</b></p>",
        "has_html": true,
        "attachments": [
          {
            "id": "attachment-id",
            "filename": "receipt.pdf",
            "content_type": "application/pdf",
            "size": 48231
          }
        ],
        "timestamp": 1787702400,
        "raw_size": 51984,
        "created_at": "2026-08-25T12:00:00Z"
      }
    ],
    "count": 1
  },
  "usage": { "daily_limit": 100, "used_today": 2, "remaining_today": 98, "total_limit": 1000, "total_used": 2, "remaining_total": 998 }
}

Chaque interrogation consomme 1 requête, même sans nouveau message. Commencez à environ une requête toutes les 10 secondes et espacez-les si possible ; évitez les boucles d’interrogation intensives.

GET /api/email/{id} Clé API · 1 requête

Récupérer un message complet

Utilise l’id renvoyé par /api/emails pour récupérer le texte/HTML, les en-têtes, les horodatages et les métadonnées des pièces jointes d’un message. Le contenu binaire des pièces jointes n’est pas inclus dans le JSON.

curl -sS \
  -H "X-API-Key: YOUR_API_KEY" \
  "https://cleantempmail.com/api/email/66c123example"
Principaux champs d’un e-mail
Champ JSONDescription
idIdentifiant du message utilisé pour la lecture, les pièces jointes et la suppression.
email_addressAdresse de la boîte ayant reçu le message.
from_addressAdresse de l’expéditeur extraite.
subjectObjet du message extrait.
content / html_contentVersions texte brut et HTML nettoyé/affichable. Vérifiez has_html avant de privilégier le HTML.
attachments[]Métadonnées des pièces jointes : id, filename, content_type, size et content_id facultatif. Les données binaires se téléchargent séparément.
timestamp / created_atHorodatage Unix et date de création ISO 8601.
raw_content / headers / raw_sizeMessage/en-têtes bruts lorsqu’ils sont conservés, et taille d’origine du message en octets.
GET /api/email/{id}/attachment/{attachmentID} Clé API · 1 requête

Télécharger une pièce jointe

Télécharge une pièce jointe sous forme de fichier binaire. Utilisez l’id du message et attachments[].id renvoyés par GET /api/email/{id}. Chaque téléchargement consomme 1 requête API.

curl -fL -OJ \
  -H "X-API-Key: YOUR_API_KEY" \
  "https://cleantempmail.com/api/email/66c123example/attachment/attachment-id"

Le corps de la réponse contient le fichier. Le serveur définit Content-Type, Content-Length et Content-Disposition. curl -OJ enregistre le nom de fichier sûr fourni par le serveur. Les erreurs de pièce jointe sont renvoyées en texte brut.

DELETE /api/email/{id} Clé API · 1 requête

Supprimer un message

Supprime définitivement le message désigné par id. Obtenez cet identifiant via /api/emails. Cette action est irréversible.

curl -sS -X DELETE \
  -H "X-API-Key: YOUR_API_KEY" \
  "https://cleantempmail.com/api/email/66c123example"
{"success":true,"data":{"message":"Email deleted"},"usage":{"daily_limit":100,"used_today":4,"remaining_today":96,"total_limit":1000,"total_used":4,"remaining_total":996}}
DELETE /api/emails/clear?email={address} Clé API · 1 requête

Vider une boîte

Supprime définitivement tous les messages stockés pour la boîte publique indiquée et renvoie le nombre supprimé. Cette action est irréversible.

curl -sS -X DELETE -G \
  -H "X-API-Key: YOUR_API_KEY" \
  --data-urlencode "[email protected]" \
  "https://cleantempmail.com/api/emails/clear"
{"success":true,"data":{"message":"Deleted 3 emails","count":3},"usage":{"daily_limit":100,"used_today":5,"remaining_today":95,"total_limit":1000,"total_used":5,"remaining_total":995}}
GET /api/stats · /api/statistics/* Clé API · 1 par point de terminaison

Endpoints statistiques

Renvoie les statistiques publiques mises en cache. Chaque chemin constitue une requête protégée distincte et consomme 1 requête. Les messages des domaines privés sont exclus des statistiques publiques.

CheminDescription
/api/statsTotaux : messages, aujourd’hui, dernières 24 heures, objets distincts et domaines actifs.
/api/statistics/24hTableau de tranches horaires UTC avec hour et count.
/api/statistics/top-subjectsLes 10 objets de messages publics les plus fréquents avec count.
/api/statistics/top-domainsLes 10 domaines destinataires publics les plus fréquents avec count.
/api/statistics/top-sendersLes 10 expéditeurs les plus fréquents avec count.
curl -sS \
  -H "X-API-Key: YOUR_API_KEY" \
  "https://cleantempmail.com/api/stats"
{
  "success": true,
  "data": {
    "total_emails": 1250000,
    "today_emails": 32000,
    "emails_24h": 41000,
    "unique_subjects": 8600,
    "active_domains": 1832
  },
  "usage": { "daily_limit": 100, "used_today": 6, "remaining_today": 94, "total_limit": 1000, "total_used": 6, "remaining_total": 994 }
}
POST /api/api-key/usage Sans clé API · sans quota

Vérifier le quota d’une clé API

Renvoie l’état et l’utilisation d’une clé achetée, créée manuellement, épuisée ou de test partagée. Cette consultation ne consomme pas de quota. Fournissez la clé dans X-API-Key, méthode recommandée, ou dans le champ JSON api_key.

Recommandé : envoyer la clé dans un en-tête
curl -sS -X POST \
  -H "X-API-Key: YOUR_API_KEY" \
  "https://cleantempmail.com/api/api-key/usage"
Également accepté : envoyer la clé en JSON
curl -sS -X POST \
  -H "Content-Type: application/json" \
  --data '{"api_key":"ct-test"}' \
  "https://cleantempmail.com/api/api-key/usage"
{
  "success": true,
  "data": {
    "masked_key": "••••••••wxyz",
    "status": "active",
    "is_active": true,
    "daily_limit": 100,
    "used_today": 6,
    "remaining_today": 94,
    "total_limit": 1000,
    "total_used": 6,
    "remaining_total": 994
  }
}

status vaut active, exhausted ou inactive. Les clés achetées épuisées restent consultables. La clé complète et les métadonnées Stripe/client ne sont jamais renvoyées.

04 · Erreurs

Erreurs HTTP et résolution

Les points de terminaison JSON renvoient normalement success: false et une chaîne d’erreur. Celui des pièces jointes renvoie du texte brut en cas d’échec. Vérifiez toujours le statut HTTP avant de lire les données.

HTTPSignificationAction recommandée
400Donnée absente ou invalide, par exemple paramètre email manquant ou préfixe invalide.Corrigez la requête avant de réessayer.
401Clé API absente, invalide ou inactive.Vérifiez X-API-Key ou achetez/utilisez une autre clé active.
403La boîte demandée appartient à un domaine privé GPTMail.N’accédez pas aux boîtes privées GPTMail par cette API.
404Identifiant de message ou de pièce jointe introuvable ou expiré.Actualisez la liste des messages et cessez de réessayer les identifiants obsolètes.
409Le domaine explicitement choisi pour la génération est indisponible.Consultez /api/domains et choisissez explicitement un domaine actif.
429Le quota quotidien ou total est épuisé.Attendez la réinitialisation quotidienne ou utilisez une nouvelle clé achetée ; les clés à achat unique ne sont pas rechargeables.
503Le routage des boîtes se synchronise ou aucun domaine actif n’est disponible.Respectez Retry-After s’il est présent et espacez progressivement les nouvelles tentatives.
{
  "success": false,
  "error": "Email not found",
  "usage": {
    "daily_limit": 100,
    "used_today": 7,
    "remaining_today": 93,
    "total_limit": 1000,
    "total_used": 7,
    "remaining_total": 993
  }
}