Amazon Buy Shipping provides domestic shipping services via your Amazon Seller account and can be used for all Merchant Fulfilled Network orders, including Amazon Prime orders. ShipStation API supports connecting Amazon Buy Shipping accounts for merchants based in the US and UK.
This carrier integration works mostly the same as any other carrier in ShipStation API. However, in some cases, Amazon-specific requirements necessitate a few extra steps.
carrier_name: amazon_shipping
Both rate and label requests for Amazon Buy Shipping must include some additional data in the request body:
- Specify the
order_source_codeasamazon. - Add the
itemsobject to include theexternal_order_idandexternal_order_item_idproperties, which map to the order ID and order item ID in Amazon Seller Central, respectively. - Match the
ship_toproperty to the address of the order in Amazon Seller Central.- Please note that the
ship_toaddress is required, but the actual address used for rating comes from the Amazon order.
- Please note that the
Your Amazon Buy Shipping account must be connect in your account Dashboard. You cannot currently connect an Amazon Buy Shipping account via endpoint.
See our Amazon Buy Shipping API help guide for steps to connect in the ShipStation API Dashboard.
Amazon Buy Shipping supports rate shopping with ShipStation API.
Here is an example of how to retrieve Amazon Buy Shipping rates for an Amazon order.
POST /v1/rates/
POST /v1/rates HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__
Content-Type: application/json
{
"rate_options": {
"carrier_ids": [
"se-13395"
]
},
"shipment": {
"ship_to": {
"address_residential_indicator": "unknown",
"name": "John Smith",
"phone": "555-555-5555",
"company_name": "",
"address_line1": "4301 Bull Creek Rd",
"address_line2": "",
"address_line3": "",
"city_locality": "Austin",
"state_province": "TX",
"postal_code": "78731",
"country_code": "US"
},
"ship_from": {
"address_residential_indicator": "unknown",
"name": "Stamps.com",
"phone": "1-800-608-2677",
"company_name": "",
"address_line1": "1990 E. Grand Ave.",
"address_line2": "",
"address_line3": "",
"city_locality": " El Segundo",
"state_province": "CA",
"postal_code": "90245-5013",
"country_code": "US"
},
"packages": [
{
"weight": {
"unit": "pound",
"value": 1.0
},
"dimensions": {
"unit": "inch",
"length": 4.0,
"width": 3.0,
"height": 2.0
}
}
],
"order_source_code": "amazon",
"items": [
{
"quantity": 1,
"name": "Paperback Book",
"external_order_id": "111-7115183-3994627",
"external_order_item_id": "36324373407274"
}
]
}
}You'll receive a standard rate response in return.
The services available will depend on the carriers and services configured in your Amazon seller account.
Amazon has confirmed there will be no changes required when shipping from Great Britain to Northern Ireland to comply with the Windsor Framework that goes into effect 1 May 2025. No additional properties will need to be added to your shipment or label requests.
Amazon Buy Shipping does not support creating return labels with ShipStation API.
- Label sizes: 4" x 6"
- Label formats: PDF, ZPL
POST /v1/labels
Here's an example of how to create an Amazon Shipping label for an Amazon order.
POST /v1/labels HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__
Content-Type: application/json
{
"shipment": {
"carrier_id": "se-123456",
"service_code": "ups_ground",
"order_source_code": "amazon",
"external_order_id": "103-4795772-1364518",
"items": [
{
"quantity": 1,
"name": "Tea Party Set",
"external_order_id" : "114-2825781-8037847",
"external_order_item_id" : "16902221730370"
},
{
"quantity": 1,
"name": "Party Hats",
"external_order_id" : "114-2825781-8037847",
"external_order_item_id" : "16902221730370"
}
],
"ship_date": "2019-04-04T05:00:00.000Z",
"ship_from": {
"name": "John Smith",
"address_line1": "4301 Bull Creek Rd",
"city_locality": "Austin",
"state_province": "TX",
"postal_code": "78731",
"country_code": "US",
"phone": "555-555-55555"
},
"ship_to": {
"name": "Stamps.com",
"address_line1": "1990 E. Grand Ave.",
"city_locality": "El Segundo",
"state_province": "CA",
"postal_code": "90245-5013",
"country_code": "US",
"phone": "1-800-608-2677"
},
"packages": [
{
"weight": {
"value": 2.5,
"unit": "pound"
},
"dimensions": {
"length": 24,
"width": 10,
"height": 3,
"unit": "inch"
}
}
]
}
}You'll receive a standard label response in return.
Amazon Buy Shipping does not support adding label messages.
Amazon Buy Shipping does not support multi-package shipments.
Amazon Buy Shipping does not support label branding.
Amazon Buy Shipping supports voiding labels with ShipStation API.
Amazon Buy Shipping does not support paperless labels.
| Confirmation Type | API Code | Description |
|---|---|---|
| Delivery | delivery | Delivery confirmation is requested. |
| Signature | signature | Signature is required for the shipment to be delivered. This signature may be a neighbor, building manager, or the recipient can authorize the release of the package (without being present). |
| Adult Signature | adult_signature | An adult signature is required for the shipment to be delivered. |
See our Delivery Confirmation page for more details about using the confirmation property.
Amazon Buy Shipping supports certain advanced options, which you can add to the shipment object when creating a shipment or label.
| Option | Type | Default Value | Description |
|---|---|---|---|
non_machinable | boolean | false | Indicates that the package cannot be processed through sorting machines. |
To ensure you always have the most up-to-date information about a carrier's advanced options, use the list carrier options call.
Amazon Buy Shipping does not support manifesting shipments with ShipStation API.
Amazon Buy Shipping does not support scheduling pickups using ShipStation API.
Amazon Buy Shipping does not support shipping to service points.
ShipStation API's integration with Amazon Buy Shipping supports receiving tracking updates. Review our Track a Package guides for details on tracking with the ShipStation API.
See the Disconnect section in our Delete a Carrier page for the process of deleting or disconnecting a carrier from ShipStation API.
NOTE:
If you disconnect a carrier account and reconnect it, the account will have a new
carrier_idin ShipStation API.