# UPS API: Track package

> Tracks a UPS package by tracking number, with its status, delivery details and shipment history when available.

Unofficial. Not affiliated with or endorsed by UPS.

- Page: https://fous.com/methods/ups.com/track-package
- Method: `ups.com/track_package`, version 1
- Website: ups.com
- Returns: tracking number, status, scheduled delivery, delivered time, left at, service, origin, destination, weight, history, tracking link
- Effect: read (it gets data and changes nothing)
- Sign-in: none needed
- Cost: 1 credit per completed run (1¢ with pay as you go); failed runs are free
- Verified: Nov 2, 2026

## Inputs

| Field | Type | Required | In the run below | Description |
|---|---|---|---|---|
| `tracking_number` | string | yes | `"1Z999AA10123456784"` | UPS tracking number, with or without spaces, for example 1Z999AA10123456784. |

## Output

From a run on Oct 31, 2026, shortened. Its input:

```json
{
  "tracking_number": "1Z999AA10123456784"
}
```

Its output:

```json
{
  "origin": "Germany",
  "status": "Delivered",
  "weight": null,
  "history": [
    {
      "location": "LONGVIEW, TX, US",
      "date_time": "2025-12-05T10:29:38-06:00",
      "description": "DELIVERED"
    },
    {
      "location": "Longview, TX, United States",
      "date_time": "2025-12-05T10:20:03-06:00",
      "description": "Out For Delivery Today"
    },
    {
      "location": "Longview, TX, United States",
      "date_time": "2025-12-05T09:26:36-06:00",
      "description": "Processing at UPS Facility"
    }
  ],
  "left_at": "Other",
  "destination": "LONGVIEW, TX, US",
  "delivered_at": "2025-12-05T10:29:38-06:00",
  "service_type": "UPS Express™ 12:00",
  "tracking_link": "https://www.ups.com/track?loc=en_US&tracknum=1Z999AA10123456784",
  "tracking_number": "1Z999AA10123456784",
  "scheduled_delivery_date": null,
  "scheduled_delivery_window_end": null,
  "scheduled_delivery_window_start": null
}
```

## Run it

From code, with a Fous API key in `FOUS_API_KEY`; the answer's `data` holds the output:

```bash
curl https://api.fous.com/v1/runs \
  -H "Authorization: Bearer $FOUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"method":"ups.com/track_package","input":{"tracking_number":"1Z999AA10123456784"}}'
```

From an AI agent connected to the Fous MCP server: its `run` with the same method and input. To connect one, give it `set up https://fous.com/SKILL.md`.

## Ask your agent

- Where is my package 1Z8V92A40342187635 right now?
- Can you check the UPS status for tracking number 1Z 4F7 E31 03 9182 5527 and tell me when it's supposed to arrive?
- Was shipment 1ZA6W1150367720419 delivered yet, and if so, where was it left?
- Pull the full scan history and origin/destination for 1Z2X38R90198456023 on ups.com
- I need the service level, weight, and expected delivery date for UPS tracking 1Z05E7Y20427319846

## Input schema

```json
{
  "type": "object",
  "required": [
    "tracking_number"
  ],
  "properties": {
    "tracking_number": {
      "type": "string",
      "description": "UPS tracking number, with or without spaces, for example 1Z999AA10123456784."
    }
  }
}
```

## Output schema

```json
{
  "type": "object",
  "required": [
    "tracking_number",
    "status",
    "scheduled_delivery_date",
    "scheduled_delivery_window_start",
    "scheduled_delivery_window_end",
    "delivered_at",
    "left_at",
    "service_type",
    "origin",
    "destination",
    "weight",
    "history",
    "tracking_link"
  ],
  "properties": {
    "origin": {
      "type": [
        "string",
        "null"
      ]
    },
    "status": {
      "type": "string"
    },
    "weight": {
      "type": [
        "string",
        "null"
      ]
    },
    "history": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "date_time",
          "location",
          "description"
        ],
        "properties": {
          "location": {
            "type": [
              "string",
              "null"
            ]
          },
          "date_time": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "description": {
            "type": "string"
          }
        },
        "additionalProperties": false
      }
    },
    "left_at": {
      "type": [
        "string",
        "null"
      ]
    },
    "destination": {
      "type": [
        "string",
        "null"
      ]
    },
    "delivered_at": {
      "type": [
        "string",
        "null"
      ],
      "format": "date-time"
    },
    "service_type": {
      "type": [
        "string",
        "null"
      ]
    },
    "tracking_link": {
      "type": "string"
    },
    "tracking_number": {
      "type": "string"
    },
    "scheduled_delivery_date": {
      "type": [
        "string",
        "null"
      ],
      "format": "date"
    },
    "scheduled_delivery_window_end": {
      "type": [
        "string",
        "null"
      ],
      "format": "date-time"
    },
    "scheduled_delivery_window_start": {
      "type": [
        "string",
        "null"
      ],
      "format": "date-time"
    }
  },
  "additionalProperties": false
}
```

## See more

- [USPS API: Estimate postage](https://fous.com/methods/usps.com/estimate-postage.md): Estimates domestic USPS Post Office retail postage between two ZIP Codes for a letter, large envelope, package or flat-rate packaging, by weight and mailing date. Media Mail is left out; a zero-weight letter counts as one ounce. Prices are retail, cheapest first, with each service's estimated delivery.
- [Maersk API: Track a container or shipment](https://fous.com/methods/maersk.com/track-container.md): Tracks a Maersk ocean container or shipment by container, bill of lading or booking number. Returns container milestones, vessel details and estimated arrival, with times in the local time of each location when its time zone can be identified.
- [NuGet API: Get package](https://fous.com/methods/nuget.org/get-package.md): Looks up a NuGet package by name or nuget.org link. Inexact names match the top search result. Returns the latest stable release's details and the 10 most recent versions, including prereleases.
- [PyPI API: Get package](https://fous.com/methods/pypi.org/get-package.md): Gets a PyPI package's current version, release date, metadata, project links and its 10 most recently published versions from a package name or PyPI link.
- [Flightradar24 API: Check flight status](https://fous.com/methods/flightradar24.com/check-flight-status.md): Checks a flight's public status and times on Flightradar24 by flight number and the departure date at the origin airport.
- [npm API: Get package](https://fous.com/methods/npmjs.com/get-package.md): Looks up a public npm package by name or npm link. Returns its latest version, weekly downloads, maintainers, links, dates and version count.
- [OfferUp API: Search listings](https://fous.com/methods/offerup.com/search-listings.md): Finds OfferUp items for sale near a US city or ZIP code, with prices, condition, seller names, distance and links. Distances use approximate listing locations.
- [Apple API: Check Apple Store pickup](https://fous.com/methods/apple.com/check-store-pickup.md): Checks in-store pickup availability for an exact Apple product configuration (name or part number) near a ZIP, postal code or city, listing nearby Apple Stores by distance with their pickup messages. No reservation is made.
