---
title: "Estimate the cost and timing of a shipment."
method: POST
path: "/v3/parcels/estimate"
tags: ["shipment"]
---

# Estimate the cost and timing of a shipment.

`POST /v3/parcels/estimate`

Calculates the estimated price, pickup time, and delivery time for the given parcels using the specified shipping type.

## Request body

- EstimateV3Request
  - `parcels` EstimateLocation[], required — List of parcels to estimate shipping for.
    - `external_id` string — Your own identifier for this parcel. Used to correlate estimate results with your own records.
    - `pickup_location` union, required — Pickup location. Provide either geographic coordinates or a text address.
      - Point — A geographic coordinate expressed as latitude and longitude.
        - `lat` number, float, required — Latitude in decimal degrees.
        - `lon` number, float, required — Longitude in decimal degrees.
      - Address
        - `address` string, required — Address of the location
    - `dropoff_location` union, required — Drop-off location. Provide either geographic coordinates or a text address.
      - Point — A geographic coordinate expressed as latitude and longitude.
        - `lat` number, float, required — Latitude in decimal degrees.
        - `lon` number, float, required — Longitude in decimal degrees.
      - Address
        - `address` string, required — Address of the location
    - `dimensions` ParcelDimensions — Physical dimensions of the parcel.
      - `height` integer
      - `length` integer
      - `width` integer
      - `unit` 'cm' — Unit of measure for the dimensions. Defaults to `cm` if omitted or set to an invalid value.
    - `weight` ParcelWeight — Weight of the parcel.
      - `value` integer
      - `unit` 'g' — Unit of weight. Defaults to `g` (grams) if omitted or set to an invalid value.
  - `shipping_type_id` string, uuid, required — UUID of the shipping type to estimate. Use [GET /v1/shipping_types/available](https://developers.cabify.com/reference/shippingtypesavailable) to retrieve valid IDs.
  - `pickup_time` string, date-time — Desired pickup time, formatted according to RFC 3339, section 5.6.

## Response `200`

Estimation calculated successfully.

- EstimateV3Response
  - `deliveries` DeliveryEstimate[], required
    - `parcels` EstimateLocation[]
      - `external_id` string — Your own identifier for this parcel. Used to correlate estimate results with your own records.
      - `pickup_location` union, required — Pickup location. Provide either geographic coordinates or a text address.
        - Point — A geographic coordinate expressed as latitude and longitude.
          - `lat` number, float, required — Latitude in decimal degrees.
          - `lon` number, float, required — Longitude in decimal degrees.
        - Address
          - `address` string, required — Address of the location
      - `dropoff_location` union, required — Drop-off location. Provide either geographic coordinates or a text address.
        - Point — A geographic coordinate expressed as latitude and longitude.
          - `lat` number, float, required — Latitude in decimal degrees.
          - `lon` number, float, required — Longitude in decimal degrees.
        - Address
          - `address` string, required — Address of the location
      - `dimensions` ParcelDimensions — Physical dimensions of the parcel.
        - `height` integer
        - `length` integer
        - `width` integer
        - `unit` 'cm' — Unit of measure for the dimensions. Defaults to `cm` if omitted or set to an invalid value.
      - `weight` ParcelWeight — Weight of the parcel.
        - `value` integer
        - `unit` 'g' — Unit of weight. Defaults to `g` (grams) if omitted or set to an invalid value.
    - `estimation` DeliveryEstimation, required — Estimated cost and timing details for a single parcel delivery.
      - `price` Money, required — A monetary amount represented in the smallest currency unit (e.g. cents).
        - `amount` integer, required — Amount in the smallest currency unit, following the ISO 4217 standard (e.g. €6.30 → `630`).
        - `currency` string, required — ISO 4217 currency code.
      - `asset_kind` 'bicycle' | 'car' | 'moped' | 'scooter' | 'van' — The type of vehicle assigned to carry the parcel.
      - `eta_to_pickup` string, date-time — Estimated time when the driver will arrive at the pickup location.
      - `eta_to_delivery` string, date-time — Estimated time when the parcel will be delivered to the recipient.

## Other responses

- `400` — Bad request. One or more fields failed validation.
- `401` — Unauthorized. Missing or invalid authentication token.
- `404` — The estimation could not be calculated. Check that the provided locations are within an operating area.
- `409` — The server state does not currently allow processing this estimation request.
- `503` — The service is temporarily unavailable. Please try again later.

---

[API](https://skmtc.dev/cabify/apis/ride-hailing-api.md) · [All operations](https://skmtc.dev/cabify/apis/ride-hailing-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/cabify/ride-hailing-api/revisions/8da1cb1270df/schema)
