WA Lookup API-Referenz

Alle Endpunkte teilen sich einen API-Schlüssel und ein Guthaben.

EintragWert
Basis-URLhttps://walookup.com
Auth-HeaderX-API-Key: sk_your_api_key
Antwort-Envelope{ code, msg, data }

Preise werden hier nicht aufgeführt; jedes Produkt wird pro erfolgreicher Prüfung berechnet. Preise ansehen

Authentifizierung

Verwenden Sie einen in den Einstellungen erstellten API-Schlüssel und senden Sie ihn bei jeder Anfrage im Header X-API-Key mit.

Auth-Header
X-API-Key: sk_your_api_key

Halten Sie Ihren API-Schlüssel geheimRufen Sie diesen Endpunkt immer von Ihrem Server aus auf. Jeder, der den Schlüssel besitzt, kann Ihr Guthaben verbrauchen.

Synchrone Prüfungen

POST/api/v1/checkPOST/api/v1/batch-check

Übermitteln Sie eine Kennung oder bis zu 100 in einer Anfrage und lesen Sie das Ergebnis in derselben Antwort. Kein Polling, keine Callbacks. Ein unbestimmtes Ergebnis liefert 422 mit dem Code 42200 und wird nicht berechnet. Eine Mehrfachanfrage behält die Eingabereihenfolge bei, rechnet jede Kennung einzeln ab und hat 300 Sekunden Zeit – wird sie nicht rechtzeitig fertig, schlägt die gesamte Anfrage fehl und alle Abbuchungen werden erstattet.

Parameter

FeldTypBeschreibung
service_typestringProduktcode, eines der unten aufgeführten Produkte.
identifierstringEinzelprüfung: eine Telefonnummer im E.164-Format, mit oder ohne führendes +. Der Server normalisiert sie.
identifiersstring[]Mehrfachprüfung: 1 bis 100 Telefonnummern. Die Antwort behält diese Reihenfolge bei.

WhatsApp-Registrierungsprüfung

wsTelefon

Bestätigen Sie, ob eine Nummer bei WhatsApp registriert ist – nützlich, um eine Kontaktliste vor dem Versand zu prüfen.

Einzelprüfung

POST/api/v1/check
Anfrage
curl -X POST "https://walookup.com/api/v1/check" \
  -H "X-API-Key: sk_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{ "service_type": "ws", "identifier": "+17253100591" }'
{
  "code": 0,
  "msg": "ok",
  "data": {
    "service_type": "ws",
    "identifier": "+17253100591",
    "registered": true
  }
}
Antwortfelder
FeldTypBeschreibung
registeredbooleanOb die Nummer bei WhatsApp registriert ist.

Mehrfachprüfung

POST/api/v1/batch-check
Anfrage
curl -X POST "https://walookup.com/api/v1/batch-check" \
  -H "X-API-Key: sk_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{ "service_type": "ws", "identifiers": ["+17253100591", "+14155550000", "12345"] }'
Antwort
{
  "code": 0,
  "msg": "ok",
  "data": {
    "service_type": "ws",
    "total": 3,
    "succeeded": 2,
    "failed": 1,
    "results": [
      {
        "identifier": "+17253100591",
        "exists": true,
        "registered": true
      },
      {
        "identifier": "+14155550000",
        "exists": true,
        "registered": false
      },
      {
        "identifier": "12345",
        "exists": false
      }
    ]
  }
}
Antwortfelder
FeldTypBeschreibung
existsbooleanOb diese Nummer ein Ergebnis geliefert hat. false bedeutet, dass das Format ungültig war, das Ergebnis unbestimmt war oder die Prüfung fehlgeschlagen ist; bei false ist keines der folgenden Felder vorhanden.
registeredbooleanOb die Nummer registered ist. Nur vorhanden, wenn exists true ist, mit derselben Bedeutung wie bei der Einzelprüfung.

WhatsApp-Profilbildprüfung

ws_avatarTelefon

