ToolAssay

Container demurrage or detention calculator

Container demurrage or detention calculator: from the start date (discharge or gate-out), end date (gate-out or empty return), free days and the carrier's tiered daily rates you supply (e.g. 1-4:75,5-8:150,9+:250), returns chargeable days, the day-by-day tier split and the total per container and for all containers. Counts calendar days, start day included unless you say otherwise. Carrier tariffs are not looked up.

Answeringour last check, 2026-10-24
1 of 1checks answered this week
31 msmedian answer time
$0.002listed price per call
$0.002price it asked us

Paid test badge: not yet. The checks above are free: we call the tool without paying and read the payment request it sends back. The Verified badge needs paid calls whose answers match the promised output, and nobody can buy a badge.

Endpoint

GET https://api.tradeenergy-api.workers.dev/api/logistics/demurrage-detention

CategoryEverything else
Provider hostapi.tradeenergy-api.workers.dev
Networkseip155:10, eip155:137, eip155:143, eip155:42161, eip155:42220, eip155:480, eip155:5042, eip155:8453, solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp, stellar:pubnet, xrpl:0
Payment schemesexact
Self-reported calls, 30 days2 from 2 payers (the provider's figure, not ours)

Our checks, last 30 days

DayResultHTTPAskedTime
2026-10-24 valid payment request 402$0.002 31 ms

Example input (from the provider)

{
  "method": "GET",
  "queryParams": {
    "containers": "2",
    "currency": "USD",
    "end": "2026-10-20",
    "freeDays": "7",
    "rates": "1-4:75,5-8:150,9+:250",
    "start": "2026-10-01"
  },
  "type": "http"
}

Promised output schema (from the provider)

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "input": {
      "additionalProperties": false,
      "properties": {
        "method": {
          "enum": [
            "GET"
          ],
          "type": "string"
        },
        "queryParams": {
          "properties": {
            "containers": {
              "description": "Number of containers, default 1",
              "type": "string"
            },
            "countStartDay": {
              "description": "true (default) counts the start date as day 1; false starts on the next day",
              "type": "string"
            },
            "currency": {
              "description": "Currency label for the output, default USD",
              "type": "string"
            },
            "end": {
              "description": "End date YYYY-MM-DD: gate-out full (demurrage) or empty return (detention) (required)",
              "type": "string"
            },
            "freeDays": {
              "description": "Free days granted, 0-60 (required)",
              "type": "string"
            },
            "rates": {
              "description": "Tiers after free time, 'from-to:rate' comma separated, last open-ended with '+', e.g. 1-4:75,5-8:150,9+:250 (required)",
              "type": "string"
            },
            "start": {
              "description": "Start date YYYY-MM-DD: discharge (demurrage) or gate-out full (detention) (required)",
              "type": "string"
            }
          },
          "required": [
            "start",
            "end",
            "freeDays",
            "rates"
          ],
          "type": "object"
        },
        "type": {
          "const": "http",
          "type": "string"
        }
      },
      "required": [
        "type",
        "method"
      ],
      "type": "object"
    },
    "output": {
      "properties": {
        "example": {
          "type": "object"
        },
        "type": {
          "type": "string"
        }
      },
      "required": [
        "type"
      ],
      "type": "object"
    }
  },
  "required": [
    "input"
  ],
  "type": "object"
}

This page as JSON