Click here to book a no-obligation intro call!

Docs for developers and integrators | Figures checked on 11.10.2026

Does the weclapp API have a rate limit?

According to its documentation, the weclapp API has no fixed rate limits, meaning no fixed number per minute. It does, however, limit the number of concurrently active requests per tenant. Requests above that are not rejected but currently wait in a queue for up to 30 seconds; after that comes HTTP 429 Too Many Requests (as of 11.10.2026).

Integration besprechen
Illustration of an hourglass in wals.pro red as a symbol for waiting time in the API queue

The weclapp API rate limit in four figures

0
fixed rate limits
30 s
maximum wait time in the queue, currently
429
HTTP status after the wait time expires
1 min
recommended minimum timeout in the client

So steuert weclapp die Last

Statt einer festen Zahl pro Minute arbeitet weclapp mit vier Regeln. Wer sie kennt, baut einen Client, der nie an die Grenze stößt.

01

Grenze je Tenant

weclapp begrenzt die Zahl gleichzeitig aktiver Requests je Tenant. Wie hoch die Grenze ist, veröffentlicht weclapp nicht.

02

Warteschlange statt Ablehnung

Requests ĂĽber der Grenze werden nicht abgelehnt, sondern warten bis zu 30 Sekunden. Erst danach antwortet die API mit HTTP 429 Too Many Requests.

03

Request-Zeit statt Request-Zahl

Der Schutz vor Dauerlast zählt Rechenzeit: 500 Requests mit je 100 Millisekunden ergeben 50 Request-Sekunden und sind unkritisch. Viele schwere Requests über mehrere Minuten sind es nicht.

04

Wait-Header in jeder Antwort

Musste ein Request warten, nennt X-Weclapp-Wait-Ms die Wartezeit und X-Weclapp-Wait-Reason den Grund: concurrency, load oder beides. Damit steuerst du deinen Client, lange bevor ein 429 kommt.

Four measures for stable bulk runs

Icon: Check

Measure wait time

Evaluate X-Weclapp-Wait-Ms and X-Weclapp-Wait-Reason, and throttle when the wait time rises.

Icon: Protection

Limit parallelism

Start with only a few concurrent requests and increase only step by step (our recommendation).

Icon: Data

Caching

Fetch custom field definitions only once.

Icon: Connection

Webhooks instead of polling

Changes come to you, no unfiltered querying.

Icon: Hinweis

Timeout ab einer Minute

Ein Request kann 30 Sekunden in der Queue stehen und trotzdem erfolgreich enden. Ein kĂĽrzerer Client-Timeout bricht ihn zu frĂĽh ab.

Icon: Verbindung

Webhooks statt Polling

Änderungen kommen per Webhook zu dir. Ungefiltertes Polling rät weclapp ausdrücklich ab.

Beispiel: 10.000 Aufträge importieren

Ein Shop spielt einmal 10.000 Aufträge aus einem Altsystem ein. So läuft der Import stabil durch.

01

In Paketen starten

Die Aufträge gehen in Paketen raus, anfangs mit nur zwei oder drei Requests gleichzeitig. Jeder Request hat ein Timeout von mindestens einer Minute.

02

Ăśber die Header steuern

Bleibt die Wartezeit niedrig, erhöht der Client die Parallelität um eins. Meldet weclapp concurrency, nimmt er einen Request weg, bei load halbiert er.

03

429 sicher behandeln

Kommt ein 429, pausiert der Client und wiederholt mit wachsender Wartezeit. Nach einem Timeout prĂĽft er zuerst, ob der Auftrag schon angelegt ist.

04

Wiederaufsetzen können

Der Lauf merkt sich, welche Pakete durch sind, und setzt nach einem Abbruch genau dort wieder an.

05

Zur richtigen Zeit laufen

Der Import läuft außerhalb der Hauptgeschäftszeit und nicht parallel zum Abrechnungslauf.

Das Muster als Open Source: weclappy

Genau dieses Vorgehen steckt in weclappy, unserem Open-Source-Client für die weclapp API in Python. Er steuert die Parallelität aus den Wait-Headern, pausiert nach einem 429 alle Requests gemeinsam und wiederholt keinen Schreibzugriff, dessen Ausgang offen ist. Kostenlos unter MIT-Lizenz.

