GoatLabels GoatLabels
One border south. Two ways across it.

Shipping to Mexico from the US: services, customs, and who pays


Four carriers, one customs form, one quote.

Every parcel from the US to Mexico needs a customs form, and the buyer usually pays any duties and tax at delivery unless the service is set up for the seller to pay them, so the choice is between a cheaper postal service and a faster express service with its own broker.

Four carriers into Mexico, quoted side by side

USPS hands to the Mexican postal service; UPS, FedEx, and DHL clear through their own brokers. Same border, different bill, different doorstep.

UPS FedEx DHL USPS DHL: international
Four quotes One all-in price each.
No monthly fee on Free, up to 50 a month Pay per label, nothing else.
Customs form Generated with the label.

Customs details typed once, paid per label

Description, declared value, and country of origin travel with the label. Top up with card, Apple Pay, Google Pay, ACH, or crypto and spend it label by label.

VisaMastercardAmerican ExpressApple PayGoogle PayBitcoinEthereumTether (USDT)
Prepaid Spent label by label.
No minimum A slow month on Free costs nothing.
Accepted voids credited Back to the balance.

Updated

Mexico, service by service

Should I ship to Mexico by postal or express?

Every parcel from the US to Mexico needs a customs form, and the buyer usually pays any duties and tax at delivery unless the service is arranged for the seller to pay. That leaves one real decision: a postal service that hands to Correos de Mexico for the final mile, or an express service where UPS, FedEx, or DHL carries the parcel and clears it through their own broker.

Decision Postal (USPS) Express (UPS, FedEx, DHL)
Who carries the final mile USPS hands the parcel to Mexico's postal service at the border; the last mile is theirs, and USPS publishes which services are tracked end to end. The carrier that took the parcel delivers it. One tracking number, one company, one doorstep.
Who clears customs Mexican customs processes the postal stream; there is no broker you can call, and holds resolve on the postal side's timetable. The carrier's own brokerage clears it and contacts the buyer directly if duties, tax, or a missing detail hold it.
Who pays duties and tax The buyer, at delivery, if anything is assessed. Say so at checkout. The buyer at the door by default; some express services let the seller pay upfront instead. Check the carrier's terms for the service you pick.
Speed Slower and more variable; USPS publishes its own transit estimates per service and they are estimates, not promises. Days rather than weeks on the carrier's published schedule, with the customs step inside it.
Best for Low-value, light parcels where a delay costs less than the express premium. Time-sensitive orders, higher-value items, and buyers who will not accept a border wait.
What GoatLabels does Quotes it beside the express options, generates the customs form with the label, and debits the all-in rate from your wallet. Same quote screen, same customs form, same wallet. The four rates sit side by side so the premium is visible before you buy.

Service names, transit estimates, and what each carrier does at the border are published by USPS, UPS, FedEx, and DHL and change without notice. Check the carrier's own page for the service you choose; the decision above is about mechanics, not figures.

Why do parcels to Mexico get held or refused?

A parcel to Mexico fails at the paperwork far more often than in transit. The fixes are all on the label, before the parcel leaves the bench.

A vague description stalls at the border

A customs form that says merchandise or gift gives the officer nothing to classify. Write what the item is in plain words, with the value you actually charged, and the parcel has a reason to move. GoatLabels generates the form from the label details, so the description you type once is the one that prints.

The buyer did not expect to pay at the door

On most services into Mexico the buyer settles any duties and tax when the parcel arrives, and a surprise bill becomes a refused parcel. Say who pays at checkout, and if you sell to Mexico often, compare the express services where the carrier lets the seller pay instead.

Buying the express premium on a parcel that did not need it

Express services earn their price on the orders that cannot wait. For a light, low-value parcel the postal service is often the right answer. Quoting USPS beside UPS, FedEx, and DHL on the same screen makes the premium a number instead of a guess.

What a Mexico label needs before it prints

  • A plain-word description of each item, its quantity, its value in the currency you charged, and its country of origin.
  • The buyer's full address including the colonia and the five-digit postal code, plus a phone number the carrier can call if customs has a question.
  • A decision on who pays duties and tax, stated at checkout so the buyer is not surprised at the door.
  • The right service for the parcel: postal for light and patient, express for valuable and urgent.
One Mexican parcel, declared and gone

Type the details once. The customs form comes with the label.

Connect a store and Mexico-bound orders land in the same To Ship queue as everything else, or bulk-import them from a CSV. Paste the order from a message or drop in a screenshot and Billy drafts the recipient, the parcel, and the plain-word customs description for you to confirm. Quote USPS, UPS and FedEx side by side, with DHL joining on this international lane, pick the service, and the label prints with the customs form generated from the same details. The all-in rate you accepted is the exact amount that leaves your prepaid wallet.

