Developers
LoadForge public load API
The reference partner surface for fetching the live board of available freight. Unauthenticated, CORS-friendly, and pinned to a versioned JSON envelope.
The GET /api/v1/loads endpoint returns the same public board you see on /loads, shaped for partner integrations and driver-side clients. No account is required, rate limits are generous, and the envelope is exactly the JSON documented below.
curl -sS "https://loadforge-6.polsia.app/api/v1/loads?limit=20"The endpoint accepts an unauthenticated GET and returns a JSON envelope keyed by schema_version with a loads array. No API key, no cookies.
Below is the live envelope returned by /api/v1/loads?limit=1 at the moment you loaded this page. The top-level keys — schema_version, loads, next_cursor — are the full contract. Each entry in loads carries externalId, originState, destinationState, equipmentRequired, pickupStart, pickupEnd, deliveryEnd, and postedRateUsd. The next_cursor field is a base64 string when more pages exist, and null when you are on the final page.
Fetching live sample from /api/v1/loads…
| Parameter | Type / range | Default | Description |
|---|---|---|---|
equipment | enum: DRY_VAN, DRYVAN, VAN, REEFER, FLATBED, STEPDECK, POWER_ONLY | none | Filter by equipment. DRY_VAN is normalized to DRYVAN server-side, so partners can use either spelling. |
limit | integer 1..100 | 20 | Maximum number of items returned. |
cursor | string (opaque base64) | none | Opaque cursor — pass back the next_cursor value from the previous response to fetch the next page. Encoded as base64(<postedAtISO>_<externalId>); treat as opaque, do not parse. |
Every response carries schema_version: '1.0.0' at the top level. Bumping to 2.x is a breaking change — clients should pin against this key today so a future major release surfaces as an explicit error rather than a silent shape drift.