Real loads from TruckerPath, Truckstop, and 123Loadboard — aggregated every 3 minutes, queryable by exact origin/dest city+state. Built for TMS, freight analytics, broker dashboards, and automation.
Email us with the tier + your contact info. We issue your key within 1 business day and email it directly. Self-serve dashboard ships Q3 2026.
Returns aggregated live rate stats for a specific origin → destination lane and optional equipment. Backed by real loads pulled from TruckerPath, Truckstop, and 123Loadboard within the last 24 hours.
X-API-Key: sxlf_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Or, for GET requests, pass ?api_key=... in the query string.
| Name | Type | Required | Example | Notes |
|---|---|---|---|---|
origin_city | string | Yes | Atlanta | Case-insensitive match. |
origin_state | string | Yes | GA | 2-letter USPS code. |
dest_city | string | Yes | Miami | Case-insensitive match. |
dest_state | string | Yes | FL | 2-letter USPS code. |
equipment | string | No | van | van, reefer, flatbed, step_deck, hotshot, power_only. Omit for any. |
curl -X POST 'https://stretchxlfreight.com/stretch-crm/api/?endpoint=api/lane_rates' \
-H 'X-API-Key: sxlf_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' \
-H 'Content-Type: application/json' \
-d '{
"origin_city": "Atlanta",
"origin_state": "GA",
"dest_city": "Miami",
"dest_state": "FL",
"equipment": "van"
}'
const res = await fetch(
'https://stretchxlfreight.com/stretch-crm/api/?endpoint=api/lane_rates',
{
method: 'POST',
headers: {
'X-API-Key': process.env.SXLF_API_KEY,
'Content-Type': 'application/json',
},
body: JSON.stringify({
origin_city: 'Atlanta',
origin_state: 'GA',
dest_city: 'Miami',
dest_state: 'FL',
equipment: 'van',
}),
}
);
const { success, data } = await res.json();
if (!success) throw new Error(data || 'lookup failed');
console.log(`Median rate: $${data.rate.median} | ${data.samples} samples`);
import os, requests
r = requests.post(
'https://stretchxlfreight.com/stretch-crm/api/?endpoint=api/lane_rates',
headers={'X-API-Key': os.environ['SXLF_API_KEY']},
json={
'origin_city': 'Atlanta',
'origin_state': 'GA',
'dest_city': 'Miami',
'dest_state': 'FL',
'equipment': 'van',
},
timeout=10,
)
d = r.json()['data']
print(f"Median rate: ${d['rate']['median']} ({d['samples']} samples)")
{
"success": true,
"data": {
"lane": {
"origin": "Mount Gilead, NC",
"destination": "Enfield, CT",
"equipment": "any"
},
"samples": 48,
"sources": { "TruckerPath": 48 },
"rate": { "median": 3450, "low": 3200, "high": 3450 },
"per_mile": { "median": 4.62, "low": 4.29, "high": 4.62 },
"distance_avg": 747,
"data_freshness": {
"newest_load": "2026-05-29T20:30:31+00:00",
"cache_fetched": "2026-06-01 01:15:24"
},
"is_estimate": false,
"tier": "pro",
"quota": {
"daily_quota": 5000,
"daily_used": 47,
"daily_remaining": 4953,
"monthly_quota": 50000,
"monthly_used": 218,
"monthly_remaining": 49782
},
"fetched_at": "2026-06-01T05:18:22+00:00"
}
}
Empty-lane fallback: when no live loads matched the lane in the last 24h, we return "is_estimate": true and surface the national per-mile bucket for the equipment type with "rate": null (per-mile only). You can detect this and surface "Estimated" to your users.
{ "success": false, "message": "Invalid API key", "data": null } // 401
{ "success": false, "message": "Daily quota of 100 exceeded for plan 'free'. Upgrade at /developers/", "data": null } // 429
{ "success": false, "message": "Need origin_city, origin_state, dest_city, dest_state", "data": null } // 400
Quotas reset:
When you hit a quota you'll get HTTP 429. Quota usage is returned on every successful response under data.quota.
We aggregate loads from TruckerPath, Truckstop, 123Loadboard, and Stretch XL Freight's own direct shipper-load feed. Our load-board warmer pulls fresh data every 3 minutes. Each load is filtered to the requested lane (exact origin city/state → destination city/state match) and the last 24 hours.
data.data_freshness.newest_load is the timestamp of the freshest load in the match set. data.data_freshness.cache_fetched is when we last hit upstream.
By using this API you agree to the terms of service. Data is provided as-is for informational and analytical use. Do not redistribute raw load detail (broker contact info, exact load IDs) without an Enterprise license.