# Wie viele WhatsApp-Nummern braucht dein KI-Agent?

> Wie viele WhatsApp-Nummern braucht ein KI-Agent? Limits pro Nummer, eine Formel aus drei Teilen, Rechenbeispiele mit Kosten, Routing und die Stufen der Business API.

Source: https://whasp.ai/de/blog/whatsapp-ki-agent-mehrere-nummern-skalieren · 2026-10-20

## Das Wichtigste

- Eine whasp-Nummer erlaubt 100 aktive Chats in 30 Tagen, 40 neue Chats in 24 Stunden und 1.500 gesendete Nachrichten in 24 Stunden, und die Zahl der Nummern, die du brauchst, ist das größte Ergebnis aus drei Divisionen, jeweils aufgerundet.
- Plane mit 80 % jedes Limits, denn über 80 % wird eine Nummer als at_risk markiert: Aus 100 Nutzern pro Nummer werden 80, aus 40 neuen Chats am Tag 32 und aus 1.500 Sendungen 1.200.
- Ein gesprächiger Agent wird von den Nachrichten begrenzt, nicht von den Nutzern: An der 80-%-Linie kann eine Nummer 15 Nachrichten pro aktivem Nutzer und Tag senden.
- Ein Launch-Spike wird von neuen Chats begrenzt: 1.000 Anmeldungen an einem Tag brauchen 32 Nummern, dieselben Anmeldungen auf fünf Tage verteilt brauchen 13.
- Metas Business API skaliert anders: Ihre Stufen (250, 2.000, 10.000, 100.000, unbegrenzt) begrenzen, wie viele Personen du außerhalb des 24-Stunden-Fensters anschreiben kannst, nicht deine Antworten.

Bei whasp ist die Zahl der WhatsApp-Nummern, die dein KI-Agent braucht, das größte von drei Ergebnissen, jeweils aufgerundet: aktive Nutzer geteilt durch 80, Anmeldungen an deinem Spitzentag geteilt durch 32 und an deinem Spitzentag gesendete Nachrichten geteilt durch 1.200. Das sind 80 % der Limits pro Nummer. Plane eine oder zwei Reservenummern für Sperren ein.

## Welche Limits hat eine Nummer?

