Web API Docs API Reference

Epack Envíos API Documentation.

To start making queries to the API, you need an API Key enabled by the Epack team. Request your access at epackenvios.com and we will provide you with your credentials.

It's easy and fast — just quote, choose a rate and request your shipment.

API Endpoint
https://api.epackenvios.com/v1
Request Content-Types: application/json
Response Content-Types: application/json
Schemes: https
Version: 1.0

Quote

Request Quote

POST /Quote
Request Body
ltl
boolean
turn on/off ltl
LTL service conditions (maximum per shipment):
  • Estafeta: up to 120 cm × 105 cm × 180 cm, maximum weight 1,100 kg.
  • Tresguerras: up to 120 cm × 120 cm × 180 cm, maximum weight 1,000 kg.
  • PMM: up to 105 cm × 120 cm × 180 cm, maximum weight 1,000 kg.
  • Paquetexpress: base rate up to 105 cm × 120 cm × 150 cm, maximum weight 500 kg.
secure
boolean
turn on/off assurance
secureValue
decimal
value of assurance
pickup
boolean
enable pickup
international
boolean
send 1 if the recipient is outside of mexico
curriers
array
Quote only with the selected curriers. Each value is the carrier name in lowercase, e.g. ["dhl","estafeta","fedex","paquetexpress","ups","pmm","tresguerras"]
Weight (response)
number
weight quoted by Epack. Half kilos are not quoted: the weight is always rounded up to the next whole number, e.g. a 2.5 kg package is quoted as 3 kg
CurrierWeight (response)
string
billed weight: the weight tier available at the carrier, which is the one charged. E.g. if the carrier only offers the 5 kg tier, 5 kg is charged
QuoteId (response)
string
quote identifier. Only required by Create for LTL shipments. Valid for 45 minutes; after that, quote again
Request Example

{
    "ltl": "0",
    "shipperZip": "55100",
    "recipientZip": "44550",
    "weight": "5",
    "large": "10",
    "width": "1",
    "height": "1",
    "secure": "0",
    "secureValue": "0",
    "pickup": "0",
    "international": "0",
    "content": "cotizacion",
    "shipperCountry": "MX",
    "shipperState": "México",
    "shipperCity": "Ecatepec De Morelos",
    "shipperSuburb": "Bosque Escondido", // Required for LTL
    "recipientCountry": "MX",
    "recipientState": "Quintana Roo",
    "recipientCity": "Benito Juarez",
    "recipientSuburb": "Centro", // Required for LTL
    "curriers": ["dhl","fedex","estafeta","paquetexpress","ups"]
}
200 OK
Response

Request processed.

401 Unauthorized

Unauthorized.

403 Forbidden

Access denied.

404 Bad Request

Bad Request.

500

Error.

Response Example (200 OK)
{
    "success": true,
    "status": 200,
    "message": "The request has been completed successfully.",
    "data": [
        {
            "Service": "Dia Sig.",
            "Currier": "estafeta",
            "CodigoServicio": "Dia Sig.",
            "ExtendZone": false,
            "ForceOcurre": false,
            "DiasEntrega": {
                "Miercoles": "X",
                "Martes": "X",
                "Viernes": "X",
                "Lunes": "X",
                "Domingo": "",
                "Jueves": "X",
                "Sabado": "X"
            },
            "Total": "320.10",
            "Price": "320.10",
            "PriceObj": {
                "Price": "330.00",
                "Secure": 0,
                "ExtendZone": 0,
                "Discount": "9.90",
                "Measure": 0
            },
            "Weight": 5,
            "CurrierWeight": "5"
        },
        {
            "Service": "Terrestre",
            "Currier": "estafeta",
            "CodigoServicio": "Terrestre",
            "ExtendZone": false,
            "ForceOcurre": false,
            "DiasEntrega": {
                "Miercoles": "X",
                "Martes": "X",
                "Viernes": "X",
                "Lunes": "X",
                "Domingo": "",
                "Jueves": "X",
                "Sabado": "X"
            },
            "Total": "174.60",
            "Price": "174.60",
            "PriceObj": {
                "Price": "180.00",
                "Secure": 0,
                "ExtendZone": 0,
                "Discount": "5.40",
                "Measure": 0
            },
            "Weight": 5,
            "CurrierWeight": "5"
        },
        {
            "Service": "2 Dias",
            "Currier": "estafeta",
            "CodigoServicio": "2 Dias",
            "ExtendZone": false,
            "ForceOcurre": false,
            "DiasEntrega": {
                "Miercoles": "X",
                "Martes": "X",
                "Viernes": "X",
                "Lunes": "X",
                "Domingo": "",
                "Jueves": "X",
                "Sabado": "X"
            },
            "Total": "315.25",
            "Price": "315.25",
            "PriceObj": {
                "Price": "325.00",
                "Secure": 0,
                "ExtendZone": 0,
                "Discount": "9.75",
                "Measure": 0
            },
            "Weight": 5,
            "CurrierWeight": "5",
            "QuoteId": "q_69f0e949b02598.87109754"
        }
    ]
}
Header Value
x-api-key {{YOUR_APIKEY}}

Create

Request Create

POST /Create
Request Body
ltl
boolean
turn on/off ltl
LTL service conditions (maximum per shipment):
  • Estafeta: up to 120 cm × 105 cm × 180 cm, maximum weight 1,100 kg.
  • Tresguerras: up to 120 cm × 120 cm × 180 cm, maximum weight 1,000 kg.
  • PMM: up to 105 cm × 120 cm × 180 cm, maximum weight 1,000 kg.
  • Paquetexpress: base rate up to 105 cm × 120 cm × 150 cm, maximum weight 500 kg.
secure
boolean
turn on/off assurance
secureValue
decimal
value of assurance
declaredValue
decimal
value
pickup
boolean
enable pickup
international
boolean
send 1 if the recipient is outside of mexico
currier
string
required
name of the currier, in lowercase, e.g. dhl
service
string
required
name of the service to use, as returned by Quote in Service
quoteId
string
required only for LTL shipments. Valid for 45 minutes after the quote; if expired, quote again
Request Example

{
  "ltl": "0",
  "isDocument": "0",  
  "shipperZip": "44200",
  "recipientZip": "06100",
  "weight": "50",
  "large": "10",
  "width": "10",
  "height": "10",
  "secure": "0",
  "secureValue": "0",
  "declaredValue": "100",
  "customs": "0",
  "pickup": "0",
  "international": "0",
  "recipientCity": "Aragon",
  "shipperCity": "Guadalajara",
  "recipientCountry": "MX",
  "shipperCountry": "MX",
  "currier": "dhl",
  "recipientStreet": "Calle 1",
  "recipientStreet2": "Calle 2",
  "recipientStreetB2": "Between 2",
  "recipientStreetB1": "Between 1",
  "recipientSuburb": "Mesoamerica",
  "recipientName": "Jhon Reyes",
  "recipientState": "Sonora",
  "recipientPhone": "TELEFONO",
  "shipperStreet": "Lojeños L9 Mza18",
  "shipperStreet2": "2Lojeños L9 Mza18",
  "shipperStreetB2": "Between 2",
  "shipperStreetB1": "Between 1",
  "shipperSuburb": "Huentitán el bajo",
  "shipperState": "Jalisco",
  "shipperName": "Jhon Doe",
  "shipperPhone": "TELEFONO",
  "recipientTaxId": "123456789120",
  "shipperTaxId": "123456789120",
  "shipperCompanyName": "Jhon Doe",
  "recipientCompanyName": "NAME",
  "recipientExternalNum": "123",
  "recipientInternalNum": "123",
  "shipperExternalNum": "321",
  "shipperInternalNum": "123",
  "pickupHour": "0",
  "service":"ECONOMY SELECT DOMESTIC",
  "SatProductCode":"10131508",
  "SatQuantity":1,
  "SatUnitOfMeasure":"F63",
  "labelQuantity": 1,
  "quoteId": "q_69f0e949b02598.87109754" // Required for LTL
}
200 OK
Response

Request processed.

401 Unauthorized

Unauthorized.

403 Forbidden

Access denied.

404 Bad Request

Bad Request.

500

Error.

Response Example (200 OK)

{
    "success": true,
    "status": 200,
    "message": "The request has been completed successfully.",
    "data": {
        "tracking": "XXX11111",
        "pdf": "https://app.epackenvios.com/tracking/XXX11111.pdf",
        "pdf_b64": "JVBERi0xLjQK...",
        "pickup": "1000629474"
    }
}
Header Value
x-api-key {{YOUR_APIKEY}}

Cancel

Request Cancel

POST /Cancel
Request Example

{
	"tracking": "12345678890"
}
200 OK
Response

Request processed.

401 Unauthorized

Unauthorized.

403 Forbidden

Access denied.

404 Bad Request

Bad Request.

500

Error.

Response Example (200 OK)
{
  "success": true,
  "status": 200,
  "message": "The request has been completed successfully.",
  "data": {
      "title": "Cancelación enviada",
      "message": "Una vez que se confirme que su etiqueta está cancelada, se le reembolsará dentro de 24 a 48 horas."
  }
}
Header Value
x-api-key {{YOUR_APIKEY}}

Pickup

Request Pickup

POST /Pickup
Request Example

{
    "tracking": "286182639916",
    "date": "2025-12-10",
    "time": "vespertino"
}
200 OK
Response

Request processed.

401 Unauthorized

Unauthorized.

403 Forbidden

Access denied.

404 Bad Request

Bad Request.

500

Error.

Response Example (200 OK)
{
  "success": true,
  "status": 200,
  "message": "The request has been completed successfully.",
  "data": {
      "pickup_number": "AME251211000215",
      "pickup_datetime": "2025-12-10"
  }
}
Header Value
x-api-key {{YOUR_APIKEY}}

Tracking

Request Tracking

POST /Tracking
Request Example

{
    "tracking": "2833961243"
}
200 OK
Response

Request processed.

401 Unauthorized

Unauthorized.

403 Forbidden

