Vetted carriers · Instant quotes · No brokers | 📞 855-564-4788 | ★ 5.0 · Google reviews | Verify Us | Sign In
Stretch XL Freight Get a Quote
Developer Docs · Live Freight Data API

Live Freight Lane Rates API

Real loads from multiple top freight data sources — aggregated every 3 minutes, queryable by exact origin/dest city+state. Built for TMS, freight analytics, broker dashboards, and automation.

Sign in / Sign up → See pricing

Already have a key? Sign in to see usage, manage add-ons, and rotate signing secrets.

Pricing

Free
$0 forever
  • 100 calls/day
  • 3,000 calls/month
  • All endpoints
  • Community support
Get free key
Pro
$99 /month
  • 5,000 calls/day
  • 50,000 calls/month
  • All endpoints
  • Priority email support
Start Pro
Enterprise
Custom
  • Unlimited calls
  • SLA + dedicated support
  • Custom integrations
  • Direct shipper-load feed
Contact sales

How signup works

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.

Get an API key

Endpoints

Live lane rates flow_reference added Jun 2026

POST https://stretchxlfreight.com/api/?endpoint=api/lane_rates
GET https://stretchxlfreight.com/api/?endpoint=api/lane_rates&...

Returns aggregated live rate stats for a specific origin → destination lane and optional equipment. Backed by real loads pulled from multiple top freight data sources within the last 24 hours, blended with TruckStop Rate Insights for median + low + high spread per direction (captures backhaul-realistic pricing). When the corridor is one of the ~80 top US truck corridors per FHWA's Freight Analysis Framework (FAF5.7.1, 2024 truck-mode base year), the response includes a flow_reference block with official annual ton-miles, tonnage, and dollar value — gov-source-cited freight context layered on top of live market rates.

FHWA Freight Statistics NEW Jun 2026 · $5/mo add-on

POST https://stretchxlfreight.com/api/?endpoint=api/lane_flow
GET https://stretchxlfreight.com/api/?endpoint=api/lane_flow&...

Official US freight movement reference data from FHWA's Freight Analysis Framework (FAF5.7.1, 2024 base year, truck mode). Pure gov-source-cited corridor statistics — no live rates, just the authoritative annual ton-miles + tonnage + dollar value flowing on each top corridor. Different audience from api/lane_rates: TMS analytics dashboards, academic research, freight infrastructure planning, journalism. Cheap (~1ms response) since it's a single indexed lookup. Requires the faf_stats entitlement on your API key — toggle in the dashboard or contact us. Covers the top ~80 US corridors today; the full FAF5 dataset (16,666 zone-pairs) is on the roadmap for the Enterprise tier.

Authentication

X-API-Key: sxlf_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Or, for GET requests, pass ?api_key=... in the query string.

Parameters

NameTypeRequiredExampleNotes
origin_citystringYesAtlantaCase-insensitive match.
origin_statestringYesGA2-letter USPS code.
dest_citystringYesMiamiCase-insensitive match.
dest_statestringYesFL2-letter USPS code.
equipmentstringNovanvan, reefer, flatbed, step_deck, hotshot, power_only. Omit for any.

Example: curl

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"
 }'

