T
O
V
R
The future of logistics
European road-freight price intelligence

The market price of every lane in Europe.

Not an opinion — a measurement. APEX turns 1.4 million observed freight transactions into a defensible price for any road lane, returned with the full distribution, a confidence score, and the data behind it.

1.4M+ prices30+ countries<200ms responseDaily refresh
WrocławFrankfurt
live
01.67 / km · 700 km
Observations
3,496
P25 €/km
1.59
P75 €/km
1.87
0.0
million observed prices
0
corridors tracked live
p25–p75
distribution on every lane
0
fallback tiers, fully transparent
How a price becomes an answer

Scroll through the layers behind a single estimate.

01 / LANE01 / 06

Every quote starts as a question.

Wrocław to Frankfurt. 700 kilometres of road. Your customer wants a number — and "it depends" isn't a rate. So what should this move actually cost?

WrocławFrankfurt700 km€ ?1.401.601.802.002.202.402.60price per km →Exact postal corridor×1.00Reverse direction×0.85Postal-prefix region×0.70Country-pair average×0.601.591.671.870.87Observations3,496Freshness24hMatch levelexact1.94 · P77
the lane
WrocławFrankfurt
The benchmark

Is your quote competitive — or quietly bleeding margin?

Pick a lane, drag the marker to your rate, and read your position against the live distribution. No colour-coded theatrics — just where you actually stand, and what the gap costs over the trip.

1.591.671.871.87
Drag the marker — or tap anywhere on the curve
Fair band

P75 — a defensible rate.

Inside the middle 50% of observed prices. Competitive without leaving obvious money on the table.

Your quote
€1.87
vs median /km
+€0.20
Distance
700 km
Per trip
+€140
The cascade, in your hands

Thin data never means a silent guess.

Choose a scenario and watch the engine descend. Tiers that were too thin are crossed out, the tier that answered is marked, and the confidence multiplier flows straight into the score you receive.

Pick a lane
Resolution path
1Exact postal corridoranswered here×1.00
2Reverse directionnot needed×0.85
3Postal-prefix regionnot needed×0.70
4Country-pair averagenot needed×0.60
0.68HIGH
Estimate
€1,168
Observations
3,496
Freshness
570h
Market spread & direction

Read variance and backhaul on one axis.

Each row is a lane. The band is the middle 50% of observed prices — its width is the lane's variance. The two markers are the outbound and return medians; the gap between them is the directional imbalance you can arbitrage with a smart backhaul.

0.801.001.201.401.601.802.002.202.402.602.80Wrocław → FrankfurtΔ 0%Frankfurt → WrocławΔ 0%Germany → FranceΔ 40%Germany → ItalyΔ 21%Netherlands → GermanyΔ 21%Germany → SpainΔ 9%Poland → ItalyΔ 8%
middle 50% (p25–p75)outbound medianreturn medianwider band = more variance · larger gap = bigger backhaul swing
Direction matters

Same trucks. Same road. Not the same price.

Distance-based calculators miss the biggest lever in freight: the empty return trip. APEX prices direction, not just kilometres — which is why a corridor can cost 20% more one way than the other. Hover any lane.

DEPLROFRHUNLBEITLTCZES
Lane thickness = volume

Thicker arcs carry more observed shipments — that's where the estimate is densest and the confidence highest.

Dashed = backhaul gap

When a corridor's two directions diverge by more than 10%, you're seeing the cost of empty returns. The cheap direction is the one carriers are desperate to fill.

Freight hub

Node size scales with throughput. Built from live market data and /analytics/regions/imbalance

For developers

One POST. The whole picture back.

A single authenticated call returns the estimate, its distribution, confidence, freshness and match tier. Batch up to 500 routes at once, or pull aggregate market analytics from the same API.

# Estimate a single lane
curl -X POST https://apex.tovr.eu/api/v1/estimate \
  -H "X-API-Key: $APEX_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "loading_country": "PL",
    "loading_postal_code": "50-148",
    "unloading_country": "DE",
    "unloading_postal_code": "60311",
    "distance_km": 700
  }'
Endpoints
POST/api/v1/estimate
POST/api/v1/estimate/batch
GET/api/v1/analytics/price-bands
GET/api/v1/analytics/corridors/rankings
GET/api/v1/analytics/routes/flows
GET/api/v1/analytics/regions/imbalance
GET/api/v1/analytics/alerts/price-movements
Authenticate with X-API-Key. Rate limits surface in X-RateLimit-* headers; a 429 returns Retry-After. Full reference in the documentation.

Stop quoting from instinct.

Get a key and price your first lane against the real European market in minutes.