APEXReference

Known gaps & limitations

Honest limitations of the current APEX service — the unpaginated corridors endpoint, per-instance rate limiting, the inert outlier detector, and the aggregation refresh cadence. Documented so consumers can plan around them.

APEX is documented honestly, including its rough edges. These are current limitations to plan around, not bugs to work around silently.

Corridors is unpaginated

GET /corridors returns the entire inventory in one response (tens of megabytes). There is no pagination. Treat it as a bulk export and cache it; for per-corridor queries use the corridor analytics endpoints instead. See Corridors.

Rate limiting is per-instance

The rate limiter's window is held per API instance, not globally. With N instances serving traffic, the effective ceiling for a key can be up to N× its configured budget. Size budgets with that in mind. See Rate limiting.

Outlier flagging is not automated

Observations carry an is_outlier flag that estimates and analytics honour on read, but the detector that would set it is not currently wired into ingestion or aggregation. In practice, outlier exclusion relies on the price sanity filter (0.5–5.0 EUR/km) and the observed-only, quality-filtered selection rather than statistical outlier removal.

Corridor aggregation cadence

Live estimates are computed directly from observations, so they always reflect current data. The pre-aggregated corridor statistics used by some analytics (and the corridor aggregate-quality score) are refreshed on a periodic aggregation pass; between passes they can lag the raw observations.

No request-path cache

There is no caching layer in front of estimation — every request computes from the database. This keeps results always-current at the cost of doing the work each time; batch where you can (see Batch estimation).

On this page