---
title: "Get Shipping Rates"
method: POST
path: "/ship/rate/"
tags: ["Quotes & Rates"]
---

# Get Shipping Rates

`POST /ship/rate/`

Retrieve real-time shipping rates from multiple carriers in a single request so you can compare pricing and delivery estimates.

**When to use:** Call this endpoint to compare carrier rates and transit times before generating a label. Use the response to let your users pick the best option.

**Prerequisites:**
- Valid JWT authentication token (Bearer)
- Origin and destination addresses with country-specific fields (use the Queries API to look up postal codes, cities, and neighborhoods)
- At least one package with dimensions (length, width, height in cm) and weight (in kg)

**Key behaviors:**
- Returns an array of rate objects, one per carrier/service combination
- Each rate includes estimated price, currency, transit days, and service level
- Supports domestic and international shipments across all [available carriers](https://docs.envia.com/docs/supported-carriers)
- Address field requirements vary by country; consult the Queries API endpoints to obtain valid values
- **Colombia only:** the `city` field must contain the 8-digit DANE municipal code, not a human-readable city name. Use [`POST /locate`](https://docs.envia.com/reference/locatecolombiacity) to resolve it from the city name before calling this endpoint
- You can optionally filter by carrier using the `carrier` field in the `shipment` object

## Request body

- object
  - `origin` object, required — Origin address information
    - `name` string, required — Name of the person
    - `company` string — Name of the company or business
    - `email` string, email — Email address
    - `phone_code` string — Country phone code
    - `phone` string, required — Phone number
    - `street` string, required — Street address
    - `number` string — Street number
    - `district` string — District or neighborhood
    - `city` string, required — City name (verify if exceptions apply using Queries city endpoints)
    - `state` string, required — State or province code (e.g., NL, TX, QC)
    - `country` string, required — ISO 3166-1 alpha-2 country code (e.g., MX, US, CO)
    - `postalCode` string, required — Zipcode value (Exceptions may apply, use queries zip code validation to verify)
    - `reference` string — Reference information for delivery
    - `address_id` integer — Unique identifier of a previously saved address in your Envia account. When provided, the saved address data is used and you can omit the other address fields. Retrieve saved address IDs from the Queries API (Get All Addresses).
    - `identificationNumber` string — Tax identification number (Required for international and Brazilian shipping)
    - `coordinates` object — GPS coordinates
      - `latitude` string — Latitude coordinate
      - `longitude` string — Longitude coordinate
  - `destination` object, required — Destination address information
    - `name` string, required — Name of the person
    - `company` string — Name of the company or business
    - `email` string, email — Email address
    - `phone_code` string — Country phone code
    - `phone` string, required — Phone number
    - `street` string, required — Street address
    - `number` string — Street number
    - `district` string — District or neighborhood
    - `city` string, required — City name (verify if exceptions apply using Queries city endpoints)
    - `state` string, required — State or province code (e.g., NL, TX, QC). Retrieve valid codes from the Queries API (Get States by Country).
    - `country` string, required — ISO 3166-1 alpha-2 country code (e.g., MX, US, CO)
    - `postalCode` string, required — Zipcode value (Exceptions may apply, use queries zip code validation to verify)
    - `reference` string — Reference information for delivery
    - `address_id` integer — Unique identifier of a previously saved address in your Envia account. When provided, the saved address data is used and you can omit the other address fields. Retrieve saved address IDs from the Queries API (Get All Addresses).
    - `identificationNumber` string — Tax identification number (Requires for international and Brazilian shipping)
    - `coordinates` object — GPS coordinates
      - `latitude` string — Latitude coordinate
      - `longitude` string — Longitude coordinate
  - `packages` object[], required — List of packages
    - `type` 'envelope' | 'box' | 'pallet' | 'full_truck_load', required — Package type
    - `content` string, required — Package content description
    - `amount` integer, required — Number of packages
    - `name` string — Package name
    - `declaredValue` number, required — Approximate value of the merchandise (Not the value to be insured)
    - `lengthUnit` 'CM' | 'IN', required — Unit of measure for dimensions
    - `weightUnit` 'KG' | 'LB', required — Unit of weight
    - `weight` number, required — Package weight
    - `dimensions` object, required — Package dimensions
      - `length` number, required — Length dimension
      - `width` number, required — Width dimension
      - `height` number, required — Height dimension
    - `additionalServices` object[] — Additional services for the package
      - `data` object — Required only for some additional services
        - `amount` string — Required if the additional service is envia_insurance, insurance or cash on delivery
      - `service` 'envia_insurance' | 'cash_on_delivery' | 'electronic_signature' — Additional service name
    - `items` object[] — Items in the package (**mandatory** for international shipments or domestic shipments generated within Brazil, for the fiscal declaration).
      - `description` string — Item description
      - `productCode` string — Product code (HS code)
      - `quantity` integer — Quantity of items
      - `countryOfManufacture` string — Country where item was manufactured (ISO 3166-1 alpha-2 country code)
      - `price` number — Unit price
      - `currency` string — Currency code
    - `bolComplement` object[] — Bill of Lading complement for freight shipments
      - `productCode` string — Product code
      - `productDescription` string — Product description
      - `weightUnit` string — Weight unit
      - `quantity` integer — Quantity
      - `unitPrice` number — Unit price
      - `currency` string — Currency code
  - `settings` object — Shipping settings
    - `currency` 'USD' | 'MXN' | 'CLP' | 'COP' | 'INR' | 'BRL' | 'CAD' | 'ARS' | 'GTQ' | 'EUR' — Currency ISO code
    - `comments` string — Comments for the shipment
  - `shipment` object, required — Main shipping values
    - `type` 1 | 2 | 3, required — Shipping service type | Type | Service type name | | :-----| :--------:| | 1 | Parcel | | 2 | LTL (Consolidates charge) | | 3 | FTL (Full TruckLoad) |
    - `reverse_pickup` 0 | 1 — Indicate whether this is a return shipment
    - `import` 0 | 1 — Indicates whether it is an import shipment
    - `third_party` '0' | '1' — Indicates whether it is an third party shipment (Available only for FedEx)
    - `carrier` string, required — Carrier name for quote
    - `service` string — Service name (Quote only the indicated service)
    - `declaredValue` number — Declared value for the shipment
    - `additionalServices` object[] — Additional services for the shipment
      - `service` string — Service name
    - `pickup` object — Pickup information
      - `date` string, date — Pickup date
      - `totalPackages` integer — Total number of packages
      - `totalWeight` number — Total weight
  - `customsSettings` object — Customs settings for international shipments
    - `dutiesPaymentEntity` 'envia_guaranteed' | 'sender' | 'recipient' — Who pays the duties and taxes. Options: envia_guaranteed (prepaid with guaranteed amount - recommended), sender (DDP - billed after delivery), recipient (DAP - paid at delivery)
    - `exportReason` 'sale' | 'gift' | 'sample' | 'return' | 'other' — Reason for export

## Response `200`

Shipping rates response

- object
  - `meta` string — Action name
  - `data` object[] — Full description of the quotation.
    - `carrierId` integer — Carrier identificator.
    - `carrier` string — Carrier name.
    - `carrierDescription` string — Original carrier name.
    - `serviceId` integer — Service identificator.
    - `service` string — Service name.
    - `serviceDescription` string — Original service name.
    - `dropOff` 0 | 1 | 2 | 3 — Type of admission and delivery.
    - `dropOffDescription` 'Door - Door' | 'Door - Branch' | 'Branch - Door' | 'Branch - Branch' — Dropoff description type.
    - `branchType` string
    - `zone` integer — Zone identificator (applies only for specific services).
    - `deliveryEstimate` string — Day ranges of estimate delivery.
    - `deliveryDate` object — Delivery date.
      - `date` string — Estimate delivery date
      - `dateDifference` integer — Difference of hours or days from the current date
      - `timeUnit` 'days' | 'hours' — Time unit of the date difference
      - `time` string — Estimate delivery hour
    - `quantity` integer — Quantity of quoted packages.
    - `basePrice` number — Base price of the shipment.
    - `basePriceTaxes` number — Tax of the base price of the shipment (tax applied in base on the registration country of the account). Ex. If the account is registred on México the tax is 16%.
    - `extendedFare` number, double — Price of the extended zone (if applies).
    - `insurance` integer — Price of the insurance service (if it is selected on the quotation). **Verify if the selected carrier support this option.**
    - `additionalServices` integer — Total price of the selected additional services.
    - `additionalServicesTaxes` integer — Total tax of the additional services.
    - `additionalCharges` number — Total price of the additional charges.
    - `additionalChargesTaxes` number — Total tax of the additional charges.
    - `importFee` integer — Fee of the import service.
    - `customKeyCost` integer — Fee of the custom key (If the account have custom keys configured with the quoted carrier).
    - `taxes` number — Total taxes of all quotation.
    - `totalPrice` number — Total price of the quotation.
    - `currency` string — Currency of the quotation (By default is taken the currency of the account country).
    - `smsCost` integer — Price of the SMS service notification (If the account have selected this option).
    - `whatsappCost` integer — Price of the WhatsApp service notification (If the account have selected this option).
    - `customKey` boolean — Flag to identify if the account is used custom keys with the carrier.
    - `cashOnDeliveryCommission` integer — Total commission for the cash on delivery service (If it is selected on the quotation). **Verify if the selected carrier support this option.**
    - `cashOnDeliveryAmount` integer — Total cash on delivery declared by the user (If it is selected on the quotation).
    - `calculatedDeclaredValue` integer — Total declared value of all products.
    - `isMps` boolean — Flat to identify if the quotation is MPS type. **MPS:* Multipiece Shipment.
    - `branches` object[] — Lis of available branches for the quoted service.
    - `costSummary` object[] — Summary of all quotation.
      - `quantity` integer
      - `basePrice` number
      - `basePriceTaxes` number
      - `extendedFare` integer
      - `insurance` integer
      - `additionalServices` integer
      - `additionalServicesTaxes` integer
      - `additionalCharges` number
      - `additionalChargesTaxes` number
      - `taxes` number
      - `totalPrice` number
      - `costAdditionalServices` object[]
      - `costAdditionalCharges` object[]
        - `id` integer
        - `addToInvoice` integer
        - `conceptId` integer
        - `additionalService` string
        - `translationTag` string
        - `amount` integer
        - `commission` number
        - `taxes` number
        - `cost` number
        - `value` integer
      - `currency` string
      - `customKey` boolean
      - `cashOnDeliveryCommission` integer
      - `cashOnDeliveryAmount` integer
      - `customKeyCommission` integer
      - `smsCommission` integer
      - `securityDeposit` boolean
      - `securityWeight` string
      - `importFee` integer
      - `whatsappCommission` integer
      - `folio` unknown
      - `calculatedDeclaredValue` integer
    - `packageDetails` object — Summary of the quoted packages.
      - `totalWeight` number — Total weight of the package.
      - `weightUnit` 'KG' | 'LB' — Weight unit.
      - `details` object[] — Details to identify the quote mode of the packages.
        - `appliedWeightType` 'declared' | 'volumetric' — Indicated the weight type quoted.
        - `weightUnit` 'KG' | 'LB' — Weight unit
        - `weight` number — Total weight by package
        - `content` string — Content of the package.
    - `landedCostId` integer
    - `classifiedHsCodes` object[]
    - `landedCostTotal` number, double — Total cost of the landed cost service.

---

[API](https://skmtc.net/envia/apis/envia-shipping-api-complete-documentation.md) · [All operations](https://skmtc.net/envia/apis/envia-shipping-api-complete-documentation/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/envia/envia-shipping-api-complete-documentation/revisions/39f9208959d6/schema)
