# Valmo Tracking API & MCP

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

Query live **Valmo** (`valmo`) package status and scan history in a single synchronous `GET` request or MCP tool call.

## Overview & Quick Facts

| Property | Value |
|---|---|
| **Carrier slug (`?carrier=`)** | `valmo` |
| **Brand aliases** | Valmo Logistics, Meesho Valmo, valmo.in |
| **Category** | Indian e-commerce logistics (Meesho) |
| **Region** | India |
| **Single-package REST endpoint** | `GET https://api.lastscanned.com/v1/track/{trackingNumber}` |
| **Batch REST endpoint** | `GET https://api.lastscanned.com/v1/track?numbers=VL0012345678901,...` |
| **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`)** | `/^VL\d{13}$/` | none | `VL0012345678901` |
| **Pass 2 (`mayMatch`)** | none | none | none |

`VL` plus 13 digits belongs to Valmo alone, so `?carrier=valmo` is optional.

## Synchronous `GET` Request & Normalized JSON Response

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

```json
{
  "carrier": "valmo",
  "trackingNumber": "VL0012345678901",
  "status": "delivered",
  "statusDescription": "Order has been delivered",
  "service": null,
  "deliveredAt": "2026-03-24T12:17:50Z",
  "deliveredAtLocal": "2026-03-24T17:47:50",
  "signedBy": null,
  "destination": null,
  "events": [
    {
      "timestamp": "2026-03-24T12:17:50Z",
      "localTime": "2026-03-24T17:47:50",
      "status": "delivered",
      "description": "Delivered",
      "location": null,
      "code": "ORDER_DELIVERED"
    },
    {
      "timestamp": "2026-03-24T06:53:16Z",
      "localTime": "2026-03-24T12:23:16",
      "status": "out_for_delivery",
      "description": "Out for Delivery",
      "location": null,
      "code": "ORDER_OUT_FOR_DELIVERY"
    },
    {
      "timestamp": "2026-03-20T13:02:36Z",
      "localTime": "2026-03-20T18:32:36",
      "status": "in_transit",
      "description": "Reached Pune hub",
      "location": "Pune",
      "code": "ORDER_REACHED_HUB"
    }
  ]
}
```

## Notes

- **Time zone**: scan times are epoch milliseconds, shown at India Standard Time (`+05:30`).
- **Stages**: the reply groups scans into stages (confirmed, shipped, out for delivery, delivered) with the hub scans nested under *shipped*; the adapter flattens them into one list.

## Related Resources

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