Prüfen Sie, ob eine Nummer bei WhatsApp registriert ist, und erhalten Sie die Profilbildfelder: avatar (ob ein Profilbild ermittelt wurde) und avatar_url.

Einzelprüfung

POST/api/v1/check
Anfrage
curl -X POST "https://walookup.com/api/v1/check" \
  -H "X-API-Key: sk_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{ "service_type": "ws_avatar", "identifier": "+17253100591" }'
{
  "code": 0,
  "msg": "ok",
  "data": {
    "service_type": "ws_avatar",
    "identifier": "+17253100591",
    "registered": true,
    "avatar": true,
    "avatar_url": "<image url>"
  }
}
Antwortfelder
FeldTypBeschreibung
registeredbooleanOb die Nummer bei WhatsApp registriert ist.
avatarbooleanOb für das Konto ein Profilbild festgelegt ist. avatar_url kann dennoch leer sein, wenn das Bild nicht verfügbar ist.
avatar_urlstringDie URL des Profilbilds; ein leerer String, wenn keine URL verfügbar ist.

Mehrfachprüfung

POST/api/v1/batch-check
Anfrage
curl -X POST "https://walookup.com/api/v1/batch-check" \
  -H "X-API-Key: sk_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{ "service_type": "ws_avatar", "identifiers": ["+17253100591", "+14155550000", "12345"] }'
Antwort
{
  "code": 0,
  "msg": "ok",
  "data": {
    "service_type": "ws_avatar",
    "total": 3,
    "succeeded": 2,
    "failed": 1,
    "results": [
      {
        "identifier": "+17253100591",
        "exists": true,
        "registered": true,
        "avatar": true,
        "avatar_url": "<image url>"
      },
      {
        "identifier": "+14155550000",
        "exists": true,
        "registered": false,
        "avatar": false,
        "avatar_url": ""
      },
      {
        "identifier": "12345",
        "exists": false
      }
    ]
  }
}
Antwortfelder
FeldTypBeschreibung
existsbooleanOb diese Nummer ein Ergebnis geliefert hat. false bedeutet, dass das Format ungültig war, das Ergebnis unbestimmt war oder die Prüfung fehlgeschlagen ist; bei false ist keines der folgenden Felder vorhanden.
registeredbooleanOb die Nummer registered ist. Nur vorhanden, wenn exists true ist, mit derselben Bedeutung wie bei der Einzelprüfung.
avatarbooleanOb für das Konto ein Profilbild festgelegt ist. avatar_url kann dennoch leer sein, wenn das Bild nicht verfügbar ist.
avatar_urlstringDie URL des Profilbilds; ein leerer String, wenn keine URL verfügbar ist.

WhatsApp-Business-Kontoprüfung

ws_businessTelefon

Prüfen Sie die Registrierung und ermitteln Sie, ob die Nummer ein WhatsApp Business-Konto nutzt.

Einzelprüfung

POST/api/v1/check
Anfrage
curl -X POST "https://walookup.com/api/v1/check" \
  -H "X-API-Key: sk_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{ "service_type": "ws_business", "identifier": "+17253100591" }'
{
  "code": 0,
  "msg": "ok",
  "data": {
    "service_type": "ws_business",
    "identifier": "+17253100591",
    "registered": true,
    "business": true
  }
}
Antwortfelder
FeldTypBeschreibung
registeredbooleanOb die Nummer bei WhatsApp registriert ist.
businessbooleanOb es sich um ein WhatsApp Business-Konto handelt.

Mehrfachprüfung

POST/api/v1/batch-check
Anfrage
curl -X POST "https://walookup.com/api/v1/batch-check" \
  -H "X-API-Key: sk_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{ "service_type": "ws_business", "identifiers": ["+17253100591", "+14155550000", "12345"] }'
