API · /freight-api

Freight & LTL API

healthy 4,094 Subscribers

Freight and logistics maths as an API, computed locally and deterministically — the LTL freight class and load-planning numbers a shipper, broker or warehouse works to. The freight-class endpoint computes the density (weight ÷ cubic feet) of a shipment and maps it to the NMFC density-based freight class — the 18-band scale from class 50 (densest, cheapest) to 500 (lightest) — so a 200 lb pallet measuring 48×40×48 inches is 3.75 lb/ft³ and lands in class 250. The pallet endpoint palletizes a carton: it takes the better of the two footprint orientations for cartons per layer, fills the usable stack height in layers, and returns the cartons per pallet limited by the smaller of the cube and the weight cap, with the cargo weight and stack height (defaulting to a 48×40 GMA pallet). The container endpoint loads a 40-foot high-cube container (or any dimensions you give): how many units fit by axis-aligned stacking and by payload, which one is the limiting factor, the total weight and the cube utilisation. Everything is computed locally and deterministically, so it is instant and private. Ideal for logistics, freight-brokerage, 3PL, warehouse-management and supply-chain app developers, LTL rating and load-planning tools, and shipping calculators. Pure local computation — no key, no third-party service, instant. Imperial units (inches, pounds, cubic feet) as the NMFC scale is US-based. Live, nothing stored. 3 compute endpoints. This is freight-class and load-planning maths; for single-parcel courier billing weight use a dimensional-weight API.

api.oanor.com/freight-api
Get an API key Try in playground → Contact provider

Machine-readable spec so AI agents can integrate this API.

/api/freight-api/openapi.json
/api/freight-api/llms.txt

Discovery: GET /api/index.json lists every API.

API health

healthy
Uptime
100.00%
Server probes · 24h
Avg latency
85 ms
Server probes · 24h
Subscribers
4,094
active
Total calls
72
last 7 days
status Full status page → · 8 probes/24h

Pricing

Pick a tier — billed monthly, cancel anytime.

Free

Free

  • 4,050 calls / month
  • 2 requests / second
  • Hard cap (429 above quota, no overage)
  • 4,050 calls/month
  • 2 req/sec
  • Freight class + pallet + container
  • No credit card
Sign in to subscribe

Starter

€6.60 /month

  • 42,000 calls / month
  • 6 requests / second
  • Hard cap (429 above quota, no overage)
  • 42,000 calls/month
  • 6 req/sec
  • NMFC density, palletization, load plans
  • Email support
Sign in to subscribe

Pro

€17.50 /month

  • 197,000 calls / month
  • 15 requests / second
  • Hard cap (429 above quota, no overage)
  • 197,000 calls/month
  • 15 req/sec
  • 3PL & WMS pipelines
  • Priority support
Sign in to subscribe

Mega

€52.50 /month

  • 1,145,000 calls / month
  • 40 requests / second
  • Hard cap (429 above quota, no overage)
  • 1,145,000 calls/month
  • 40 req/sec
  • Platform scale
  • Dedicated SLA
Sign in to subscribe

Built by

Related APIs

Other APIs with overlapping tags.

Shipping Container Codes API

The ISO 6346 size-and-type codes used to identify intermodal freight containers as an API — the reference a container booking system, EDI integration or terminal operating system needs. Every shipping container is described by a 4-character code (for example 22G1 = a 20-foot general-cargo container, 45R1 = a 40-foot high-cube reefer). For each of 700+ codes the API returns a human-readable description, the container length in feet, the height in feet and the ISO group code it belongs to. Look a code up, list every code in a group, search by description (reefer, tank, open top, flat rack…), or list the whole set. Served from memory — always fast.

api.oanor.com/containercodes-api

Package Type Codes API

The UN/ECE Recommendation 21 package-type codes — the codes used to describe the kind of packaging in trade, transport and customs documents (packing lists, dangerous-goods declarations, EDI messages) — as an API. The reference a logistics, customs or e-invoicing system needs. Each of 400+ codes (for example 1A = steel drum, 5H = woven-plastic bag, BX = box, CT = carton, JY = jerrican) carries an alphanumeric code, a name, a description and a numeric code. Look a code up, reverse-look-up the codes that share a numeric code, search by name, or list them all. This is the packaging-type CODE register — distinct from containercodes-api (ISO 6346 shipping containers) and unitcodes-api (units of measure). Served from memory — always fast.

api.oanor.com/packagecodes-api

Incoterms API

