// REST-API

REST-API-Dokumentation

Die Tool-Endpoints nutzen GET und liefern JSON im Format { "status": "success", "data": … }. Authentifiziere dich mit dem Parameter ?api_key= von der Seite API-Doku, nachdem du dich angemeldet hast.

Endpoints

Basis-URL: https://mailsmmo.com

GET/api/v1/services

Dienste — Preis & Bestand

Ohne ?service= wird die gesamte Liste zurückgegeben. Mit ?service= erhältst du Preis und Bestand eines Dienstes. Kein API-Key nötig.

Keine Authentifizierung

  • service (optional) — Leer lassen für die ganze Liste; mit einem Code wird ein Dienst zurückgegeben (reine Codes wie facebook werden akzeptiert)

Erfolg

{ "status": "success", "data": { "services": [
    { "code": "otp_gmail_facebook", "name": "Facebook", "price": 5000, "stock": 42 }
  ] } }

GET/api/v1/me

Kontoinformationen

ID, E-Mail-Adresse und Guthaben des API-Keys, mit dem der Aufruf erfolgt.

API-Key erforderlich

Erfolg

{ "status": "success", "data": { "id": "b7e5...-uuid", "email": "demo@mailsmmo.com", "balance": 1000000, "created_at": "2026-01-15T08:30:00Z" } }

GET/api/v1/orders

Bestellung erstellen

Ein Endpoint für beides: Ein Gmail-OTP-Code (otp_gmail_*) vergibt ein OTP-Postfach; ein Bestandsprodukt-Code (hotmail_*…) kauft nach Menge. Das Guthaben wird zum angezeigten Preis belastet.

API-Key erforderlich

  • service — OTP-Dienstcode (otp_gmail_*) oder Bestandsprodukt-Code (z. B. hotmail_imap_12m_36m)
  • quantity (optional) — Nur für einmalig verkaufte E-Mails — Menge (Standard 1)
  • unique_key (optional) — Selbst erzeugte UUID — ein erneutes Senden erstellt und belastet nicht doppelt

Erfolg

{ "status": "success", "data": {
    "id": "b7e5a1c2-3d4e-4f60-8a91-2c3d4e5f6a7b", "email": "zurhansuzu@gmail.com",
    "service": "otp_gmail_facebook", "amount": 5000
  } }

GET/api/v1/orders/otp

OTP per Bestellung abrufen

Liest das OTP einer Bestellung. Kein API-Key nötig — der Bestellcode (order_id) dient als Zugriffsschlüssel.

Keine Authentifizierung

  • order_id — Bestellcode (wird beim Erstellen der Bestellung zurückgegeben)
  • unique_key (optional) — Eine neue, selbst erzeugte UUID für jeden Aufruf
  • from (optional) — Unix-Sekunden — otp/received_at werden weggelassen, solange kein neuerer Code vorliegt

Erfolg

{ "status": "success", "data": {
    "otp": "481253", "amount": 5000, "received_at": 1732000000,
    "from": "security@facebookmail.com", "otp_history": [
      { "value": "481253", "received_at": 1732000000 }
    ] } }

GET/api/v1/otp/orders

Liste der OTP-Bestellungen

Gemietete Gmail-OTP-Bestellungen, paginiert, mit dem jeweils neuesten OTP.

API-Key erforderlich

  • page (optional) — Seite (Standard 1)
  • page_size (optional) — Zeilen pro Seite (Standard 20, max. 200)

Erfolg

{ "status": "success", "data": { "orders": [
    { "id": "b7e5a1c2-3d4e-4f60-8a91-2c3d4e5f6a7b", "email": "...", "service": "otp_gmail_facebook",
      "latest_otp": "481253", "latest_link": null }
  ], "page": 1, "page_size": 20, "total": 137 } }

GET/api/v1/mail

Alle Nachrichten lesen

Alle Nachrichten eines Postfachs, mit extrahiertem OTP/Link.

API-Key erforderlich

  • order_id — Bestellcode

Erfolg

{ "status": "success", "data": { "count": 1, "messages": [
    { "id": 88, "from": "...", "subject": "...", "otp": "481253", "received_at": "..." }
  ] } }

häufige fehlercodes

{ "status": "error", "message": "out_of_stock", "retryable": true }
  • unauthorized — API-Schlüssel ist ungültig oder fehlt (HTTP 401)
  • invalid_request — Ungültige Anfrageparameter (HTTP 400)
  • not_found — Dienst, Bestellung oder Endpoint nicht gefunden (HTTP 404)
  • insufficient_balance — Guthaben nicht ausreichend (HTTP 402)
  • out_of_stock — Nicht vorrätig (HTTP 409) — Gmail OTP: retryable, in ein paar Sekunden erneut versuchen; endgültig verkaufte E-Mail-Konten: auf Nachschub warten
  • service_unavailable — Der Server konnte die Bestellung gerade nicht abschließen — mit demselben unique_key erneut versuchen (HTTP 503, retryable)
  • in_progress — Die Bestellung wird gerade abgeschlossen oder existiert möglicherweise bereits beim Anbieter — mit demselben unique_key erneut versuchen (HTTP 409, retryable)
  • forbidden — Keine Berechtigung für die Ressource (HTTP 403)
  • idempotency_mismatch — unique_key wurde für eine andere Anfrage verwendet — einen neuen unique_key verwenden (HTTP 422)
  • order_cancelled — Die Bestellung wurde vor der Abbuchung freigegeben, es wurde nichts abgebucht — erneut versuchen (HTTP 409, retryable)
  • too_many_requests — Zu viele Anfragen — warten und erneut versuchen (HTTP 429, retryable)
  • auth_unavailable — Der API-Schlüssel konnte gerade nicht geprüft werden, der Schlüssel ist in Ordnung — erneut versuchen (HTTP 503, retryable)
  • shutting_down — Der Server wird neu gestartet — in ein paar Sekunden erneut versuchen (HTTP 503, retryable)
  • payload_too_large — Anfragetext zu groß (HTTP 413)
  • internal_server_error — Serverfehler, bitte später erneut versuchen (HTTP 500)

Doku für KI und Tools

Die vollständige Dokumentation in Markdown liegt unter https://mailsmmo.com/llms.txt — füge sie in Cursor, Claude oder ChatGPT ein, um Integrationscode zu erzeugen.

Sichere Wiederholungen mit unique_key

Sende mit jeder Bestellung einen unique_key (eine selbst erzeugte UUID). Bricht das Netzwerk ab, wiederhole mit demselben unique_key: Du erhältst dieselbe Bestellung zurück, ohne neue Bestellung und ohne zweite Abbuchung.

Fehlerformat

Bei einem Fehler enthält die Antwort nur status, message (ein Fehlercode in snake_case) und retryable, das angibt, ob ein erneuter Versuch sinnvoll ist.

Jetzt mit MailSMMO starten

Kostenlos registrieren, Wallet aufladen und in wenigen Minuten deine erste Mail mieten.

Konto erstellen →