Antwort
{
  "code": 0,
  "msg": "ok",
  "data": {
    "service_type": "ws_business",
    "total": 3,
    "succeeded": 2,
    "failed": 1,
    "results": [
      {
        "identifier": "+17253100591",
        "exists": true,
        "registered": true,
        "business": true
      },
      {
        "identifier": "+14155550000",
        "exists": true,
        "registered": false,
        "business": false
      },
      {
        "identifier": "12345",
        "exists": false
      }
    ]
  }
}
Antwortfelder
FeldTypBeschreibung
existsbooleanOb diese Nummer ein Ergebnis geliefert hat. false bedeutet, dass das Format ungültig war, das Ergebnis unbestimmt war oder die Prüfung fehlgeschlagen ist; bei false ist keines der folgenden Felder vorhanden.
registeredbooleanOb die Nummer registered ist. Nur vorhanden, wenn exists true ist, mit derselben Bedeutung wie bei der Einzelprüfung.
businessbooleanOb es sich um ein WhatsApp Business-Konto handelt.

Asynchrone Prüfungen

POST/api/v1/bulk-tasksGET/api/v1/bulk-tasks/{id}

Laden Sie eine Datei hoch und erhalten Sie sofort eine Aufgaben-ID; fragen Sie diese ID dann ab, bis sie erfolgreich ist. Die erfolgreiche Antwort enthält result_url, den Download-Link für das Ergebnis. Es gibt nur zwei Aktionen: übermitteln und abfragen. Fragen Sie höchstens einmal alle 30 Sekunden ab.

Parameter

FeldTypBeschreibung
service_typestringProduktcode für die Massenprüfung, eines der unten aufgeführten Produkte.
countrystringISO-3166-1-Code wie US. Erforderlich für Nummernaufgaben: Jede Nummer muss ihre Ländervorwahl enthalten und zu diesem Land gehören (Nummern, die das nicht tun, werden ausgelassen und nicht berechnet); außerdem bestimmt er das Routing. Bei multipart muss er vor file stehen.
filefileEine .txt- oder .csv-Datei mit einer Kennung pro Zeile, bis zu max_file_bytes (standardmäßig 20MB).
Idempotency-KeyheaderOptional, bis zu 128 Zeichen. Wird derselbe Schlüssel erneut gesendet, wird die ursprüngliche Aufgabe zurückgegeben, statt eine zweite zu erstellen.

WhatsApp-Massenprüfung der Registrierung

ws_batchTelefon1.000–500.000 pro Aufgabe

Laden Sie eine ganze Datei mit Nummern hoch, finden Sie heraus, welche bei WhatsApp registriert sind, und laden Sie die Ergebnisdatei herunter, sobald sie fertig ist.

Aufgabe übermitteln

POST/api/v1/bulk-tasks
Anfrage
curl -X POST "https://walookup.com/api/v1/bulk-tasks" \
  -H "X-API-Key: sk_your_api_key" \
  -F service_type=ws_batch \
  -F country=US \
  -F file=@numbers.txt
Antwort
{
  "code": 0,
  "msg": "ok",
  "data": {
    "id": "3f9c2a7d8e4b4c1a9f0e6b2d5c8a7e13",
    "product": "ws_batch",
    "status": "processing",
    "country": "US",
    "submitted_lines": 1015,
    "total": 1015,
    "invalid_cnt": 0,
    "no_code_cnt": 0,
    "other_country_cnt": 0,
    "duplicate_cnt": 0,
    "preparing": true,
    "created_at": "2026-09-08T09:30:00Z"
  }
}

Aufgabe abfragen

GET/api/v1/bulk-tasks/{id}
Anfrage
curl "https://walookup.com/api/v1/bulk-tasks/3f9c2a7d8e4b4c1a9f0e6b2d5c8a7e13" \
  -H "X-API-Key: sk_your_api_key"