Example: Node.js (fetch)

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`);

Example: Python (requests)

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)")

Response shape

{
 "success": true,
 "data": {
 "lane": {
 "origin": "Mount Gilead, NC",
 "destination": "Enfield, CT",
 "equipment": "any"
 },
 "samples": 48,
 "sources_count": 1,
 "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,
 "flow_reference": {
   "source": "FHWA FAF5.7.1 (truck-mode aggregate)",
   "data_year": 2024,
   "rank_among_us_truck_corridors": 8,
   "annual_truck_tmiles_M": 2244.09,
   "annual_truck_tons_thousand": 6119.05,
   "annual_truck_value_M_usd": 19422.81,
   "attribution": "Federal Highway Administration Freight Analysis Framework v5.7.1, 2024 base year, truck mode"
 },
 "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.

FHWA flow_reference field (2026-06-24): when a queried lane is one of the ~80 top US truck corridors per FHWA's Freight Analysis Framework (FAF5.7.1, 2024 base year, truck mode), the response includes flow_reference with the official annual flow metrics — ton-miles, tons, dollar value, and corridor rank. This is government-source-cited freight intelligence layered on top of live market rates. Use it to: (1) prove corridor significance to customers, (2) compare your live rate against the trillion-dollar context, (3) add E-E-A-T-grade citations to your own published pages. Lanes outside the top-80 omit the field; flow_reference never blocks a response.

Error responses

{ "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

Use cases

Security & encryption

Data at rest is encrypted with Dark Envelope (darkenvelope.io). Every API key's owner contact details, internal notes, and HMAC signing secret are sealed in an AES-256-GCM envelope (32-byte per-key DEK wrapped by the master KEK, IV + authentication tag per payload). Plaintext PII never persists in our database — even with full DB read access, an attacker only sees ciphertext. The KEK lives in our infrastructure secret store; we can rotate it without re-issuing keys. Dark Envelope is an open envelope-encryption specification developed by the Stretch XL team; the format is compatible across PHP and Node.js so cross-service decryption stays clean as we add new backend stacks.

Network: TLS 1.3 only. All requests must hit https://stretchxlfreight.com. Plain HTTP returns 301. We require modern cipher suites (no SSLv3, no TLS 1.0/1.1, no CBC).

Keys are SHA-256 hashed. Your raw sxlf_live_xxx key is shown ONCE at issuance and never stored — only the SHA-256 hash. Lost it? Issue a new one; the old one stays revoked.

Optional: HMAC request signing (Pro / Enterprise)

For sensitive integrations, enable per-key HMAC signing in the admin portal. Each request must include three additional headers signed with a per-key secret. Replay attacks rejected via timestamp window (±300s) + nonce cache (10 min). Even if an attacker captures your API key in transit, they cannot forge a request without the signing secret. Default OFF; Enterprise customers can require it.

Request signing protocol

# 1. Build the canonical request string
ts=$(date +%s)
nonce=$(openssl rand -hex 16)
method="GET"
path="/api/?endpoint=api/lane_rates&origin_city=Phoenix&origin_state=AZ&dest_city=Dallas&dest_state=TX&equipment=van"
body=""
body_sha256=$(echo -n "$body" | sha256sum | cut -d' ' -f1)
canonical="$ts\n$nonce\n$method\n$path\n$body_sha256"

# 2. Sign with HMAC-SHA256, base64-encode
sig=$(printf "$canonical" | openssl dgst -binary -sha256 -hmac "$SXLF_SIGNING_SECRET" | base64)

# 3. Add headers
curl -H "X-API-Key: ${SXLF_API_KEY}"           \
     -H "X-SXLF-Timestamp: $ts"                 \
     -H "X-SXLF-Nonce: $nonce"                  \
     -H "X-SXLF-Signature: $sig"                \
     "https://stretchxlfreight.com${path}"

Signature validation: the server rejects requests where the timestamp is outside ±300s, the nonce was seen in the last 10 minutes for this key, or the HMAC doesn't match. All three failures return 401.

Rate limits + quotas

Three layers of throttling, all enforced independently:

PlanDaily quotaMonthly quotaBurst per secondBurst per minuteAdd-ons available
Free100/day3,000/month1 req/s30 req/minFHWA Stats (+$5/mo)
Starter $29/mo500/day5,000/month5 req/s100 req/minFHWA Stats (+$5/mo)
Pro $99/mo5,000/day50,000/month20 req/s500 req/minFHWA Stats included, HMAC signing available
Enterprise custom200 req/s5,000 req/minEverything + dedicated support + HMAC required

Quotas reset:

When you hit any limit you'll get HTTP 429 with a Retry-After header indicating how long to wait. Burst limits exist to prevent runaway scripts from burning your daily quota in 60 seconds — they're not designed to be hit by normal integrations.

Data sources + freshness

We aggregate loads from multiple top freight data sources, plus 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.

Terms

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.

Stretch XL Freight LLC · FMCSA-licensed · USDOT #4409725 · MC #01732149 · Easley, SC