Eine whasp-Nummer ist ein echter persönlicher WhatsApp-Account auf einem eigenen Cloud-Telefon mit eigener IP, ihre Limits gelten also pro Nummer. Die [API-Referenz](https://whasp.ai/docs) listet sie:

| Limit pro Nummer | Wert | Was am Limit passiert |
| --- | --- | --- |
| Aktive Chats (Personen, die in den letzten 30 Tagen geschrieben haben) | 100 | Die Nummer verschwindet aus `/numbers/pick`; eingehende Nachrichten kommen weiter an |
| Neue Chats in 24 Stunden | 40 | Dasselbe |
| In 24 Stunden gesendete Nachrichten | 1.500 | Sendungen schlagen mit 429 `number_daily_limit` fehl |
| Empfangene Nachrichten | Kein Limit | |

Eine Nummer wird als `at_risk` markiert, wenn ein Limit über 80 % liegt, die Planungsobergrenzen sind also 80 Nutzer, 32 neue Chats und 1.200 Sendungen. Zwei weitere Fakten prägen einen Plan. Nachrichten einer Nummer gehen eine nach der anderen raus, etwa im Sekundenabstand, ein Rückstau von 120 Antworten braucht also etwa zwei Minuten, um abzulaufen. Und der Account erlaubt 100 API-Anfragen pro 10 Sekunden, also 10 pro Sekunde, im selben Tempo, in dem 10 Nummern auf Volllast senden. Darüber hinaus staust du auf deiner Seite.

Zähle aktive Nutzer so, wie whasp es tut: Personen, die in den letzten 30 Tagen (gleitend) geschrieben haben, nicht alle Anmeldungen insgesamt. Leute, die still werden, fallen nach 30 Tagen heraus. `GET /v1/numbers/{number}/chats` listet, wer wann geschrieben hat, so kannst du es messen.

## Wie berechnest du, wie viele Nummern du brauchst?

Die Berechnung braucht drei Eingaben aus deinen eigenen Daten: aktive Nutzer (`U`), neue Nutzer an deinem Spitzentag (`S`) und Nachrichten, die du an deinem Spitzentag sendest (`M`). Jedes Limit liefert eine Anzahl, und die größte gewinnt:

- nach Nutzern: U / (100 × 0,8) = U / 80
- nach Anmeldungen: S / (40 × 0,8) = S / 32
- nach Sendungen: M / (1.500 × 0,8) = M / 1.200

Dann addiere eine Reserve von 10 %, mindestens eine. Wenn eine Nummer `critical` wird (gesperrt, abgemeldet, Telefon länger als 10 Minuten offline oder Sendungen schlagen fehl), gibt `/numbers/pick` sie nicht mehr aus, und ihr Anteil an neuen Anmeldungen landet bei den anderen. Der Ersatz kommt kostenlos, aber leer, und deine eigene Logik [zieht die Nutzer um](https://whasp.ai/de/blog/whatsapp-nummer-gesperrt-nutzer-umziehen). Die Reserve ist der Platz, an dem sie währenddessen unterkommen. Jede Nummer kostet $49 pro 30 Tage.

```ts
// Limits pro Nummer aus der whasp-API-Referenz und die Last, für die wir planen.
const LIMITS = { users: 100, signups: 40, sends: 1500 };
const PLAN = 0.8; // über 80 % eines Limits wird eine Nummer als at_risk markiert

export function numbersNeeded(users: number, busiestDaySignups: number, busiestDaySends: number) {
  const byUsers = Math.ceil(users / (LIMITS.users * PLAN));
  const bySignups = Math.ceil(busiestDaySignups / (LIMITS.signups * PLAN));
  const bySends = Math.ceil(busiestDaySends / (LIMITS.sends * PLAN));
  const base = Math.max(byUsers, bySignups, bySends);
  const spare = Math.max(1, Math.ceil(base * 0.1)); // Platz für eine Nummer, die critical wird
  return { byUsers, bySignups, bySends, base, spare, total: base + spare, monthlyUsd: (base + spare) * 49 };
}
```

## Wie sehen drei Pläne realistischer Größe aus?

Die drei Pläne unten beruhen auf gewählten Annahmen, nicht auf Messungen. Ersetze sie durch Zahlen aus deinen eigenen Logs.

### Ein Sprachtutor mit 3.000 aktiven Nutzern

Angenommen, 25 % der aktiven Nutzer schreiben an einem beliebigen Tag, der Agent sendet jedem 12 Nachrichten, der Spitzentag ist doppelt so stark wie der Durchschnitt, und ein Launch bringt 400 neue Nutzer an einem Tag.

- Sendungen: 3.000 × 0,25 × 12 = 9.000 an einem durchschnittlichen Tag, 18.000 am Spitzentag.
- Nach Nutzern: 3.000 / 80 = 37,5, also 38. Nach Anmeldungen: 400 / 32 = 12,5, also 13. Nach Sendungen: 18.000 / 1.200 = 15.
- Das größte ist 38. Reserve: 10 % von 38 = 3,8, also 4. Gesamt 42 Nummern, 42 × $49 = $2.058 im Monat, oder $0,69 pro aktivem Nutzer.

Hier entscheiden die Nutzer.

### Ein gesprächiger Begleiter mit 1.200 aktiven Nutzern

Angenommen, 50 % schreiben an einem beliebigen Tag, der Agent sendet jedem 40 Nachrichten, der Spitzentag ist 1,5-mal so stark wie der Durchschnitt, und an diesem Tag kommen 100 neue Nutzer dazu.

- Sendungen: 1.200 × 0,5 × 40 = 24.000 an einem durchschnittlichen Tag, 36.000 am Spitzentag.
- Nach Nutzern: 1.200 / 80 = 15. Nach Anmeldungen: 100 / 32 = 3,1, also 4. Nach Sendungen: 36.000 / 1.200 = 30.
- Das größte ist 30. Reserve 3. Gesamt 33 Nummern, 33 × $49 = $1.617, oder $1,35 pro aktivem Nutzer.

Hier entscheiden die Nachrichten. Bei 80 Nutzern pro Nummer erlauben 1.200 Sendungen am Tag 15 Nachrichten pro aktivem Nutzer und Tag. Dieser Begleiter sendet an seinem Spitzentag 30 pro aktivem Nutzer, er braucht also doppelt so viele Nummern, wie seine Nutzerzahl nahelegt.

### Ein Launch mit 1.000 Anmeldungen an einem Tag

Angenommen, es sind insgesamt 1.000 Nutzer und an diesem Tag 6.000 gesendete Nachrichten.

- Nach Nutzern: 1.000 / 80 = 12,5, also 13. Nach Anmeldungen: 1.000 / 32 = 31,25, also 32. Nach Sendungen: 6.000 / 1.200 = 5.
- Das größte ist 32. Reserve 4. Gesamt 36 Nummern, $1.764 im Monat.

Verteile nun dieselben 1.000 Anmeldungen auf fünf Tage, 200 pro Tag, mit 1.200 Sendungen am Spitzentag:

- Nach Nutzern: 13. Nach Anmeldungen: 200 / 32 = 6,25, also 7. Nach Sendungen: 1.200 / 1.200 = 1.
- Das größte ist 13. Reserve 2. Gesamt 15 Nummern, $735 im Monat.

Eine Warteliste oder Einladungscodes würden 21 Nummern und $1.029 im Monat sparen. In diesem Beispiel setzt das Limit für neue Chats pro Tag die Grenze, nicht die Nutzerzahl.

| Plan | Aktive Nutzer | Anmeldungen, Spitzentag | Sendungen, Spitzentag | Nummern | Pro Monat |
| --- | --- | --- | --- | --- | --- |
| Tutor | 3.000 | 400 | 18.000 | 42 | $2.058 |
| Begleiter | 1.200 | 100 | 36.000 | 33 | $1.617 |
| Launch an einem Tag | 1.000 | 1.000 | 6.000 | 36 | $1.764 |
| Launch über fünf Tage | 1.000 | 200 | 1.200 | 15 | $735 |

## Wie leitest du neue Nutzer weiter und hältst sie auf einer Nummer?

`GET /v1/numbers/pick` gibt die gesunde, online befindliche Nummer mit dem meisten Platz für einen neuen Nutzer zurück, dazu einen `wa.me`-Link, der den Chat öffnet. Übergib `text`, und der Link öffnet sich mit dieser vorausgefüllten Nachricht. Setz deine Nutzer-ID hinein, damit der Agent weiß, wer schreibt ([mehr zu Onboarding-Links](https://whasp.ai/de/blog/whatsapp-link-erstellen-wa-me-qr-code)).

```ts
const API = "https://api.whasp.ai/v1";
const headers = { Authorization: `Bearer ${process.env.WHASP_API_KEY}` };

/** Der Link, den du einem neuen Nutzer zeigst, oder null, wenn alle Nummern voll sind. */
export async function signupLink(userId: string): Promise<string | null> {
  const params = new URLSearchParams({ text: `Hallo, mein Code ist ${userId}` });
  const res = await fetch(`${API}/numbers/pick?${params}`, { headers });
  if (res.status === 409) return null; // no_capacity: Anmeldung zurückhalten, Nummer hinzufügen
  if (!res.ok) throw new Error(`pick failed with ${res.status}`);
  const { wa_link } = (await res.json()) as { number: string; wa_link: string };
  return wa_link;
}
```

Ein Chat bleibt auf seiner Nummer. Wenn du ohne `from` sendest, nutzt whasp die Nummer, an die die Person zuletzt geschrieben hat, und genau das willst du. Ein anderes `from` liefert 409 `chat_not_open`, es sei denn, diese Person hat auch an diese Nummer geschrieben.

Gibt `signupLink` null zurück, zeig einen Wartebildschirm und füge Nummern hinzu. Füge sie hinzu, bevor du sie brauchst: `POST /v1/numbers` kann mit 503 `no_capacity` antworten, wenn keine bereit ist (es wird nichts berechnet), und eine von Grund auf eingerichtete Nummer braucht etwa 30 Minuten.

## Wie behältst du den Spielraum im Blick und fügst Nummern hinzu?

Frage `GET /v1/numbers` alle paar Minuten ab. Jede Nummer meldet ihre `stats` und ihre `limits`, so kannst du den verbleibenden Platz bis 80 % über alle gesunden Nummern addieren und bei jeder Nummer Alarm schlagen, die nicht `healthy` ist. Das Webhook-Event `number.status_changed` meldet dir den Moment, in dem sich Health oder `online` ändert ([Webhook-Verarbeitung](https://whasp.ai/de/blog/whatsapp-webhook-signatur-retries-duplikate)).

```ts
type Num = {
  number: string;
  status: "provisioning" | "active" | "retired";
  health: "healthy" | "at_risk" | "critical";
  stats: { active_chats_30d: number; new_chats_24h: number; outbound_24h: number };
  limits: { active_chats_30d: number; new_chats_24h: number; outbound_24h: number };
};

/** Freier Platz über alle gesunden Nummern, gezählt bis 80 % jedes Limits. */
export async function headroom() {
  const res = await fetch(`${API}/numbers`, { headers });
  const { data } = (await res.json()) as { data: Num[] };
  const live = data.filter((n) => n.status === "active");
  const sick = live.filter((n) => n.health !== "healthy").map((n) => n.number);
  const room = { users: 0, signups: 0, sends: 0 };
  for (const n of live.filter((n) => n.health === "healthy")) {
    room.users += Math.max(0, Math.floor(n.limits.active_chats_30d * PLAN) - n.stats.active_chats_30d);
    room.signups += Math.max(0, Math.floor(n.limits.new_chats_24h * PLAN) - n.stats.new_chats_24h);
    room.sends += Math.max(0, Math.floor(n.limits.outbound_24h * PLAN) - n.stats.outbound_24h);
  }
  return { numbers: live.length, sick, room };
}

/** Fügt eine Nummer hinzu. Das berechnet sofort $49, ruf es also hinter einer Obergrenze auf. */
export async function addNumber(label: string): Promise<Num> {
  const res = await fetch(`${API}/numbers`, {
    method: "POST",
    headers: { ...headers, "Content-Type": "application/json" },
    body: JSON.stringify({ label, profile: { name: "Ava", about: "Deine KI-Freundin" } }),
  });
  if (res.status === 402) throw new Error("balance too low: top up first");
  if (res.status === 503) throw new Error("no_capacity: nothing charged, retry later");
  if (!res.ok) throw new Error(`add failed with ${res.status}`);
  return (await res.json()) as Num;
}
```

Rufe `addNumber` auf, wenn `room.users` unter die Anmeldungen fällt, die du in den nächsten zwei Wochen erwartest, oder `room.signups` unter deinen Spitzentag, und begrenze die Gesamtzahl, damit ein Bug nicht dein Guthaben verbraucht. Halte das Guthaben über Nummern × $49: Eine Nummer verlängert sich von selbst, solange das Guthaben reicht, und wenn das Guthaben aufgebraucht ist, hat sie 3 Tage Kulanz und wird dann stillgelegt.

### Mehrere Produkte oder Kunden

Ein Account hat eine Webhook-URL, betreibe also einen Pool pro Produkt, Persona oder Kunde und unterscheide sie selbst. Gib jeder Nummer ein `label` wie `tutor-fr-1`, setze ihr Profil (Name, Info, Foto) auf die Persona und leite jedes Event nach seinem Feld `number` weiter. Führe `numbersNeeded` pro Pool aus. Die Abrechnung läuft über ein einziges Guthaben, berechne also jedem Kunden auf deiner Seite seine Zahl an Nummern × $49.

## Wie unterscheiden sich die Limits der Business API?

Meta begrenzt die verschiedenen Personen, die ein Unternehmen [außerhalb des 24-Stunden-Fensters für den Kundenservice](https://developers.facebook.com/documentation/business-messaging/whatsapp/messaging-limits) anschreiben kann, pro gleitenden 24 Stunden und pro Business-Portfolio, geteilt von allen seinen Nummern. Neue Portfolios beginnen bei 250. Die Verifizierung oder 2.000 zugestellte Nachrichten in hoher Qualität heben das Limit auf 2.000. Danach steigt es automatisch auf 10.000, 100.000 und unbegrenzt, wenn deine Nachrichten von hoher Qualität sind und du in den letzten 7 Tagen mindestens die Hälfte des Limits genutzt hast.

| | whasp | WhatsApp Business Platform |
| --- | --- | --- |
| Was begrenzt wird | Aktive Chats, neue Chats und Sendungen, pro Nummer | Verschiedene Personen, die außerhalb des 24-Stunden-Fensters angeschrieben werden, pro Portfolio |
| Antworten an Leute, die geschrieben haben | Zählen zu den 1.500 Sendungen | Nicht Teil der Stufe |
| Wie du Kapazität hinzufügst | Eine Nummer hinzufügen: $49 pro 30 Tage, meist sofort bereit | Eine höhere Stufe durch Verifizierung und Qualität verdienen |
| Tempo pro Nummer | Etwa eine Nachricht pro Sekunde | [Standardmäßig 80 Nachrichten pro Sekunde](https://developers.facebook.com/documentation/business-messaging/whatsapp/throughput), bis zu 1.000 |
| Nummern pro Account | Du fügst sie mit `POST /v1/numbers` hinzu | [Zuerst 2, nach der Verifizierung 20](https://developers.facebook.com/documentation/business-messaging/whatsapp/business-phone-numbers/phone-numbers) |

Die offizielle Plattform skaliert über Kontingente, whasp über Telefone. Antworten innerhalb des Fensters sind nicht Teil von Metas Stufe, und wir haben kein Limit für aktive Nutzer pro offizieller Nummer gefunden, für einen Agenten, den Meta zulässt, kann eine offizielle Nummer also ein sehr großes Publikum bedienen. Ob deine KI dort überhaupt erlaubt ist, ist die erste Frage, und [der Preisvergleich](https://whasp.ai/de/blog/whatsapp-business-api-kosten-2026) zeigt, was der offizielle Weg kostet.

## Was du als Nächstes tun kannst

Zieh drei Zahlen aus deinen eigenen Logs: aktive Nutzer in gleitenden 30 Tagen, Anmeldungen an deinem Spitzentag und an deinem Spitzentag gesendete Nachrichten. Führe `numbersNeeded` aus und füge Nummern einen Launch im Voraus hinzu. Baue die Spielraum-Prüfung ein und lies [warum WhatsApp Nummern sperrt](https://whasp.ai/de/blog/whatsapp-account-gesperrt-gruende-ki-agent), um deine Reserve zu dimensionieren.

## Fragen

### Wie viele WhatsApp-Nummern brauche ich für 1.000 Nutzer?

Bei whasp brauchen 1.000 aktive Nutzer 13 Nummern an der Planungslinie von 80 Nutzern oder 10 am harten Limit von 100. Prüfe auch neue Chats und Nachrichten pro Tag, denn beides kann mehr Nummern verlangen als die Nutzerzahl.

### Wie hoch ist das Nachrichtenlimit pro WhatsApp-Nummer bei whasp?

Eine Nummer kann bis zu 1.500 Nachrichten in 24 Stunden senden, 100 aktive Chats über 30 Tage halten und 40 neue Chats in 24 Stunden eröffnen. Eingehende Nachrichten sind unbegrenzt, und bei 1.500 Sendungen antwortet die API mit 429 number_daily_limit.

### Wie schicke ich neue Nutzer zur richtigen Nummer?

Rufe GET /v1/numbers/pick auf. Es gibt die gesunde, online befindliche Nummer mit dem meisten Platz zurück, dazu einen wa.me-Link, und ein Chat bleibt danach auf dieser Nummer. Es antwortet mit 409 no_capacity, wenn alle Nummern voll, offline oder nicht gesund sind.

### Wie sehen die Nachrichtenlimits der WhatsApp Business API aus?

Meta begrenzt die verschiedenen Personen, die ein Unternehmen außerhalb des 24-Stunden-Fensters anschreiben kann, pro gleitenden 24 Stunden und pro Business-Portfolio: 250 am Anfang, dann 2.000, 10.000, 100.000 und unbegrenzt, wenn der Account sich verifiziert und Nachrichten in hoher Qualität sendet.

### Was passiert, wenn eine whasp-Nummer voll ist?

/numbers/pick bietet sie nicht mehr an, aber Nachrichten ihrer bestehenden Nutzer kommen weiter an. Über 1.500 Sendungen in 24 Stunden schlagen Sendungen von ihr mit 429 number_daily_limit fehl.
