Developer Reference
Accessorial Codes
Additional-service codes across LTL carriers, mapped to a shared vocabulary so you can ask for a liftgate once and get the code each carrier expects. Every value records where it came from.
/api/accessorials
List Carriers with Accessorial Data
Every carrier we hold accessorial data for, with how many codes each contributes. A carrier reporting 0 codes and a non-zero capabilities count models additional services as request fields rather than codes. Available on every plan.
Code Examples
curl "https://freightapis.dev/api/accessorials" \
-H "Authorization: Bearer YOUR_API_KEY"
/api/accessorials/search?q=:query
Search Accessorial Services
Search by what the service is (liftgate, residential) or by a code you already hold (LGD). Results group by canonical service, so one call returns every carrier's spelling of the same thing. Available on every plan.
Query Parameters
| Parameter | Type | Description |
|---|---|---|
q
required
|
string
|
Service name, description keyword, or carrier code |
Code Examples
curl "https://freightapis.dev/api/accessorials/search?q=liftgate" \
-H "Authorization: Bearer YOUR_API_KEY"
/api/accessorials/code/:code
Identify a Code
Reverse lookup for a code you were handed. Always returns a list. Codes are not unique across carriers — LIFD is liftgate delivery at both TForce Freight and GLS, and RESP is residential pickup at several. Treat the response as a set of candidates, never a single answer. Available on every plan.
Code Examples
curl "https://freightapis.dev/api/accessorials/code/LIFD" \
-H "Authorization: Bearer YOUR_API_KEY"
/api/accessorials/carrier/:carrier
Codes by Carrier
One carrier's full set, plus any carrier-level caveats in notes — request caps, lane restrictions, and cases where the carrier serves an authoritative list live that our snapshot can lag. Available on every plan.
Code Examples
curl "https://freightapis.dev/api/accessorials/carrier/abf" \
-H "Authorization: Bearer YOUR_API_KEY"
/api/accessorials/map?service=:id
Cross-Carrier Map
One service, every carrier's code for it — the call to make when you are dispatching the same shipment to several carriers and need each one's spelling. Optionally narrow to the carriers you actually integrate with. Available on every plan.
Query Parameters
| Parameter | Type | Description |
|---|---|---|
service
required
|
string
|
Canonical service id, e.g. liftgate-delivery |
carriers
optional
|
string
|
Comma-separated carrier ids to filter to |
Code Examples
curl "https://freightapis.dev/api/accessorials/map?service=liftgate-delivery&carriers=abf,tforce" \
-H "Authorization: Bearer YOUR_API_KEY"
/api/accessorials/services
Canonical Service List
The canonical service vocabulary every code maps to. Use these ids with the cross-carrier map endpoint. Available on every plan.
Code Examples
curl "https://freightapis.dev/api/accessorials/services" \
-H "Authorization: Bearer YOUR_API_KEY"
Accessorial Codes - FAQ
What is an accessorial code?
An accessorial code identifies an additional service on an LTL shipment beyond dock-to-dock transport - a liftgate, an inside delivery, a residential address, an appointment. Every carrier defines its own codes, so the same service is spelled differently at each carrier you integrate with.
Why can the same code mean something at more than one carrier?
Carriers publish their code lists independently, so collisions happen. LIFD is liftgate delivery at both TForce Freight and GLS, and RESP is residential pickup at several carriers. The code lookup endpoint therefore always returns a list, and a code is only meaningful together with the carrier it belongs to.
What does source_tier mean on each code?
It records how well the value is known. "spec" means it was read from the carrier's machine-readable API specification, "doc" from a formal code table in their documentation, "snapshot" means the carrier serves an authoritative list live and our value may lag it, and "example" means it appeared only in a sample request and never in a formal table.
Do all carriers use accessorial codes?
No. Some model additional services as request fields instead. C.H. Robinson uses boolean flags, Flock Freight uses typed booleans and counts, and Pilot uses Y/N flags with hour counts. Those carriers return an empty codes array and a populated capabilities array telling you which field to set.
Is the accessorial API free?
Yes. Accessorial lookup is open on every plan including the Free tier - it is not Pro-gated. Paid plans only raise the monthly call quota.