# Line Clear Express Tracking API & MCP

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

Query live **Line Clear Express** (`lineclear`) package status and scan history in a single synchronous `GET` request or MCP tool call. Pass `?carrier=lineclear` to select it.

## Overview & Quick Facts

| Property | Value |
|---|---|
| **Carrier slug (`?carrier=`)** | `lineclear` |
| **Brand aliases** | Line Clear Express, Line Clear, LCE Malaysia, lineclearexpress.com |
| **Category** | Malaysian express delivery |
| **Single-package REST endpoint** | `GET https://api.lastscanned.com/v1/track/{trackingNumber}` |
| **Batch REST endpoint** | `GET https://api.lastscanned.com/v1/track?numbers=V179130211638001,...` |
| **MCP server (`https://mcp.lastscanned.com`)** | `track_package`, `track_packages`, `list_carriers` |
| **Authentication & pricing** | `Authorization: Bearer lsk_live_...` · 1 free keyless lookup/day per IP |

## Tracking Number Formats & Auto-Detection

| Pass | Rule / Regex | Check Digit | Examples |
|---|---|---|---|
| **Pass 1 (`matches`)** | none | none | none |
| **Pass 2 (`mayMatch`)** | none | none | none |

Waybill shapes are not claimed, so pass `?carrier=lineclear`.

## Synchronous `GET` Request & Normalized JSON Response

```bash
curl -s "https://api.lastscanned.com/v1/track/V179130211638001?carrier=lineclear" \
  -H "Authorization: Bearer $LASTSCANNED_API_KEY"
```

```json
{
  "carrier": "lineclear",
  "trackingNumber": "V179130211638001",
  "status": "delivered",
  "statusDescription": "Delivered",
  "service": null,
  "deliveredAt": "2026-04-02T03:11:36Z",
  "deliveredAtLocal": "2026-04-02T11:11:36",
  "signedBy": null,
  "destination": null,
  "events": [
    {
      "timestamp": "2026-04-02T03:11:36Z",
      "localTime": "2026-04-02T11:11:36",
      "status": "delivered",
      "description": "Delivered",
      "location": "MUAR",
      "code": "WB021"
    },
    {
      "timestamp": "2026-04-02T00:58:57Z",
      "localTime": "2026-04-02T08:58:57",
      "status": "out_for_delivery",
      "description": "Out for Delivery",
      "location": "MUAR",
      "code": "WB018"
    },
    {
      "timestamp": "2026-04-01T14:15:17Z",
      "localTime": "2026-04-01T22:15:17",
      "status": "in_transit",
      "description": "Checked In at Pickup Branch",
      "location": "HBBR108AWM",
      "code": "WB002"
    },
    {
      "timestamp": "2026-03-31T17:43:12Z",
      "localTime": "2026-04-01T01:43:12",
      "status": "label_created",
      "description": "Awaiting Shipment Handover",
      "location": "SEGAMAT",
      "code": "WB024"
    }
  ]
}
```

## Notes

- **Credentials**: the tracker page's own bundle contains the static bearer token its API call sends, so it is public and is repeated by the adapter.
- **Privacy**: each scan's `Description` names the courier who handled it; only the `Status` text is used.
- **Branch names**: codes like `HTKK` are turned into place names (`MUAR`) with the site's `branchplace` lookup; a code with no name is shown as is.
- **Time zone**: Malaysia time (`Asia/Kuala_Lumpur`, UTC+8); `timestamp` is converted from that.

## Related Resources

- **Regex & check digits**: [Tracking number formats & auto-detection](/formats)