Authenticate with the multi-carrier LTL rating API (e.g., Freightview, SMC3, or a carrier's direct rating API) using API credentials.
Build the rate request payload: origin ZIP, destination ZIP, shipment date, commodity details including NMFC item number or freight class, weight in pounds, number of pieces, and dimensions (length, width, height in inches).
Add applicable accessorial charges to the request — common ones include liftgate pickup, liftgate delivery, residential delivery, inside delivery, notify before delivery, and limited access; each accessorial is typically a boolean flag or enumerated code.
Submit the rate request and parse the response: for each carrier quote, extract the total charges, transit days, carrier SCAC, and any fuel surcharge or discount details.
Select the preferred carrier based on business rules (lowest cost, preferred carrier list, transit day requirement) and store the quote ID or rate basis for BOL generation.
Known gotchas
Freight class is deterministic only if you know the NMFC item number; when the item number is unknown, you must calculate class from density (PCF = weight / cubic feet) and use the density-to-class mapping table — getting class wrong by even one tier can change the quoted rate significantly.
Carrier rates on multi-carrier rating platforms may be contract rates tied to your account; spot rates for carriers where you have no contract will appear at much higher tariff levels and are not apples-to-apples comparisons.
Accessorial codes vary by carrier API — the same service (e.g., liftgate) may use different enumeration values across carriers; always validate accepted accessorial codes from the carrier's API documentation rather than assuming a generic value.
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp