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
Request Body
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.
turn on/off assurance
value of assurance
enable pickup
send 1 if the recipient is outside of mexico
Quote only with the selected curriers. Each value is the carrier name in lowercase, e.g.
["dhl","estafeta","fedex","paquetexpress","ups","pmm","tresguerras"] 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
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
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"]
}
Request processed.
Unauthorized.
Access denied.
Bad Request.
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
Request Body
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.
turn on/off assurance
value of assurance
value
enable pickup
send 1 if the recipient is outside of mexico
required
name of the currier, in lowercase, e.g.
dhl required
name of the service to use, as returned by Quote in
Service 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
}
{
"currier": "dhl",
"service": "EXPRESS WORLDWIDE",
"weight": "35",
"large": "53",
"width": "53",
"height": "55",
"secure": "0",
"secureValue": "0",
"declaredValue": "0",
"description": "Test shipment",
"shipperZip": "45138",
"shipperStreet": "Test Street 1",
"shipperStreet2": "",
"shipperSuburb": "Centro",
"shipperName": "John Doe",
"shipperPhone": "5555555555",
"shipperTaxId": "XAXX010101000",
"shipperCompanyName": "John Doe",
"shipperCountry": "MX",
"shipperState": "Jalisco",
"shipperCity": "Zapopan",
"recipientZip": "11223",
"recipientStreet": "Test Street 2",
"recipientStreet2": "",
"recipientSuburb": "",
"recipientName": "Jane Roe",
"recipientLada": "US|1",
"recipientPhone": "5555555555",
"recipientEmail": "[email protected]",
"recipientTaxId": "XAXX010101000",
"recipientCompanyName": "Jane Roe",
"recipientCountry": "US",
"recipientState": "New York",
"recipientCity": "Brooklyn",
"recipientIdentifierCIF": "111",
"observations": "",
"international": "1",
"pickup": "0",
"pickupHour": "0",
"SatProductCode": "01010101",
"SatUnitOfMeasure": "KG",
"unitOfMeasure": "KG",
"SatQuantity": "1",
"labelQuantity": "1",
"customs": "0",
"products": [
{
"description": "Test product",
"madein": "MX",
"quantity": "1",
"unity": "PCS",
"usd": "10"
}
],
"categorie": "gift",
"isDocument": "0",
"waNotify": "0",
"ltl": "0"
}
Request processed.
Unauthorized.
Access denied.
Bad Request.
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
Request Example
{
"tracking": "12345678890"
}
Request processed.
Unauthorized.
Access denied.
Bad Request.
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
Request Example
{
"tracking": "286182639916",
"date": "2025-12-10",
"time": "vespertino"
}
Request processed.
Unauthorized.
Access denied.
Bad Request.
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
Request Example
{
"tracking": "2833961243"
}
Request processed.
Unauthorized.
Access denied.
Bad Request.
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
Query Parameters
postal code to look up
Query String Example
GET /Addresses/{zip}
Request processed.
Unauthorized.
Access denied.
Bad Request.
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
Path Parameters
country code, e.g.
US, CA, MX postal code to look up
Query String Example
GET /Addresses/{country_code}/{zip}
Request processed.
Unauthorized.
Access denied.
Bad Request.
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}} |