1
Orders from anywhere
Store sync, CSV, message, or screenshot
maya_boutique

Hola! 2x hoodies (M) 1x tee (L). Ship to: Maya R., Col. Roma Norte, CDMX 06700

Shopify
Synced into To Ship
TikTok Shop
Synced into To Ship
DM screenshot
Order
#1847
Customer
Jordan Lee
Items
1x Hoodie (L)
Address
Guadalajara, JAL
Drop the screenshot or paste the DM

Thirteen storefront connectors, bulk CSV import, DMs, and screenshots — one To Ship queue.

2 Billy Billy AI

Drafting the customs description in words a border can read.

Billy AI
  • Reads a DM, a voice note, or a screenshot into a recipient and a parcel
  • Fills in the recipient, the address, and the parcel details
  • Rate-shops USPS, UPS and FedEx at the all-in price, with DHL joining on this international lane
  • Hands the drafted label back for you to confirm
Drafted. Checked. Yours to confirm.
3
Clean label out
Bought from the wallet
Paid from your prepaid balance
Card, Apple Pay, Google Pay, ACH, or crypto
all-in
USPS
Label purchased
USPS Priority Mail International — all-in rate
all-in

No monthly fee on Free, up to 50 shipments a month. The customs form is generated with every international label, and tracking is pushed back to the store when it prints.

Where a Mexico-bound order actually comes from.

Thirteen storefronts, one cross-border queue.

Shopify, WooCommerce, Amazon, eBay, TikTok Shop, Etsy, Walmart, BigCommerce, Squarespace, Wix, Square, Magento, and Temu sync into To Ship and get tracking pushed back when you print. Orders that never became a record — the buyer who asked in a DM, the wholesale enquiry — go into the same queue by paste, screenshot, or CSV.

Shopify logo Shopify
Etsy logo Etsy
WooCommerce logo WooCommerce
TikTok Shop logo TikTok Shop
Amazon logo Amazon
eBay logo eBay
Squarespace logo Squarespace
Wix logo Wix
Walmart logo Walmart
Shopify Plus logo Shopify Plus Soon
Square logo Square
BigCommerce logo BigCommerce
Magento logo Magento
Zapier logo Zapier Soon
NetSuite logo NetSuite Soon
Ecwid logo Ecwid Soon
Temu logo Temu
Shein logo Shein Soon
ChannelAdvisor logo ChannelAdvisor Soon
SkuVault logo SkuVault Soon
Zoho Inventory logo Zoho Inventory Soon
Patreon logo Patreon
What a Mexico label needs, and what it should not cost.

Four carriers, a customs form,
and no monthly fee on Free (50 a month).

Cross-border labels are the ones most tools put behind a plan tier. Here the customs form, the all-in quote, and the wallet are the same for a Mexico parcel as for a domestic one.

One prepaid wallet,
no monthly fee on Free, up to 50 a month

Card, Apple Pay, Google Pay, ACH bank transfer, and crypto all top up the same balance, and every method buys identical rates, carriers, and features. Void a shipment and, after the carrier accepts the void, the credit lands back in the wallet, not on a statement three weeks out.

Wallet balance
$1,247.36 USD
AI

AI drafting for orders
that are not JSON

A DM from a buyer in Monterrey is not a structured order. Billy reads the message, the screenshot, or your spoken description and drafts the whole label from it, customs description included, for you to confirm.

Billy Billy LIVE
Where's the package to Maya?
It's in transit via UPS. Expected Friday, Aug 7.
UPS
1Z8923A6B05G4123456
In transit
Austin, TX → Dallas, TX
Ask Billy anything...

Pay as you go,
label by label

Fund the wallet, pay the carrier's all-in rate per label, and pay nothing in a month when nobody in Mexico orders. Free has no subscription and no minimum for up to 50 shipments a month.

Shipment summary
UPS Ground $12.49
Insurance $0.75
Fuel surcharge $0.32
Total $13.56

USPS, UPS, FedEx, and DHL
in one quote

USPS, UPS, FedEx, and DHL quoted side by side into Mexico, and the number on screen is the exact amount that leaves your balance. The postal option and the express options sit in the same list so the premium is visible before you commit.

Compare rates
UPS UPS $12.48
FedEx FedEx $13.22
DHL DHL $14.10
USPS USPS $11.79
Duties inside the quote where DDP applies

A REST label API
on the same wallet

REST and JSON, one Bearer header, idempotency keys so a retry cannot double-buy a label, and signed webhooks for tracking and label events instead of polling. The dashboard and the API spend the same balance.