Antwort
{
  "code": 0,
  "msg": "ok",
  "data": {
    "id": "3f9c2a7d8e4b4c1a9f0e6b2d5c8a7e13",
    "product": "ws_batch",
    "status": "success",
    "country": "US",
    "submitted_lines": 1015,
    "total": 1000,
    "invalid_cnt": 3,
    "no_code_cnt": 0,
    "other_country_cnt": 0,
    "duplicate_cnt": 12,
    "preparing": false,
    "success_cnt": 990,
    "failure_cnt": 10,
    "result_url": "https://…/result.csv",
    "created_at": "2026-09-08T09:30:00Z"
  }
}
Ergebnisspalten
FeldBeispiel:Beschreibung
identifier17253100591Die übermittelte Nummer als reine Ziffern mit Ländervorwahl, ohne Pluszeichen oder Leerzeichen (z. B. 17253100591).
activatedtrueOb die Nummer bei WhatsApp registriert ist: true oder false.

WhatsApp-Massenprüfung des Profilbilds

ws_avatar_batchTelefon1.000–500.000 pro Aufgabe

Prüfen Sie eine ganze Liste auf WhatsApp-Registrierung und Profilbild: ob für jede registrierte Nummer ein Profilbild festgelegt ist, plus die URL des Profilbilds.

Aufgabe übermitteln

POST/api/v1/bulk-tasks
Anfrage
curl -X POST "https://walookup.com/api/v1/bulk-tasks" \
  -H "X-API-Key: sk_your_api_key" \
  -F service_type=ws_avatar_batch \
  -F country=US \
  -F file=@numbers.txt
Antwort
{
  "code": 0,
  "msg": "ok",
  "data": {
    "id": "3f9c2a7d8e4b4c1a9f0e6b2d5c8a7e13",
    "product": "ws_avatar_batch",
    "status": "processing",
    "country": "US",
    "submitted_lines": 1015,
    "total": 1015,
    "invalid_cnt": 0,
    "no_code_cnt": 0,
    "other_country_cnt": 0,
    "duplicate_cnt": 0,
    "preparing": true,
    "created_at": "2026-09-08T09:30:00Z"
  }
}

Aufgabe abfragen

GET/api/v1/bulk-tasks/{id}
Anfrage
curl "https://walookup.com/api/v1/bulk-tasks/3f9c2a7d8e4b4c1a9f0e6b2d5c8a7e13" \
  -H "X-API-Key: sk_your_api_key"
Antwort
{
  "code": 0,
  "msg": "ok",
  "data": {
    "id": "3f9c2a7d8e4b4c1a9f0e6b2d5c8a7e13",
    "product": "ws_avatar_batch",
    "status": "success",
    "country": "US",
    "submitted_lines": 1015,
    "total": 1000,
    "invalid_cnt": 3,
    "no_code_cnt": 0,
    "other_country_cnt": 0,
    "duplicate_cnt": 12,
    "preparing": false,
    "success_cnt": 990,
    "failure_cnt": 10,
    "result_url": "https://…/result.csv",
    "created_at": "2026-09-08T09:30:00Z"
  }
}
Ergebnisspalten
FeldBeispiel:Beschreibung
identifier17253100591Die übermittelte Nummer als reine Ziffern mit Ländervorwahl, ohne Pluszeichen oder Leerzeichen (z. B. 17253100591).
activatedtrueOb die Nummer bei WhatsApp registriert ist: true oder false. Ist der Wert nicht true, bleiben alle anderen Spalten dieser Zeile leer.
avatartrueOb für das Konto ein Profilbild festgelegt ist: true oder false. avatar_url kann dennoch leer sein, wenn das Bild nicht verfügbar ist.
avatar_urlhttps://pps.whatsapp.net/v/example.jpgDie URL des Profilbilds; leer, wenn keine URL verfügbar ist.

WhatsApp-Massenprüfung für Business-Konten

ws_business_batchTelefon1.000–500.000 pro Aufgabe

Prüfen Sie eine ganze Liste auf WhatsApp Business-Konten: ob jede Nummer bei WhatsApp ist und ob es sich um ein WhatsApp Business-Konto handelt.

Aufgabe übermitteln

POST/api/v1/bulk-tasks
Anfrage
curl -X POST "https://walookup.com/api/v1/bulk-tasks" \
  -H "X-API-Key: sk_your_api_key" \
  -F service_type=ws_business_batch \
  -F country=US \
  -F file=@numbers.txt
