Developer Reference
ABF Freight API & Terminal Lookup
A free JSON REST API for ABF Freight terminal data - look up any terminal by ZIP code or state and get addresses, service coverage, transit add-on days, and daily pickup/delivery schedules. Query it from your own app with batch lookups and coverage endpoints, or search interactively below. Free API key, no ABF account required.
/api/abf-location?zip=:zip&city=:city
ABF Location by ZIP Code
Look up ABF Freight service coverage for a US ZIP code. Returns station info, service type, daily schedule, and transit add-on days.
Query Parameters
| Parameter | Type | Description |
|---|---|---|
zip
required
|
string
|
5-digit US ZIP code |
city
optional
|
string
|
City name to disambiguate multi-city ZIPs |
Response Fields
| Field | Type | Description |
|---|---|---|
success
|
boolean
|
Indicates whether the request succeeded |
zip
|
string
|
The queried ZIP code |
status
|
string
|
served | multi_city | not_served |
location
|
object
|
Location with station details (when status=served) |
cities
|
array
|
Array of candidate cities (when status=multi_city) |
message
|
string
|
Human-readable status message |
Code Examples
curl "https://freightapis.dev/api/abf-location?zip=00501" \
-H "Authorization: Bearer YOUR_API_KEY"
/api/abf-location/search?q=:query
Search ABF Locations
Search ABF Freight locations by city or state. Returns paginated results matching the query. Available on every plan.
Query Parameters
| Parameter | Type | Description |
|---|---|---|
q
required
|
string
|
Search query (minimum 2 characters). Matches city and state. |
page
optional
|
integer
|
Page number for pagination (default: 1) |
Response Fields
| Field | Type | Description |
|---|---|---|
success
|
boolean
|
Indicates whether the request succeeded |
query
|
string
|
The search query used |
locations
|
array
|
Matching ABF location objects |
total
|
integer
|
Total number of matching results |
currentPage
|
integer
|
Current page number |
totalPages
|
integer
|
Total number of pages |
Code Examples
curl "https://freightapis.dev/api/abf-location/search?q=miami" \
-H "Authorization: Bearer YOUR_API_KEY"
/api/abf-location/station/:num
Station Lookup
Retrieve all ZIP code locations served by a specific ABF Freight station number.
URL Parameters
| Parameter | Type | Description |
|---|---|---|
num
required
|
string
|
ABF station number |
page
optional
|
integer
|
Page number for pagination (default: 1) |
Response Fields
| Field | Type | Description |
|---|---|---|
success
|
boolean
|
Indicates whether the request succeeded |
stationNumber
|
string
|
The queried station number |
locations
|
array
|
Array of ABF location objects served by this station |
total
|
integer
|
Total number of locations served |
currentPage
|
integer
|
Current page number |
totalPages
|
integer
|
Total number of pages |
Code Examples
curl "https://freightapis.dev/api/abf-location/station/219" \
-H "Authorization: Bearer YOUR_API_KEY"
/api/abf-location/batch
Batch ZIP Lookup
Look up ABF Freight coverage for multiple ZIP codes in a single request. Maximum 20 ZIP codes per request (50 for Enterprise).
Request Body
| Parameter | Type | Description |
|---|---|---|
zips
required
|
string[]
|
Array of 5-digit ZIP codes. Max 20 for Pro, 50 for Enterprise. |
Response Fields
| Field | Type | Description |
|---|---|---|
success
|
boolean
|
Indicates whether the request succeeded |
results
|
object
|
Map of ZIP to a per-ZIP result. served → {status, location}; multi_city → {status, cityCount, cities}; not_served → {status} |
summary
|
object
|
{served, multi_city, not_served, total} |
Code Examples
curl -X POST "https://freightapis.dev/api/abf-location/batch" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"zips": ["00501", "00601", "90001"]}'
/api/abf-location/coverage?state=:state
State Coverage
Retrieve ABF Freight service coverage statistics for a US state.
Query Parameters
| Parameter | Type | Description |
|---|---|---|
state
required
|
string
|
2-letter US state code (e.g., TX) |
Response Fields
| Field | Type | Description |
|---|---|---|
success
|
boolean
|
Indicates whether the request succeeded |
state
|
string
|
The queried state code |
totalLocations
|
integer
|
Total number of served locations in the state |
serviceBreakdown
|
object
|
Counts keyed by service type present in the state (e.g. {Direct, Connect}); types with zero locations are omitted |
Code Examples
curl "https://freightapis.dev/api/abf-location/coverage?state=TX" \
-H "Authorization: Bearer YOUR_API_KEY"
/api/abf-location/service-days?zip=:zip
Service Days
Retrieve the pickup and delivery schedule for a specific ZIP code. Available on every plan.
Query Parameters
| Parameter | Type | Description |
|---|---|---|
zip
required
|
string
|
5-digit US ZIP code |
city
optional
|
string
|
City name to disambiguate multi-city ZIPs |
Response Fields
| Field | Type | Description |
|---|---|---|
success
|
boolean
|
Indicates whether the request succeeded |
zip
|
string
|
The queried ZIP code |
city
|
string
|
City name for this location |
state
|
string
|
2-letter state code |
schedule
|
object
|
7-day pickup/delivery schedule keyed by day name |
nextPickupDay
|
string
|
Next available pickup day |
nextDeliveryDay
|
string
|
Next available delivery day |
Code Examples
curl "https://freightapis.dev/api/abf-location/service-days?zip=47524" \
-H "Authorization: Bearer YOUR_API_KEY"
/api/abf-location/transit-info?origin_zip=:zip&dest_zip=:zip
Transit Info
Retrieve transit add-on day information between an origin and destination ZIP code pair. Available on every plan.
Query Parameters
| Parameter | Type | Description |
|---|---|---|
origin_zip
required
|
string
|
5-digit origin ZIP code |
dest_zip
required
|
string
|
5-digit destination ZIP code |
Response Fields
| Field | Type | Description |
|---|---|---|
success
|
boolean
|
Indicates whether the request succeeded |
origin
|
object
|
Origin location details with station info |
destination
|
object
|
Destination location details with station info |
totalAddOnDays
|
integer | null
|
Sum of inbound and outbound add-on days, or null if either ZIP is unserved |
bothServed
|
boolean
|
Whether both origin and destination are served by ABF |
Code Examples
curl "https://freightapis.dev/api/abf-location/transit-info?origin_zip=00501&dest_zip=87012" \
-H "Authorization: Bearer YOUR_API_KEY"
/api/abf-location/carriers?zip=:zip
Carrier Info
Retrieve carrier and service type details for a ZIP code, including SCAC code, service classification, and add-on day counts.
Query Parameters
| Parameter | Type | Description |
|---|---|---|
zip
required
|
string
|
5-digit US ZIP code |
city
optional
|
string
|
City name to disambiguate multi-city ZIPs |
Response Fields
| Field | Type | Description |
|---|---|---|
success
|
boolean
|
Indicates whether the request succeeded |
zip
|
string
|
The queried ZIP code |
city
|
string
|
City name for this location |
state
|
string
|
2-letter state code |
serviceType
|
string
|
ABF service type (e.g., Direct, Connect) |
carrier
|
object
|
{scac, isDirect, isPartner, isConnect} |
addOnDays
|
object
|
{inbound, outbound} |
stationNumber
|
string
|
Serving ABF station number |
Code Examples
curl "https://freightapis.dev/api/abf-location/carriers?zip=87012" \
-H "Authorization: Bearer YOUR_API_KEY"
ABF Terminal Lookup - FAQ
How do I look up an ABF Freight terminal?
Search by ZIP code or by state. FreightAPIs returns the ABF terminal address, service coverage, transit add-on days, and daily pickup/delivery schedules instantly - free to use, with a REST API for programmatic and batch queries.
Is the ABF Freight terminal lookup free?
Yes. Terminal lookup is free for all plans. The Free tier includes 20 API calls per month; paid plans raise the monthly quota for higher-volume lookups.
Can I look up multiple ABF terminals at once?
Yes. The batch endpoint accepts up to 20 ZIP or terminal lookups per request (50 for Enterprise), so you can resolve many shipments in a single call.
Is there a public ABF Freight API?
ArcBest (ABF Freight’s parent) offers official quoting, tracking, and pickup APIs to shippers with an ABF account. For terminal location data specifically, FreightAPIs provides an independent REST API over ABF terminals - no ABF account required: look up terminals by ZIP or state, check service days and transit info, and run batch queries with a free API key.
How do I call the ABF Freight API?
Send an HTTP GET to https://freightapis.dev/api/abf-location?zip=72601 with your API key in the X-API-Key header. The response is JSON containing the matching ABF terminal, its address, and service coverage. Eight endpoints are available - ZIP lookup, search, station detail, batch, coverage, service days, transit info, and carriers - and all of them work on every plan, including Free.