POST /v1/shipments
{
"to": { "name": "Maya" },
"from": { "name": "Alex" },
"service": "ups_ground",
"label_format": "pdf"
}
Webhook delivered
GoatLabels mobile shipments queue with all-in carrier prices
Billy drafting a label from a pasted DM on mobile

Label ready

CL-1038 · Ciudad de Mexico, CDMX

The packing table, not the desk

A Mexico order from a DM is a valid input.

When a buyer in Mexico City messages you a Spanish address with a colonia and a postal code, you become the integration. GoatLabels takes the message itself, on the phone next to the tape gun, and drafts the customs form with it.

Paste the message or drop a screenshot — Billy pulls out the buyer, the address, the parcel, and the item description.
USPS, UPS, FedEx, and DHL come back as four all-in prices on one screen.
Customs forms are generated with the label, so an international parcel does not need a second screen.
Buy from the prepaid balance and print to a thermal printer through PrintNode or straight from the browser.
Hold the mic at the packing table and say the address — Billy drafts it and reads the rate back.
Hands full of packing tape

Talk to Billy, not to an import screen.

Packing a parcel for Mexico is a two-hands job. Hold the mic, say who it is going to and what is inside, and Billy drafts the recipient, the customs description, and the parcel, rate-shops USPS, UPS and FedEx with DHL joining on this international lane, and queues the label against your prepaid balance. Afterwards it answers when the buyer asks whether the parcel has cleared.

goatlabels.io/dashboard/shipments — Billy
Billy reading back a parcel's tracking history over the purchased labels list

Listening

"Where's Maya's package?"

Cleared customs

CL-1039 · Guadalajara, JAL · out for delivery

Plain English in — names, addresses, weights, carriers, services · nothing to import and nothing to map · reads the all-in rate back before a cent leaves the wallet · phone or browser.

All-in quotes

The quote is the debit.

The carriers on the same parcel, each an all-in number that is the exact amount leaving your prepaid balance. No platform fee is added on the way to Mexico. If a carrier later re-weighs the parcel, the adjustment posts as its own dated ledger entry, and an accepted void credits the wallet rather than a card statement weeks later. Illustrative parcel, not a live quote.

CA → NY 2.6 lbs 12×8×4 in
USPS

USPS

Ground Advantage

2 to 5 days

$11.40

all-in · no surprises

Cheapest
UPS

UPS

Ground

1 to 5 days

$9.85

all-in · no surprises

FedEx

FedEx

Ground

1 to 5 days

$11.20

all-in · no surprises

Re-weighs posted as their own ledger line Accepted void → credit back to the wallet you funded Multi-currency display
Public API v1

A Mexico lane with a developer behind it.

If your store already knows which orders are going to Mexico, let it buy the labels. REST, JSON, one Bearer header, customs items on the shipment, real idempotency keys so a retried request cannot buy two labels, and signed webhooks for tracking and label events instead of polling.

Create, rate-shop, and buy — three calls, no SDK required
Signed webhooks for tracking and label events instead of polling
Real idempotency keys — a retried request never buys two labels
Customs items on the shipment object — the form is generated server-side
Read the API docs Get an API key $0 monthly fee
curl https://api.goatlabels.io/api/v1/shipments
POST /api/v1/shipments
Authorization: Bearer sk_live_…
Idempotency-Key: ord_8421

{
  "to": { "name": "Joyce", "city": "Berlin", "country": "DE" },
  "parcel": { "weight": 2.6, "weight_unit": "lb" },
  "service": "fedex_intl_priority"
}
Pay per label, nothing monthly

No monthly fee. Pay as you go.

Most stores meet Mexico as a trickle rather than a market: a handful of orders a month alongside the domestic volume. Nothing here charges extra for the border. Customs forms, four-carrier quotes, and the connectors are all there from the first label, and on Free the wallet only moves when a label is bought. Free covers 50 shipments a month; past that, Pro is one flat $40 monthly plan.

Pro

Most popular
$40 / month
Unlimited shipments on one flat $40 plan
Unlimited address validation
Billy AI on Telegram Telegram logo — check a parcel without opening the dashboard
API access on every plan

Rate by plan

illustrative
Free Pro

Pro: one flat monthly plan, unlimited shipments

Free

$0 / forever

A few Mexican orders a month, with no subscription to keep open for them.

50 shipments a month, no monthly fee
USPS, UPS, FedEx, and DHL rate-shopped side by side on every parcel to Mexico
Customs forms generated with every international label
Billy AI in the web app — paste, screenshot, or speak an order
Thirteen storefront connectors, bulk CSV import, and the REST label API

Billy is not a paid tier