Antwort
{
  "code": 0,
  "msg": "ok",
  "data": {
    "id": "3f9c2a7d8e4b4c1a9f0e6b2d5c8a7e13",
    "product": "ws_business_batch",
    "status": "processing",
    "country": "US",
    "submitted_lines": 1015,
    "total": 1015,
    "invalid_cnt": 0,
    "no_code_cnt": 0,
    "other_country_cnt": 0,
    "duplicate_cnt": 0,
    "preparing": true,
    "created_at": "2026-09-08T09:30:00Z"
  }
}

Aufgabe abfragen

GET/api/v1/bulk-tasks/{id}
Anfrage
curl "https://walookup.com/api/v1/bulk-tasks/3f9c2a7d8e4b4c1a9f0e6b2d5c8a7e13" \
  -H "X-API-Key: sk_your_api_key"
Antwort
{
  "code": 0,
  "msg": "ok",
  "data": {
    "id": "3f9c2a7d8e4b4c1a9f0e6b2d5c8a7e13",
    "product": "ws_business_batch",
    "status": "success",
    "country": "US",
    "submitted_lines": 1015,
    "total": 1000,
    "invalid_cnt": 3,
    "no_code_cnt": 0,
    "other_country_cnt": 0,
    "duplicate_cnt": 12,
    "preparing": false,
    "success_cnt": 990,
    "failure_cnt": 10,
    "result_url": "https://…/result.csv",
    "created_at": "2026-09-08T09:30:00Z"
  }
}
Ergebnisspalten
FeldBeispiel:Beschreibung
identifier17253100591Die übermittelte Nummer als reine Ziffern mit Ländervorwahl, ohne Pluszeichen oder Leerzeichen (z. B. 17253100591).
activatedtrueOb die Nummer bei WhatsApp registriert ist: true oder false. Ist der Wert nicht true, bleiben alle anderen Spalten dieser Zeile leer.
businessfalseOb es sich um ein WhatsApp Business-Konto handelt: true oder false.

WhatsApp-Massenprüfung der Aktivität

ws_active_batchTelefon1.000–500.000 pro Aufgabe

Registrierungsstatus plus aktive Tage – Tage seit der letzten Aktivität der Nummer –, damit Sie in einer ganzen Liste aktive von ruhenden Nummern unterscheiden können.

Aufgabe übermitteln

POST/api/v1/bulk-tasks
Anfrage
curl -X POST "https://walookup.com/api/v1/bulk-tasks" \
  -H "X-API-Key: sk_your_api_key" \
  -F service_type=ws_active_batch \
  -F country=US \
  -F file=@numbers.txt
Antwort
{
  "code": 0,
  "msg": "ok",
  "data": {
    "id": "3f9c2a7d8e4b4c1a9f0e6b2d5c8a7e13",
    "product": "ws_active_batch",
    "status": "processing",
    "country": "US",
    "submitted_lines": 1015,
    "total": 1015,
    "invalid_cnt": 0,
    "no_code_cnt": 0,
    "other_country_cnt": 0,
    "duplicate_cnt": 0,
    "preparing": true,
    "created_at": "2026-09-08T09:30:00Z"
  }
}

Aufgabe abfragen

GET/api/v1/bulk-tasks/{id}
Anfrage
curl "https://walookup.com/api/v1/bulk-tasks/3f9c2a7d8e4b4c1a9f0e6b2d5c8a7e13" \
  -H "X-API-Key: sk_your_api_key"
Antwort
{
  "code": 0,
  "msg": "ok",
  "data": {
    "id": "3f9c2a7d8e4b4c1a9f0e6b2d5c8a7e13",
    "product": "ws_active_batch",
    "status": "success",
    "country": "US",
    "submitted_lines": 1015,
    "total": 1000,
    "invalid_cnt": 3,
    "no_code_cnt": 0,
    "other_country_cnt": 0,
    "duplicate_cnt": 12,
    "preparing": false,
    "success_cnt": 990,
    "failure_cnt": 10,
    "result_url": "https://…/result.csv",
    "created_at": "2026-09-08T09:30:00Z"
  }
}
Ergebnisspalten
FeldBeispiel:Beschreibung
identifier17253100591Die übermittelte Nummer als reine Ziffern mit Ländervorwahl, ohne Pluszeichen oder Leerzeichen (z. B. 17253100591).
activatedtrueOb die Nummer bei WhatsApp registriert ist: true oder false. Ist der Wert nicht true, bleiben alle anderen Spalten dieser Zeile leer.
activedays9Tage seit der letzten Aktivität der Nummer – je kleiner, desto aktueller.

