API Documentation

Predict delivery time windows for German e-commerce with a single API call.

Authentication

All API requests require a Bearer token. Create an API key in your dashboard, then pass it in the Authorization header.

Authorization: Bearer km_live_your_api_key_here

POST /v1/predict

Returns a predicted delivery time window for a carrier and German postal code (PLZ).

Request

curl -X POST https://api.kommt.dev/v1/predict \
  -H "Authorization: Bearer your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "carrier": "dhl",
    "postal_code": "10115"
  }'
FieldTypeDescription
carrierstringCarrier code (see list below)
postal_codestring5-digit German PLZ

Response

{
  "carrier": "dhl",
  "postal_code": "10115",
  "predicted_date": "2026-03-20",
  "window": {
    "start": "09:00",
    "end": "14:00"
  },
  "confidence": 0.82,
  "based_on": 347,
  "scope": "plz"
}

Response Fields

FieldDescription
predicted_dateExpected delivery date (YYYY-MM-DD, German timezone)
windowDelivery time window with start and end in HH:00 format (P10 and P90 of historical deliveries)
confidence0.0 to 0.95 — higher with more data points. Reduced for region/national scope.
based_onNumber of historical delivery records used
scopeData scope used: plz (exact match), region (3-digit PLZ prefix), or national (carrier average)

Supported Carriers

CodeCarrier
dhlDHL
hermesHermes
dpdDPD
glsGLS
upsUPS
amazonAmazon Logistics

Rate Limits

Requests are tracked per calendar month (Berlin timezone).

PlanRequests/monthPrice
Free500EUR 0
Pro25,000EUR 49/mo
Scale100,000EUR 149/mo

Error Codes

StatusCodeDescription
400INVALID_INPUTInvalid carrier or postal code format
401UNAUTHORIZEDMissing or invalid API key
404NOT_FOUNDNo data available for this carrier (even nationally)
429RATE_LIMIT_EXCEEDEDMonthly request limit reached