# Amazon Buy Shipping

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 V2 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 V2 API. However, in some cases, Amazon-specific requirements necessitate a few extra steps.

## Requirements

`carrier_code`: `amazon_shipping`

Both rate and label requests for Amazon Buy Shipping must include some additional data in the request body:

* Specify the `order_source_code` as `amazon`.
* Add the `items` object to include the `external_order_id` and `external_order_item_id` properties, which map to the order ID and order item ID in Amazon Seller Central, respectively.
* Match the `ship_to` property to the address of the order in Amazon Seller Central.
  * Please note that the `ship_to` address is required, but the *actual* address used for rating comes from the Amazon order.


## Connect Amazon Buy Shipping

You can connect your Amazon Buy Shipping account via the [ShipStation Dashboard](https://dashboard.shipstation.com/) or through the API using the carrier connection endpoints.

[See our Amazon Buy Shipping API help guide](https://help.shipstation.com/hc/en-us/articles/7534756493595) for steps to connect in the ShipStation Dashboard.

## Rates

Amazon Buy Shipping supports [rate shopping](/apis/shipengine/docs/rates/rates) with ShipStation V2 API.

### Example Rate Request

Here is an example of how to retrieve Amazon Buy Shipping rates for an Amazon order.

**POST /v2/rates/**


```http
POST /v2/rates HTTP/1.1
Host: api.shipstation.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.

## Service Details

The services available will depend on the carriers and services configured in your Amazon seller account.

### Shipping from Great Britain to Northern Ireland

Amazon has confirmed there will be no changes required when shipping from Great Britain to Northern Ireland to comply with the [Windsor Framework](/apis/shipengine/docs/shipping/windsor-framework) that goes into effect 1 May 2025. No additional properties will need to be added to your shipment or label requests.

### Return Services

Amazon Buy Shipping does not support creating return labels with ShipStation V2 API.

## Label Support

* Label sizes: 4" x 6"
* Label formats: PDF, ZPL


### Example Label Request

**POST /v2/labels**

Here's an example of how to create an Amazon Shipping label for an Amazon order.


```http
POST /v2/labels HTTP/1.1
Host: api.shipstation.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.

### Label Reference Fields

Amazon Buy Shipping does not support adding label messages.

### Multi-Package Labels

Amazon Buy Shipping does not support [multi-package shipments](/apis/shipengine/docs/shipping/multi-package).

### Label Branding

Amazon Buy Shipping does not support [label branding](/apis/shipengine/docs/labels/branding).

### Voiding Labels

Amazon Buy Shipping supports [voiding labels](/apis/shipengine/docs/labels/voiding) with ShipStation V2 API.

### Paperless Labels

Amazon Buy Shipping does not support [paperless labels](/apis/shipengine/docs/labels/paperless).

## Delivery Confirmation

| 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](/apis/shipengine/docs/shipping/delivery-confirmation) for more details about using the `confirmation` property.

## Advanced Options

Amazon Buy Shipping supports certain [advanced options](/apis/shipengine/docs/carriers/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](/apis/shipengine/docs/reference/list-carrier-options).

## Manifests

Amazon Buy Shipping does not support [manifesting](/apis/shipengine/docs/shipping/manifests) shipments with ShipStation V2 API.

## Scheduling Pickups

Amazon Buy Shipping does not support [scheduling pickups](/apis/shipengine/docs/shipping/pickups) using ShipStation V2 API.

## Service Points (PUDO)

Amazon Buy Shipping does not support shipping to [service points](/apis/shipengine/docs/pick-up-drop-off/pudo-intro).

## Tracking

ShipStation V2 API's integration with Amazon Buy Shipping supports receiving tracking updates. Review our ​[Track a Package guides​](/apis/shipengine/docs/tracking/tracking)​ for details on tracking with the ShipStation V2 API.

## Disconnecting Your Amazon Buy Shipping Account

See the Disconnect section in our [Delete a Carrier page](/apis/shipengine/docs/reference/carriers/delete-carrier) for the process of deleting or disconnecting a carrier from ShipStation V2 API.

> **NOTE:**
If you disconnect a carrier account and reconnect it, the account will have a new `carrier_id` in ShipStation V2 API.