Guthaben

GET/api/v1/balance

Liest das aktuelle Kontoguthaben in USD-Mikroeinheiten aus. Nur lesend: Es wird kein Prüfdatensatz erstellt und nichts berechnet.

Guthaben

GET/api/v1/balance
Anfrage
curl "https://walookup.com/api/v1/balance" \
  -H "X-API-Key: sk_your_api_key"
Antwort
{
  "code": 0,
  "msg": "ok",
  "data": {
    "balance_micros": 12500000
  }
}

Parallelität, Zeitlimits und Wiederholungsverhalten

Prüfungen erfolgen synchron. Entscheiden Sie anhand des zurückgegebenen Codes, ob Sie das Ergebnis übernehmen oder die Anfrage wiederholen.

FeldBeschreibung
5 gleichzeitige Anfragen pro BenutzerEinzel- und Mehrfachprüfungen teilen sich dieses Limit, und eine Mehrfachanfrage zählt als eine Anfrage, unabhängig davon, wie viele Nummern sie enthält. Zusätzlich läuft pro Konto jeweils nur eine Mehrfachprüfung; eine zweite wird abgelehnt, bis die erste abgeschlossen ist. Wird eines der Limits erreicht, wird sofort code 42901 ohne Berechnung zurückgegeben, zusammen mit einem Retry-After-Header – senden Sie die Anfrage erneut, sobald eine laufende Anfrage abgeschlossen ist.
60 s Einzelprüfung, 300 s MehrfachprüfungBei Überschreitung des Zeitlimits wird code 50400 ohne Berechnung zurückgegeben. Eine Mehrfachprüfung mit Zeitüberschreitung schlägt als Ganzes fehl – keine Teilergebnisse, und der volle Betrag wird erstattet.
Eine Mehrfachprüfung umfasst bis zu 100 NummernDie Ergebnisse behalten Reihenfolge und Länge der Übermittlung bei. Pro Konto läuft jeweils eine Mehrfachprüfung; senden Sie den nächsten Stapel, sobald der vorherige zurückgekommen ist.

Fehlercodes

CodeBeschreibung
40000Nicht unterstützter Diensttyp oder widersprüchliche Anfragefelder
40001Ungültiger JSON-Body
40002Ungültige Nummer
40100Fehlender oder ungültiger API-Schlüssel
40200Unzureichendes Guthaben
42200Die Nummer konnte derzeit nicht bestimmt werden. Es werden keine data zurückgegeben, und die Anfrage wird nicht berechnet
42900Ein Nutzungskontingent ist aufgebraucht, oder es gibt zu viele nicht abgeschlossene Bestellungen
42901Alle fünf Plätze für gleichzeitige Anfragen sind belegt, oder auf diesem Konto läuft bereits eine Mehrfachprüfung; senden Sie erneut, sobald eine laufende Anfrage abgeschlossen ist. Die abgelehnte Anfrage wird nicht berechnet und enthält einen Retry-After-Header
50303Der Dienst ist derzeit ausgelastet; nicht berechnet. Warten Sie die in Retry-After angegebenen Sekunden ab und senden Sie dieselbe Anfrage erneut
50400Die Prüfung wurde nicht innerhalb ihres Zeitlimits abgeschlossen und wird nicht berechnet; wiederholen Sie sie. Eine Zeitüberschreitung beim Stapel lässt den gesamten Stapel fehlschlagen und erstattet den vollen Betrag
50300Wartung des Prüfdienstes