Carrier’s official API
ABF Freight API: integration guide
ArcBest publishes a set of APIs for its ABF Freight LTL network: rate quotes with transit times, bill of lading and pickup requests, shipment tracking and document image retrieval. A separate JSON API handles truckload quoting and booking. They are aimed at shippers, 3PLs and TMS vendors who want ABF rating and shipment data inside their own software.
This guide covers ABF Freight’s own API (www.abfs.com). Credentials come from ABF Freight, not from FreightAPIs, and we are not affiliated with them.
Want one API key for carrier terminals, NMFC and ports instead? ABF Freight location API · FreightAPIs API docs →
At a glance
| Carrier | ABF Freight (ArcBest) |
|---|---|
| Type | LTL carrier |
| SCAC | ABFS |
| Interface | HTTP GET/POST with query parameters, XML response (LTL), REST/JSON (Truckload) |
| Authentication | API key as a query parameter (LTL); Bearer API key plus App ID header (Truckload) |
| Capabilities | LTL rate quote and transit time, Bill of lading and pickup request, Shipment tracking, Documents and images (BOL, POD, invoice), Truckload quote and booking |
Getting access
- The API documentation lives inside the arcb.com customer toolset (Resources > APIs), so you need an arcb.com login to read it.
- Your personal API key is shown on those documentation pages once you are signed in. It is passed as the ID parameter on the LTL calls.
- TMS providers also need an App ID. ArcBest asks TMS vendors to request one by email at api@arcb.com.
- The Truckload API requires an App ID header on every request; the docs say to email api@arcb.com if you do not have one.
- The documentation does not mention pricing for API access or a formal approval workflow beyond the App ID request.
Authentication
API key as a query parameter (LTL); Bearer API key plus App ID header (Truckload).
- LTL services (rate quote, BOL/pickup, tracking, document retrieval): send your arcb.com API key in the ID query parameter. TMS providers add their App ID in the APP_ID parameter.
- Truckload API: send Authorization: Bearer YOUR_API_KEY and X-App-ID: YOUR_APP_ID on every request.
- There is no token exchange or expiry step documented. The key is static and tied to your arcb.com account.
- Because the LTL key travels in the URL, prefer POST from your server and keep the key out of browser code and logs.
Environments
| LTL XML services (production) | https://www.abfs.com |
|---|---|
| Truckload JSON API (production) | https://api.arcb.com |
Endpoints
LTL rate quote and transit time
Returns a price for an LTL shipment plus the advertised transit days and due date, the origin and destination service centers, and any guaranteed delivery options. Supports up to 15 commodity lines and a long list of accessorial flags.
| GET | /xml/aquotexml.asp | Request an LTL rate quote (GET or POST); the response is XML. |
Bill of lading and pickup request
One call creates the bill of lading, shipping labels and PRO labels and books the pickup. It can auto-assign a PRO number, attach your quote ID, and carry hazmat details per commodity line.
| GET | /xml/bolpkupxml.asp | Create a BOL and submit a pickup request (GET or POST); the response is XML. |
Shipment tracking
Looks up shipments by PRO, BOL, PO, customer reference or pickup confirmation number. It returns pickup and delivery dates, due and expected delivery dates, appointment details, status codes, OS&D exceptions and delivery signature names.
| GET | /xml/tracexml.asp | Track one reference number (GET or POST); the response is XML. |
Documents and images (BOL, POD, invoice)
Returns links to scanned document pages for a shipment. Document types include BOL, delivery receipt / POD, invoice, weight and inspection certificates, customs papers and more. This is also the only documented way to get ABF invoices; there is no structured invoice API.
| GET | /xml/docretxml.asp | List document image pages for a shipment (GET or POST); the response is XML. |
Truckload quote and booking
A JSON API for full-truckload pricing. You request a quote, get back price options for the chosen equipment, optionally pre-validate, then book one option. ArcBest assigns a PRO number once the load is dispatched to a carrier.
| POST | /quotes/truckload | Request a truckload quote; the result holds a quoteId and a list of priceOptions. |
| GET | /quotes/truckload/{quoteId} | Fetch an existing quote by its ID. |
| POST | /quotes/truckload/manual/{quoteId} | Send a quote that needs manual review to an ArcBest quote analyst. |
| GET | /quotes/truckload/booking-requirements?quoteId={quoteId}&optionId={optionId} | Pre-check whether a price option can be booked; problems come back in errors and warnings. |
| POST | /quotes/truckload/booking | Book one price option from a completed quote. |
Example request
DL=2 is copied from ArcBest's own example URLs; the docs do not define it. Check NUMERRORS in the XML response before reading QUOTEID and CHARGE.
Integration notes
- Errors come back inside the XML, not as a separate status. Read NUMERRORS first: it must be "0" before QUOTEID, CHARGE, CONFIRMATION, shipment or document data is present.
- If a city, state and ZIP do not line up, the rate and BOL calls return SIMILARCITIES / SIMILARZIPS suggestions under SHIP, CONS or TPB instead of a result. Plan a step that lets the user pick the intended location.
- Date formats differ by call. The rate quote splits the date into ShipMonth, ShipDay and ShipYear. The BOL call wants MM/DD/YYYY and 24-hour HH:MM times in half-hour steps. The Truckload API uses YYYY-MM-DD and hh:mm.
- Dimensions in the rate quote are rounded up to whole inches (or the next tenth of a meter); a NOTE with TYPE="DIMS-ROUNDED" reports it. If you send both overall dimensions and Cube, Cube is ignored and a CUBE-IGNORED note is added.
- Read ITEMIZEDCHARGES when it is populated; INCLUDEDCHARGES is the fallback. TruckPack amounts (TPDELIVERYCHARGE, TPCHARGEPERBOX) are not included in CHARGE and must be added yourself.
- Testing: the BOL/pickup call accepts Test=Y and returns the dummy confirmation WWW0000000. The Truckload API has no separate test environment and bookings cannot be cancelled through the API, so always send an X-Dry-Run header while developing.
- Daily limits per 24 hours: 20,000 rate quotes, 5,000 BOL/pickup requests, 30,000 tracking requests and 15,000 document retrieval requests. The Truckload API docs do not state a limit.
- Tracking supports pickup confirmation numbers (RefType K) but document retrieval does not. In tracking, SHORTSTATUS is deprecated; use SHORTSTATUS2. Truckload weights are accepted in LBS only, and reefer loads must include the TEMPERATR option.
FAQ
Does ABF Freight have a public API?
Yes. ArcBest documents XML services for ABF LTL rate quotes, bill of lading and pickup requests, tracking and document retrieval, plus a JSON API for truckload quotes and booking. The documentation is reached through an arcb.com account.
How do I get an ABF API key?
Sign in to arcb.com and open the API documentation under Resources; your API key is shown on those pages. TMS providers also need an App ID, which ArcBest issues on request via api@arcb.com.
Can I track ABF shipments by BOL or PO number through the API?
Yes. The tracking call takes a RefNum and a RefType: A for PRO, B for bill of lading, P for purchase order, C for customer reference and K for pickup confirmation number.
How do I get an ABF proof of delivery or invoice through the API?
Use the document retrieval call with DocType=DR (delivery receipt) or PODI for a POD, and DocType=INV for the invoice. It returns image page paths, not structured invoice data.
Does the ABF API have a sandbox?
There is no separate sandbox documented. The BOL/pickup call has a Test=Y flag, and the Truckload API has an X-Dry-Run header that validates a booking without submitting it.
On FreightAPIs
Official resources
Written from ABF Freight’s published API documentation and last checked 2026-10-09. FreightAPIs is not affiliated with ABF Freight; endpoints and access rules can change, so confirm details in the carrier’s own documentation before going live.
Other carrier API guides
Estes Express Lines · Saia LTL Freight · TForce Freight · Old Dominion Freight Line · XPO (LTL) · AAA Cooper Transportation · AIT Worldwide Logistics · Amazon Freight