Carrier’s official API
TForce Freight API: integration guide
TForce Freight publishes a set of JSON REST APIs for LTL shipping: Rating, Pickup, Tracking and Documents. They are aimed at shippers, 3PLs and TMS vendors who want to quote freight, schedule pickups, follow a shipment by PRO number and pull delivery receipts or bills of lading without using the carrier website.
This guide covers TForce Freight’s own API (api.tforcefreight.com). Credentials come from TForce Freight, not from FreightAPIs, and we are not affiliated with them.
Want one API key for carrier terminals, NMFC and ports instead? TForce Freight location API · FreightAPIs API docs →
At a glance
| Carrier | TForce Freight |
|---|---|
| Type | LTL carrier |
| SCAC | UPGF |
| Interface | REST/JSON |
| Authentication | API subscription key (Azure API Management) and/or OAuth 2.0 client-credentials bearer token |
| Capabilities | Rate quote & transit time, Volume rating, Pickup & BOL, Shipment tracking, Documents & images (POD/BOL) |
Getting access
- Use the TForce Freight developer portal, which lists the Rating, Pickup, Shipping, Tracking and Documents APIs and links to an "API User Manual V1" PDF for each.
- Your API credentials are issued by TForce Freight and tied to your customer account. Rates returned to a registered account can differ from published rates (the rating response flags this with summary.isRegisteredUser and summary.publishedRates).
- The published OpenAPI specs do not state pricing, an approval process or rate limits. Ask your TForce Freight account representative if you need those details.
Authentication
API subscription key (Azure API Management) and/or OAuth 2.0 client-credentials bearer token.
- The official OpenAPI specs declare an Azure API Management subscription key, sent either as the Ocp-Apim-Subscription-Key header or as a subscription-key query parameter.
- Production integrations also use an OAuth 2.0 client-credentials token issued through Microsoft Entra ID (login.microsoftonline.com, /oauth2/v2.0/token). You POST client_id, client_secret, grant_type=client_credentials and the scope TForce gives you, form-encoded.
- The token response has token_type "Bearer" and expires_in of 3599 seconds. Send it as Authorization: Bearer <access_token> and cache it until shortly before it expires; one token covers rating, pickup, tracking and documents.
- Business calls also take the query parameter api-version=v1. Requests without it fail.
Environments
| Production | https://api.tforcefreight.com |
|---|
Endpoints
Rate quote & transit time
Get Rate prices a class-rated LTL shipment from origin/destination postal codes, payer and line items. Set timeInTransit to get transit days and service centers back, and quoteNumber to receive a quote number.
| POST | /rating/getRate | Return LTL charges, accessorial breakdown and optional transit time for a shipment. |
Volume rating
Volume Rating quotes large shipments by linear feet instead of class. It takes a single commodity object with linearfeet (8–28) and weight, and only service code 308.
| POST | /rating/volumeRating | Return a volume (linear-foot) rate for a large LTL shipment. |
Pickup & BOL
Create Pickup Request books a pickup and returns a confirmation number; that number is what you use to cancel. Create Pickup From BOL books a pickup against an existing BOL or PRO.
| POST | /pickup/request | Schedule an LTL pickup and receive a confirmationNumber. |
| POST | /pickup/bol | Schedule a pickup for an existing shipment identified by bolId and/or pro. |
| DELETE | /pickup/request/{confirmationNumber} | Cancel a previously scheduled pickup. |
Shipment tracking
Track by PRO returns pieces, weight, current status, pickup and delivery dates, BOL and PO references and a full event history for a PRO number.
| GET | /track/pro/{pro} | Return status and event history for one PRO number. |
Documents & images (POD/BOL)
The Documents API returns images tied to a PRO, such as the delivery receipt or bill of lading, as Base64-encoded PDF. You can ask for document IDs only and fetch each file later by ID.
| POST | /documents/pro | List or download documents for a PRO, filtered by documentCategories. |
| POST | /documents/id | Download a single document by its ID. |
Example request
If your credentials are an APIM subscription key rather than an OAuth token, send it as Ocp-Apim-Subscription-Key: YOUR_API_KEY instead of the Authorization header.
Integration notes
- Add api-version=v1 to every Rating, Pickup, Tracking and Documents call. It is a query parameter, not a header.
- Units are fixed: weight must be LBS and dimensions IN. Country codes are limited to US, CA and MX.
- Get Rate can return several services in detail[] (for example standard and guaranteed). Pick the price by detail[].service.code; do not assume detail[0] is the one you asked for.
- Some response field names are misspelled in the API itself, such as summary.classDensityIndicatior. Map the names exactly as returned.
- Pickup responses return booleans as strings ("true"/"false") in emailSent, originIsRural and destinationIsRural.
- The pickup spec describes time, openTime and closeTime as 24-hour HHMM, but working integrations send HH:MM:SS. Test the format against your account before going live.
- If pomIndicator is true you must also send pom (failedEmail, message, emailNotification) and pomDestination. pom.numberType and eventType values (EN, PS, PX, RR) are case-sensitive.
- Documents come back as Base64 in detail[].data. Decode to bytes and write a .pdf; do not treat it as text. Use returnDocumentIdsOnly or clientCache to avoid re-downloading large files.
FAQ
Does TForce Freight have a public API?
Yes. TForce Freight offers REST/JSON APIs for rating, pickup, tracking and documents on api.tforcefreight.com. You need credentials tied to a TForce Freight account to call them.
How does TForce Freight API authentication work?
The OpenAPI specs declare an Ocp-Apim-Subscription-Key header. Integrations also obtain an OAuth 2.0 client-credentials token from Microsoft Entra ID that lasts about one hour and is sent as a Bearer token.
Does the TForce API support tracking by PRO number?
Yes. GET /track/pro/{pro}?api-version=v1 returns the current status, pickup and delivery details, BOL and PO references and the full event history.
Can I download a TForce Freight delivery receipt (POD) through the API?
Yes. POST /documents/pro with the PRO and documentCategories ["DR"] returns the delivery receipt as a Base64-encoded PDF. BOL, invoice, claim and weight-inspection documents are also available.
Can I cancel a TForce Freight pickup through the API?
Yes. Send DELETE /pickup/request/{confirmationNumber} using the confirmation number returned when you created the pickup.
On FreightAPIs
Official resources
Written from TForce Freight’s published API documentation and last checked 2026-10-09. FreightAPIs is not affiliated with TForce Freight; 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 · Old Dominion Freight Line · XPO (LTL) · AAA Cooper Transportation · AIT Worldwide Logistics · Amazon Freight