Carrier’s official API
The Custom Companies (CustomCo) API: integration guide
The Custom Companies (CustomCo) is an LTL carrier whose customer API runs on the FACTS trucking platform from Carrier Logistics Inc. (CLI). The API is a set of simple XML-over-HTTP functions for LTL rate quotes, bill of lading and pickup entry, PRO tracking with document images, transit times and email shipment alerts. It is meant for shippers, 3PLs and TMS vendors that already have a CustomCo web login.
This guide covers The Custom Companies (CustomCo)’s own API (api.customco.com). Credentials come from The Custom Companies (CustomCo), not from FreightAPIs, and we are not affiliated with them.
Want one API key for carrier terminals, NMFC and ports instead? FreightAPIs API docs →
At a glance
| Carrier | The Custom Companies (CustomCo) |
|---|---|
| Type | LTL carrier |
| Interface | XML over HTTP (GET query string or POST form field) |
| Authentication | Web login user ID and password sent with every request |
| Capabilities | Rate quote (LTL), Transit time, Bill of lading & pickup request, Shipment tracking & document images, Shipment alerts |
Getting access
- You need a CustomCo web login. The same user ID and password you use on the FACTS web interface are used for the API.
- Logins are issued by the CustomCo API team. The documentation says to request them by emailing APISupport@customco.com.
- The integration guide is a PDF provided to customers; there is no self-service developer portal or signup page in the documentation.
- The documentation does not mention fees, rate limits, a sandbox or a formal approval process.
Authentication
Web login user ID and password sent with every request.
- Query-string calls (rate quote, tracking, shipment alerts) pass the login as xmluser and xmlpass.
- The bill of lading call accepts either xmluser/xmlpass or UserName/Password, usually as elements inside the posted XML document.
- There is no token, session or key exchange. Credentials travel on every call, so URL-encode special characters in the password (for example # must be sent as %23).
- The transit time example in the documentation carries no credentials at all; only the ZIP codes and pickup date are shown.
Environments
| Production (FACTS functions) | https://api.customco.com/scripts/cgiip.exe |
|---|
Endpoints
Rate quote (LTL)
A GET request with origin and destination ZIP codes plus one or more freight lines returns an itemized XML quote: freight charge, discount, fuel surcharge and each accessorial, plus the total and business days in transit.
| GET | /ratequote.xml | Returns an itemized LTL rate quote for the given lanes and freight lines. |
| GET | /keywordlist.xml | Lists the accessorial codes that can be added to a quote or BOL. |
Transit time
Returns the transit time between a shipper ZIP and a consignee ZIP for a given pickup date.
| GET | /xtransittime.xml | Looks up transit time between two ZIP/postal codes. |
Bill of lading & pickup request
Post an XML <bol> document to create a bill of lading and, unless nopickup is set, a pickup request in one call. The success response echoes the shipment and returns a PRO number plus links to a printable BOL PDF and shipping labels.
| POST | /tbolentry4.xml | Creates a BOL and pickup request from an XML document posted as xmlreq. |
Shipment tracking & document images
Look up a shipment by CustomCo PRO number and get an XML trace: origin and destination terminals, pieces and weight, delivery date and signer, a lifecycle status and the movement history.
| GET | /protracexml.htm | Returns the XML trace for one PRO number. |
Shipment alerts
Subscribe one or more email addresses to status alerts for a list of PRO numbers. The response confirms each PRO/alert/email combination that was registered.
| GET | /xmlproalert.xml | Registers email alerts (SHIP, APPT, OFD, POD) for a list of PRO numbers. |
Example request
The shipper block is omitted, so it defaults to the location on your login. Element order inside <bol> does not matter.
Integration notes
- Rate quotes are LTL only. Freight lines are arrays: repeat wpieces[n], wpallets[n], wweight[n] and vclass[n] with n = 1, 2, 3… The BOL call instead uses numbered suffixes (pieces1 … pieces8) and allows at most 8 lines.
- If you send any one of length, width or height for a line, you must send all three. Dimensions are in inches and weights in pounds.
- Accessorials can be sent several ways: a comma-separated accessoriallist, a code element set to yes (<LIFT>yes</LIFT>), an <accessorials> list, or an <ExtraSvc> block. Pull valid codes from keywordlist.xml rather than hard-coding them.
- Use POST for the BOL call. The docs allow a GET with xmlreq or xmlv=yes query arguments, but CLI strongly recommends POST. Send the XML as the form field xmlreq. Note the guide also refers to the function once as tbolnav4.xml; its examples all use tbolentry4.xml.
- Pickup times (putime, closetime) are HHMM with no colon; tracking returns times as HH:MM and dates in both MM/DD/YYYY and ISO (…iso fields). Prefer the ISO fields when parsing.
- Check the <success> element of a BOL response, not just the HTTP status. Failures come back as success=No with one or more errormessage entries (for example invalid username/password).
- Tracking is keyed on the CustomCo PRO number (pronum). Autonumber=Yes asks the BOL call to assign a PRO. Without a PRO assigned, the number returned by the BOL call may not be traceable until the carrier assigns a PRO at pickup.
- Parse quote lines defensively. The sample response in the guide puts the amount in <charge>, while live responses have been seen using <chrg> plus a <chargecode> element, and some lines (such as zero-dollar charges) carry no amount at all.
- Responses are XML encoded as ISO-8859-1, and company names can contain escaped characters such as &. Wrap values with special characters in CDATA when you build the request XML.
FAQ
Does CustomCo have an API?
Yes. The Custom Companies offers an XML-over-HTTP API on the FACTS platform for LTL rate quotes, BOL and pickup entry, PRO tracking, transit times and shipment alerts.
How do I get CustomCo API credentials?
The API uses your CustomCo web login. Logins are issued by the CustomCo API team, which you can reach at APISupport@customco.com.
Can I track a CustomCo shipment by PRO number through the API?
Yes. Call protracexml.htm with your login and the pronum parameter to get the shipment status, lifecycle code, movement history and links to available document images.
How do I get a POD from the CustomCo API?
There is no separate POD call. Document images, including the delivery receipt when it is available, are listed in the images section of the tracking response with a direct download URL.
Does the CustomCo API return transit times?
Yes. Rate quotes include busdays, and the separate xtransittime.xml function returns transit time between a shipper ZIP and a consignee ZIP for a pickup date.
On FreightAPIs
Official resources
Written from The Custom Companies (CustomCo)’s published API documentation and last checked 2026-10-09. FreightAPIs is not affiliated with The Custom Companies (CustomCo); endpoints and access rules can change, so confirm details in the carrier’s own documentation before going live.
Other carrier API guides
ABF Freight · Estes Express Lines · Saia LTL Freight · TForce Freight · Old Dominion Freight Line · XPO (LTL) · AAA Cooper Transportation · AIT Worldwide Logistics