You can't do it through USPS. They use SOAP/XML for their endpoints with absolutely no client libraries or documentation to support you, but you can use Easypost to connect to USPS today using Go.
apiKey := os.Getenv("<YOUR_TEST/PRODUCTION_API_KEY>") client := easypost.New(apiKey) toAddress, err := client.CreateAddress(...) fromAddress, err := client.CreateAddress(...) parcel, err := client.CreateParcel( &easypost.Parcel( PredefinedPackage: "Parcel", Weight: 28, ), ) shipment, err := client.CreateShipment( &easypost.Shipment( ToAddress: toAddress, FromAddress: fromAddress, Parcel: parcel, ), ) shipment, err = client.BuyShipment(shipment.ID, shipment.Rates, "100.00")
Track packages across all major carriers.
Validate domestic and international addresses.
Learn how to handle international shipping seamlessly.
Shipping insurance for all items sent with EasyPost.
QALO uses EasyPost's API to automate their returns for an unbeatable customer experience.
With EasyPost's API, Expedited Passports & Visas cut their operational load in half.
Casper sped up their European launch thanks to EasyPost's support of over 30+ European carriers.
Sign up and start shipping in the same day with our Go Library. If you have any questions, or if you want to talk logistics, feel free to reach out to one of our shipping experts.