
Tools
Public tools API
Every tool on this site can also be called over HTTP GET: same calculation engine, JSON response, no signup, no API key and nothing stored. Built for light integrations, spreadsheets and scripts.
Endpoints
Parameters
piecesrequiredqty x length x width x height x weightPerPiece, “;”-separated. cm/kg (metric) or in/lb (imperial). e.g. 2x120x80x100x50;1x60x40x30x12unitoptionalmetric (default) | imperialstackableoptionaltrue (default) | false — affects LDMairDivisoroptionalair volumetric divisor, cm³/kg (default 6000)expressDivisoroptionalcourier DIM divisor (default 5000)seaEquivalenceoptionalsea W/M kg per m³ (default 1000)seaMinRevenueTonsoptionalLCL minimum W/M (default 1)roadDensityoptionalroad volumetric density kg/m³ (default 333)roadUseLdmoptionaltrue | false (default) — enable LDM basisroadKgPerLdmoptionalkg per loading metre (default 1750)
Example
curl "https://glauc.cat/api/tools/chargeable-weight?pieces=2x120x80x100x50&unit=metric"
Response (excerpt)
{ "ok": true, "data": { "result": { "totals": { "grossKg": 100, "volumeM3": 1.92 }, "results": [ { "mode": "air", "chargeableKg": 320, "chargeableRoundedKg": 320, "basis": "volume" }, … ] } } }Parameters
deliveryrequireddelivery date, YYYY-MM-DDcaseoptionaldamage (default) | totalLoss | other — Art. 32 start rulewilfuloptionaltrue → 3-year limitation (default false)excludedWeekdaysoptionalcomma list, 0=Sun … 6=Sat (default 0)holidaysoptionalcomma list of YYYY-MM-DD public holidaysholidayCountryoptionalES | PT | FR | DE | IT | BE | NL | PL — auto-adds national holidays of the delivery year and the next oneagreedTimeLimitExpiryoptionaltotalLoss: agreed time-limit expirytakingOverDateoptionaltotalLoss without agreed limit: taking-over datecontractDateoptionalother cases: contract conclusion date
Example
curl "https://glauc.cat/api/tools/cmr-deadlines?delivery=2026-07-01"
Response (excerpt)
{ "ok": true, "data": { "result": { "apparent": { "deadline": "2026-07-01" }, "nonApparent": { "deadline": "2026-07-09" }, "delay": { "deadline": "2026-07-22" }, "limitation": { "deadline": "2027-07-01" } } } }Parameters
categoryrequiredlength | weight | volume | densityvaluerequirednumeric value to convertfromrequiredsource unit id (e.g. cm, kg, m3, kgm3)tooptionaltarget unit id; omitted → all units in the category
Example
curl "https://glauc.cat/api/tools/unit-converter?category=volume&value=1&from=m3&to=ft3"
Response (excerpt)
{ "ok": true, "data": { "result": 35.3146667… } }Parameters
codeoptionalEXW … DDP; omitted → all 11 rules
Example
curl "https://glauc.cat/api/tools/incoterms?code=FOB"
Response (excerpt)
{ "ok": true, "data": { "code": "FOB", "group": "F", "mode": "sea", "costs": { "mainCarriage": "buyer", … }, "riskTransfer": "fob" } }Parameters
sinceBreakoptionalminutes driven since the last ≥45-min breaktodayoptionalminutes driven todayweekoptionalminutes driven this weekpreviousWeekoptionalminutes driven the previous weekextensionsUsedoptional10 h days used this week (0–2)reducedRestsUsedoptionalreduced rests used (0–3)
Example
curl "https://glauc.cat/api/tools/driving-hours?sinceBreak=240&today=420&week=2600"
Response (excerpt)
{ "ok": true, "data": { "assessment": { "untilBreak": 30, "todayRemaining": 120, "todayRemainingExtended": 180, "weekRemaining": 760, "effectiveRemaining": 180, … } } }Parameters
equipmentrequired20DV | 40DV | 40HC | 45HC | 20RF | 40RFHC | TAUT | MEGA | FRIGOpiecesrequiredqty x length x width x height x weightPerPiece (cm/kg), separated by ";"stackableoptionaldefault true — pieces may be stackedthisSideUpoptionaldefault true — pieces must not be tippedcountryoptionalroad limit matrix: ES (default) | EU | US | CNmodeoptionalroad_national (default) | road_international | road_intermodal
Example
curl "https://glauc.cat/api/tools/load-planner?equipment=40HC&pieces=20x120x80x144x400"
Response (excerpt)
{ "ok": true, "data": { "metrics": { "packedCount": 20, "volumeUtilizationPct": 36.4, "vgmKg": 11700, "cog": { "xEccentricityPct": -0.8, "ok": true }, … }, "compliance": { … }, "placements": [ … ] } }General notes
- — All responses are JSON shaped as { ok, version, data }. Errors return HTTP 400 with { ok: false, error, hint }.
- — CORS is open (Access-Control-Allow-Origin: *): you can call the API straight from the browser.
- — Usage limit: 60 requests per minute per IP (HTTP 429 with Retry-After beyond that).
- — No parameters or results are stored; only anonymous, aggregate endpoint counts are kept. Calls are stateless.
- — No service guarantee: this is a free reference API. If you integrate it in production, let me know via contact.