The assistant that turns a pasted order into a customs description the border can classify runs in the web app on every plan.

Web, every plan Telegram logo Telegram, Pro

API on every plan

GET /api/v1/shipments

200 OK · plan: free

The dashboard and the API spend the same prepaid balance.

Compare on your own invoice

Put a real parcel through and compare the side-by-side rate against what that label costs you on

ShippoPirate ShipShipStation
No contracts No monthly fee Start in seconds
USPS UPS FedEx DHL

Label prices are quoted live from USPS, UPS and FedEx (plus DHL on international lanes) and shown as one all-in number — the same number that leaves your wallet. What Mexican customs assesses and what a carrier charges to present it are theirs to set, not ours. Full pricing details

Who ships to Mexico this way

Not every store needs an express account.

These are the sellers for whom the side-by-side quote, the generated customs form, and the pay-per-label wallet make the Mexico lane simple. The ones who should keep a carrier contract are named on this page too.

Stores with a Mexican trickle

TikTok logo A few orders a month, not a market

Prepaid

Volume that arrives a few parcels at a time fits a prepaid wallet better than a cross-border plan. Fund it, quote the four carriers when a Mexican order lands, and pay nothing in the months when none do.

4 carriers in one account no monthly fee bulk print
goatlabels.io/dashboard/shipments
GoatLabels shipments queue with purchased labels

Marketplace sellers with Mexican buyers

Etsy logo Amazon, eBay, Etsy, and the rest

Connect the storefronts that have connectors and handle the Mexican order in the same queue as the domestic ones. The customs form is generated from the order details, not typed into a second system.

One queue, connector or not

Order #1024 · pasted from a comment thread

Instagram logo

Sellers whose Mexican orders arrive by DM

Messenger logo A Spanish address in a message thread

hola! can you ship the jacket to Col. Condesa, CDMX?
Label drafted · CL-1024

Sellers with a developer on call

Shopify logoWooCommerce logo REST and the dashboard, one balance

1

wallet behind the API and the dashboard

Real sellers, real words

What sellers say once the border stops being a project.

A video took off and I had 80 TikTok Shop orders by morning. I printed every label from my phone on the bus to the post office.
E

Early customer · TikTok

TikTok Shop seller

TikTok logo TikTok Shop
I run my Etsy shop from the kitchen. The AI reads the order, picks the carrier, the label prints. That's the whole workflow now.
E

Early customer · Etsy

Etsy maker

Etsy logo Etsy
The API is what every shipping API pretends to be. Idempotency that actually works.
S

Sasha R.

Staff engineer, marketplace

API user

Shipping to Mexico from the US — FAQ

Do I need a customs form to ship to Mexico from the US?
Yes. Every parcel from the US to Mexico needs a customs declaration, whichever carrier you use. GoatLabels generates the customs form from the label details for every international label, so the item description, value, and country of origin you enter once are what prints.
Who pays duties and taxes on a parcel to Mexico?
By default the buyer pays any duties and tax that Mexican customs assesses, at delivery, and the carrier collects it before handing the parcel over. Some express services let the seller pay upfront instead. Say at checkout which one applies, because a surprise bill at the door is the most common reason a parcel is refused.
What is the cheapest way to ship to Mexico from the US?
Usually a USPS international service, which hands the parcel to Mexico's postal service for the final mile. It is slower and less tracked than UPS, FedEx, or DHL, so it suits light, low-value parcels where a wait costs less than the express premium. Quote all four on the same parcel to see the gap.
How long does shipping to Mexico take?
It depends on the service and on customs. Each carrier publishes its own transit estimate per service, and the customs step sits inside it. Express services from UPS, FedEx, and DHL generally clear faster because the carrier's own broker handles the parcel; the postal stream is more variable.
Which carriers can I compare for Mexico?
USPS, UPS, FedEx, and DHL, quoted side by side as all-in rates on every parcel, with the customs form generated for whichever one you pick.
Can I ship to Mexico from a store connector or a CSV?
Yes. Orders from any of the thirteen connectors land in the To Ship queue, bulk CSV import handles a batch, and the REST label API accepts customs items on the shipment. A Mexico order is handled in the same queue as a domestic one.

Shipping to other destinations? See shipping to Canada, shipping to the EU, or the customs forms guide.

Test it on the next Mexican order that lands.

Four carriers into Mexico.
One customs form, no monthly fee.

Fund a wallet with card, Apple Pay, Google Pay, ACH, or crypto, put through the next Mexico order you would have shipped anyway, and compare the all-in rates from USPS, UPS and FedEx, and from DHL on international lanes, against what that label costs you today.

No card required. No monthly fee on Free, up to 50 shipments a month.

Updated