Mehrere Integrationen teilen sich einen Tenant

01

Eine Kapazität für alle

Die Grenze gilt je Tenant. Shop-Anbindung, Versand-Tool, Buchhaltungsexport und n8n-Workflows teilen sich dieselbe Kapazität.

02

Massenläufe versetzt planen

Der nächtliche Import sollte nicht mit dem Abrechnungslauf zusammenfallen. Frag vor jedem neuen Massenlauf, was sonst im Tenant läuft.

03

Kollisionen frĂĽh sehen

Logge X-Weclapp-Wait-Ms und X-Weclapp-Wait-Reason bei jedem Request und setz einen Alarm auf steigende Wartezeiten oder gehäufte 429. Steigt die Wartezeit, obwohl du nicht mehr sendest, läuft gerade ein anderer Client im Tenant.

FĂĽr wen das wichtig ist

Icon: Abgleich

Systemhäuser und MSPs

Abgleiche von Tickets, Zeitbuchungen und Verträgen laufen als Massenläufe und folgen demselben Muster.

Frequently asked questions

Does the weclapp API have a rate limit?

Not as a fixed number. weclapp states that the API has no fixed rate limits. There is, however, a limit for parallel requests per tenant. Requests above it wait in a queue. After currently up to 30 seconds of waiting, the API responds with HTTP 429 Too Many Requests. The client must handle this error.

What happens if I send too many requests in parallel?

You don't get an error immediately. Requests above the limit are not rejected but wait until resources are free, and therefore take longer. Only when the wait time currently exceeds 30 seconds does HTTP 429 follow. So set client timeouts of at least one minute, so that requests that would succeed later don't abort too early.

How high is the limit for parallel requests?

In the API documentation, weclapp states no number for this (as of 11.10.2026), so we don't state one either. Treat the limit as unknown and design your client so that it can cope with wait times and 429. For bulk runs, start with a few parallel requests, increase step by step and watch the X-Weclapp-Wait-Ms header. Throttle when the wait time rises.

How do I handle HTTP 429 in code?

Catch the status code in the client, wait, retry the request and lengthen the wait on every further failed attempt (exponential backoff). weclapp names exactly this approach as a recommendation. For write requests, check before every retry whether the first attempt has already arrived. This is especially important after a client timeout or connection drop. It is our recommendation, not a requirement from weclapp.

Can I shorten the wait time for time-critical calls?

Yes. With the X-Weclapp-Wait-Timeout-Ms header, you set how long a request waits at most for processing to start. X-Weclapp-Request-Timeout-Ms sets a limit for the entire request. Both headers can only shorten timeouts. The request timeout is a best effort, not a hard limit; the server ignores invalid or non-positive values.

Should I query weclapp or have it notify me via webhook?

weclapp recommends an event-driven architecture with webhooks and advises against unfiltered polling. If you do have to query, filter and fetch a few larger result sets instead of sending many individual requests. That lowers the effective request time and thus the load by which weclapp assesses.

How many requests per minute may I send to the weclapp API?

The API documentation states no fixed number per minute, because weclapp sets no fixed rate limits (as of 11.10.2026). What matters is the number of concurrently active requests and the effective request time over several minutes. Many short requests are uncritical, many heavy requests over minutes can become critical. Watch X-Weclapp-Wait-Ms and throttle when the wait time rises.

Weiterlesen

Icon: Verbindung

weclappy 1.0

Adaptive Parallelität, sichere Retries und Paginierung im Detail. Zum Artikel

Icon: Schutz

Die stillen Fehler der weclapp API

Sechs Fallen, die ohne Fehlermeldung auftreten. Zum Artikel

Icon: Dokument

Abo-Rechnungen in Masse per API

Ein Massenlauf Schritt fĂĽr Schritt. Zur Seite

Icon: Daten

Postman Collection 4 weclapp

Alle Endpunkte zum Durchspielen, bevor du entwickelst. Zur Collection

Postman Collection for the weclapp API

Are you planning a bulk run or an integration and want to go through the pattern together?