# TForce Final Mile Tracking API & MCP

URL: https://docs.lastscanned.com/carriers/tforce

Query live **TForce Final Mile / TForce Logistics** (`tforce`, formerly Dynamex) package status and scan history across the US and Canada in a single synchronous `GET` request or MCP tool call. `lastscanned` auto-detects 20-character `TF…` package IDs in Pass 1 (`matches`) and hyphenated order piece numbers (`NJ0342070-1`) in Pass 2 (`mayMatch`), returning a normalized `TrackingResult` JSON payload.

## Overview & Quick Facts

| Property | Value |
|---|---|
| **Carrier slug (`?carrier=`)** | `tforce` |
| **Brand & service aliases** | TForce Final Mile, TForce Logistics, Dynamex (`tforcelogistics.com`, `direct.tfesg.com/finalmiletrack`) |
| **Category** | US & Canadian final-mile parcel carrier (Detection precedence **#23 of 31**) |
| **Single-package REST endpoint** | `GET https://api.lastscanned.com/v1/track/{trackingNumber}` |
| **Batch REST endpoint** | `GET https://api.lastscanned.com/v1/track?numbers=TF...,NJ...` (up to 35 numbers per carrier in a 100-number call) |
| **MCP server (`https://mcp.lastscanned.com`)** | `track_package`, `track_packages`, `list_carriers` (`claude mcp add --transport http lastscanned https://mcp.lastscanned.com`) |
| **Authentication & pricing** | `Authorization: Bearer lsk_live_...` · **1 free keyless lookup/day per IP** · **Free tier** (5 unique numbers/day, $0) · **Pro** ($4.99/mo for 1,000 unique numbers, unlimited re-polls, $0.015/extra) · **HTTP 402 Stripe MPP** ($0.50 for 25-number `lsk_pack_` key or $0.02/number in USDC on Tempo) |

## Why developers use `lastscanned` for TForce Final Mile

- **Structured JSON from TForce's HTML-only final-mile tracker**: TForce Logistics' public Final Mile tracker (`direct.tfesg.com/finalmiletrack`) renders multi-package HTML tables without a JSON endpoint and prints scan dates without a calendar year (e.g. `"Oct 24 - 5:43 PM EDT"`). `lastscanned` isolates the exact requested Package ID block, resolves the year and timezone offset (`EDT`, `EST`, `CDT`, `CST`, `MDT`, `MST`, `PDT`, `PST`, `ADT`, `AST`, `NDT`, `NST`), and returns structured JSON.
- **Smart `"Returned To Sender"` & `"Shortage"` normalization**: When a TForce parcel is returning to the shipper, the trip back still prints as `"Out For Delivery"` in the scan rows while the summary `Status` row says `"Returned To Sender"`; similarly, when a shipper manifests a parcel without handing it over, TForce logs a `"Shortage"` row alongside *"Package information has been provided but the item has not been received"*. `lastscanned` reconciles both into `returned` and `label_created` respectively.
- **Distinguishes recipient signatures from drop-off locations**: TForce's `"Delivered To"` field holds either a person's name or a drop-off spot (`"FRONT DOOR"`, `"PORCH"`, `"MAILROOM"`). `lastscanned` only populates `signedBy` when the value is an actual recipient signature.

## Tracking Number Formats & Auto-Detection (`matches` vs `mayMatch`)

TForce Final Mile is evaluated **twenty-third (#23)** in `lastscanned`'s two-pass detector:

| Pass | Rule / Regex | Check Digit | Examples |
|---|---|---|---|
| **Pass 1 (`matches`) — `TF` Package ID** | `/^TF\d{18}$/i` (`TF` + 18 digits = 20 chars) | — | `TF100000000012345678`, `TF105840000342954623` |
| **Pass 2 (`mayMatch`) — Order Piece** | `/^[A-Z]{2}\d{7}-\d{1,2}$/i` (2-letter depot code + 7 digits + `-` + 1–2 digit piece number) | — | `NJ0342070-1`, `CD1524403-1` |

### When is `?carrier=tforce` required?

- **Optional (auto-detected)**: All 20-character `TF` + 18-digit package IDs (Pass 1) and `XX1234567-1` depot order piece numbers (Pass 2).
- **Required (`?carrier=tforce`)**: Shipper-assigned reference numbers that TForce also delivers (such as Best Buy `BBYC…` references or cross-border labels handed to TForce under another carrier's barcode). Note that TForce's tracker covers shipments from the last **120 days**.

## Synchronous `GET` Request & Normalized JSON Response

### `curl`

```bash
curl -s "https://api.lastscanned.com/v1/track/TF100000000012345678" \
  -H "Authorization: Bearer $LASTSCANNED_API_KEY"
```

### JavaScript / TypeScript (`fetch`)

```ts
const res = await fetch("https://api.lastscanned.com/v1/track/TF100000000012345678", {
  headers: { Authorization: `Bearer ${process.env.LASTSCANNED_API_KEY}` },
});
const pkg = await res.json();
console.log(pkg.status, pkg.destination, pkg.events[0]);
```

### MCP `track_package` tool call

```json
{
  "tool": "track_package",
  "arguments": {
    "tracking_number": "TF100000000012345678"
  }
}
```

### Normalized `TrackingResult` JSON response

```json
{
  "carrier": "tforce",
  "trackingNumber": "TF100000000012345678",
  "status": "delivered",
  "statusDescription": "Delivered",
  "service": null,
  "deliveredAt": "2026-10-25T21:43:00Z",
  "deliveredAtLocal": "2026-10-25T17:43:00",
  "signedBy": null,
  "destination": {
    "city": "ORLEANS",
    "state": "ON",
    "country": "CA"
  },
  "estimatedDelivery": null,
  "message": "Delivered",
  "events": [
    {
      "timestamp": "2026-10-25T21:43:00Z",
      "localTime": "2026-10-25T17:43:00",
      "status": "delivered",
      "description": "Delivered",
      "location": "OTTAWA, ON",
      "code": null
    },
    {
      "timestamp": "2026-10-25T12:20:00Z",
      "localTime": "2026-10-25T08:20:00",
      "status": "out_for_delivery",
      "description": "Out For Delivery",
      "location": "OTTAWA, ON",
      "code": null
    },
    {
      "timestamp": "2026-10-25T08:05:00Z",
      "localTime": "2026-10-25T04:05:00",
      "status": "in_transit",
      "description": "Received At Delivery Facility",
      "location": "OTTAWA, ON",
      "code": null
    },
    {
      "timestamp": "2026-10-24T19:15:00Z",
      "localTime": "2026-10-24T15:15:00",
      "status": "label_created",
      "description": "Manifested By Shipper",
      "location": "MISSISSAUGA, ON",
      "code": null
    }
  ]
}
```

> **Note on TForce Final Mile vs TForce Freight**: This integration covers **TForce Final Mile / TForce Logistics** e-commerce parcel deliveries (`TF…` and order piece numbers) across the US and Canada, not LTL pallet freight PRO numbers.

## Related Resources

- **Live browser lookup tool**: [Track a TForce Final Mile package live on lastscanned.com/lookup/tforce](https://lastscanned.com/lookup/tforce)
- **Carrier hub**: [All 31 supported carriers](/carriers)
- **Regex & check digits**: [Tracking number formats & auto-detection](/formats)
- **AI support workflows**: [WISMO AI agents & synchronous tracking](/wismo)