Access denied.

404 Bad Request

Bad Request.

500

Error.

Response Example (200 OK)
{
    "success": true,
    "status": 200,
    "message": "The request has been completed successfully.",
    "data": {
        "status": "Envío entregado",
        "typeCode": "OK",
        "pieces": {
            "dimensionalWeight": "1.18",
            "actualWeight": "0.40",
            "actualDimensions": {
                "length": "28.10",
                "width": "20.30",
                "height": "10.30"
            }
        },
        "events": [
            {
                "date": "2026-06-02T16:07:59",
                "description": "Retiro programado",
                "signedBy": null,
                "typeCode": "SA"
            },
            {
                "date": "2026-06-02T18:30:10",
                "description": "Envío retirado/recolectado.",
                "signedBy": null,
                "typeCode": "PU"
            },
            {
                "date": "2026-06-02T21:25:12",
                "description": "Procesado en GUADALAJARA-MEXICO",
                "signedBy": null,
                "typeCode": "PL"
            },
            {
                "date": "2026-06-02T21:26:58",
                "description": "El envío ha salido de un centro de DHL GUADALAJARA-MEXICO",
                "signedBy": null,
                "typeCode": "DF"
            },
            {
                "date": "2026-06-03T03:30:38",
                "description": "Llegada al centro de clasificación de DHL QUERETARO-MEXICO",
                "signedBy": null,
                "typeCode": "AF"
            },
            {
                "date": "2026-06-03T04:27:58",
                "description": "Procesado en QUERETARO-MEXICO",
                "signedBy": null,
                "typeCode": "PL"
            },
            {
                "date": "2026-06-03T04:32:58",
                "description": "El envío ha salido de un centro de DHL QUERETARO-MEXICO",
                "signedBy": null,
                "typeCode": "DF"
            },
            {
                "date": "2026-06-03T07:01:00",
                "description": "Llegada al centro de clasificación de DHL MEXICO CITY HUB-MEXICO",
                "signedBy": null,
                "typeCode": "AF"
            },
            {
                "date": "2026-06-03T11:08:16",
                "description": "Procesado en MEXICO CITY HUB-MEXICO",
                "signedBy": null,
                "typeCode": "PL"
            },
            {
                "date": "2026-06-03T11:17:58",
                "description": "El envío ha salido de un centro de DHL MEXICO CITY HUB-MEXICO",
                "signedBy": null,
                "typeCode": "DF"
            },
            {
                "date": "2026-06-03T12:12:58",
                "description": "Llegada al centro de entrega de DHL HUICHAPAN-MIGUEL HIDALGO,DF-MEXICO",
                "signedBy": null,
                "typeCode": "AR"
            },
            {
                "date": "2026-06-03T15:30:30",
                "description": "El envío está en manos del courier para su entrega",
                "signedBy": null,
                "typeCode": "WC"
            },
            {
                "date": "2026-06-03T17:01:07",
                "description": "Envío entregado",
                "signedBy": "",
                "typeCode": "OK"
            }
        ],
        "serviceId": null,
        "shipperDetails": {
            "cityName": "",
            "postalCode": "",
            "countryCode": "MX"
        },
        "tracking": "2833961243"
    }
}
Header Value
x-api-key {{YOUR_APIKEY}}

Addresses

Request Addresses

GET /Addresses/{zip}
Query Parameters
zip
string
postal code to look up
Query String Example
GET /Addresses/{zip}
200 OK
Response

Request processed.

401 Unauthorized

Unauthorized.

403 Forbidden

Access denied.

404 Bad Request

Bad Request.

500

Error.

Response Example (200 OK)
{
    "success": true,
    "status": 200,
    "message": "The request has been completed successfully.",
    "data": {
        "idEstado": "14",
        "codEstado": "JC",
        "estado": "Jalisco",
        "idMunicipio": "39",
        "municipio": "Guadalajara",
        "ciudad": "Guadalajara",
        "colonias": [
            {
                "zona": "Urbano",
                "cp": "44100",
                "asentamiento": "Guadalajara Centro",
                "tipo": "Colonia",
                "estado": "Jalisco"
            }
        ]
    }
}
Header Value
x-api-key {{YOUR_APIKEY}}

Addresses-International

Request Addresses-International

GET /Addresses/{country_code}/{zip}
Path Parameters
country_code
string (ISO 3166-1 alpha-2)
country code, e.g. US, CA, MX
zip
string
postal code to look up
Query String Example
GET /Addresses/{country_code}/{zip}
200 OK
Response

Request processed.

401 Unauthorized

Unauthorized.

403 Forbidden

Access denied.

404 Bad Request

Bad Request.

500

Error.

Response Example (200 OK)
{
    "success": true,
    "status": 200,
    "message": "The request has been completed successfully.",
    "data": {
        "typeahead": [
            "33000 - Miami - Florida - FL"
        ],
        "postal_code": "33000",
        "country_code": "US",
        "city": "Miami",
        "state": "Florida",
        "state_code": "FL"
    }
}
Header Value
x-api-key {{YOUR_APIKEY}}