The ICC Incoterms — the international commercial terms used in every contract of international sale — as an API. For each of the 11 three-letter terms (EXW, FCA, FAS, FOB, CFR, CIF, CPT, CIP, DAP, DPU, DDP): its full name, a plain-language description of what the seller and the buyer are each responsible for, the official Incoterms group (E departure, F main-carriage-unpaid, C main-carriage-paid, D arrival) and the mode of transport it applies to (any mode, or sea and inland waterway only). Look a term up, list the terms in a group, filter by transport mode, or list them all. The reference an e-commerce checkout, ERP, freight-forwarding or trade-finance system needs to interpret a delivery term. Served from memory — always fast.

api.oanor.com/incoterms-api

Dimensional Weight API

Shipping dimensional-weight maths as an API. Carriers bill the greater of a parcel's actual weight and its dimensional (volumetric) weight — the volume divided by a carrier "dim divisor" — so a big, light box can cost far more than the scales suggest. The dimweight endpoint computes the dimensional weight in both pounds and kilograms from the length, width and height (in inches or centimetres) and a dim divisor, which you can give directly or pick by carrier (UPS, FedEx, USPS, DHL, IATA). The billable endpoint takes the actual weight as well and returns the billable weight — the greater of actual and dimensional — telling you which one you will be charged on. The girth endpoint computes the girth (twice the width plus height of the two smaller sides), the length-plus-girth and the longest side, and flags whether the parcel is oversize against length limits (defaulting to typical US ground values). Everything is computed locally and deterministically, so it is instant and private. Ideal for e-commerce checkout and shipping estimators, fulfilment and warehouse tools, freight and logistics software, and packaging optimisation. Pure local computation — no key, no third-party service, instant. Live, nothing stored. Divisors and limits are typical published values — confirm with your carrier and service. 3 endpoints. This is dimensional-weight maths; for live shipping rates use a carrier's own API, and for plain unit conversion use a unit-conversion API.

api.oanor.com/dimweight-api

Frequently asked questions

Quick answers about pricing, quotas, and integration.

How do I get an API key for Freight & LTL API?
Sign up for free at oanor.com, generate an API key from the developer dashboard, and call Freight & LTL API with the x-oanor-key header. No credit card needed for the free tier.
What's the rate limit for Freight & LTL API?
Free tier allows 1 request per second. Paid plans scale up to 50 requests per second on the Mega tier. Hard limits return HTTP 429 above the quota — no surprise overage charges.
How much does Freight & LTL API cost?
Freight & LTL API has a free tier with 100 calls / month. Paid plans start at €6.60 / month with higher quotas and faster rate limits.
Can I cancel my subscription anytime?
Yes. Plans are billed monthly and you can cancel anytime from your billing dashboard. No long-term contracts and no cancellation fee.
Is Freight & LTL API GDPR-compliant?
All requests to Freight & LTL API go through our EU-based gateway. Your upstream API key never leaves our server and no personal data is shared with the upstream provider beyond the request you send.

Pick an endpoint from the list on the left to see its details and try it.

Code snippets

Sign up to get an API key, then call any path under your slug.

curl https://api.oanor.com/freight-api/SOME_PATH \
  -H "x-oanor-key: oanor_test_..."
const res = await fetch("https://api.oanor.com/freight-api/SOME_PATH", {
  headers: { "x-oanor-key": "oanor_test_..." }
});
const data = await res.json();
$ch = curl_init("https://api.oanor.com/freight-api/SOME_PATH");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, ["x-oanor-key: oanor_test_..."]);
$response = curl_exec($ch);
import requests
r = requests.get(
    "https://api.oanor.com/freight-api/SOME_PATH",
    headers={"x-oanor-key": "oanor_test_..."},
)
print(r.json())

Ratings

Sign in to rate.

No reviews yet.

Discussion

Ask questions, share usage tips, get answers from the provider and other developers. Public — anyone can read.

Sign in to start a thread or reply.

Sign in

New thread

/ 4000

📌 Pinned 🔒 Locked

·

· ·

/ 4000

🔒 This thread is locked — no new replies.

  • No threads yet — start the discussion.

Support

Private 1:1 support with the provider — billing questions, integration issues, account problems. Only you and the provider team can see these threads.

Sign in to open a support ticket.

Sign in

Open new ticket

Describe what you need help with. The provider team gets an email and replies on the ticket page.

  • No tickets yet for this API.

Subscription active — calls can start immediately.

Send your first request —

Subscription active — copy a snippet and fire off your first call.