---
title: "Retrieve List of Shipping Options"
method: POST
path: "/shipping-options/"
tags: ["Shipping Options"]
---

# Retrieve List of Shipping Options

`POST /shipping-options/`

When integrating the Print API with your own shop, you might want to give customers an option to select among different shipping levels.
This endpoint allows you to request available shipping methods (including cost) with minimal input data:
* `country`
* `page_count`
* `quantity`
* `pod_package_id`
* `currency` only required if you don't want USD

A valid `state_code` must be included in the shipping address to receive accurate shipping information.

<details close>
  <summary>Countries that require valid state code (ISO 3166-1 alpha-2 code in parentheses)</summary>

  * United Arab Emirates (AE)
  * American Samoa (AS)
  * Australia (AU)
  * Brazil (BR)
  * Canada (CA)
  * China (CN)
  * Colombia (CO)
  * Costa Rica (CR)
  * Cayman Islands (KY)
  * Spain (ES)
  * Micronesia (FM)
  * Hong Kong (HK)
  * Honduras (HN)
  * Indonesia (ID)
  * India (IN)
  * Iraq (IQ)
  * Italy (IT)
  * Jamaica (JM)
  * Japan (JP)
  * Saint Kitts and Nevis (KN)
  * Korea (KR)
  * Mexico (MX)
  * Marshall Islands (MH)
  * Northern Mariana Islands (MP)
  * Nauru (NR)
  * Palau (PW)
  * Papua New Guinea (PG)
  * French Polynesia (PF)
  * Russian Federation (RU)
  * El Salvador (SV)
  * Somalia (SO)
  * Taiwan (TW)
  * United States Minor Outlying Islands (UM)
  * United States (US)
  * Venezuela (VE)
  * Virgin Islands, U.S. (VI)
</details>

You can further restrict shipping options that support post box delivery by adding `is_postbox=true` to your shipping address data.

## Request body

- object
  - `currency` string — Currency to base cost calculations on, defaults to USD. Available currencies are AUD, CAD, EUR, GBP, and USD.
  - `line_items` object[], required — The line items that should be calculated
    - `page_count` integer, required — The page count of the book
    - `pod_package_id` string, required — The id of the PodPackage of the book
    - `quantity` number, required — The quantity of books to base the calculations on
  - `shipping_address` object, required — The shipping address for which shipping options will be found
    - `country` string, required — [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2) country code
    - `city` string
    - `is_business` boolean — Only relevant for US addresses. Some US carriers don't deliver to business-addresses on Saturday.
    - `is_postbox` boolean
    - `name` string — Full name of the person, including first and last name.
    - `organization` string — Name of an organization. Required if no person name is given.
    - `phone_number` string — Validation Regex Pattern: `^\+?[\d\s\-.\/()]{8,20}$`
    - `postcode` string
    - `state` string — 2 or 3 letter state codes (officially called [ISO-3166-2 subdivision codes](https://en.wikipedia.org/wiki/ISO_3166-2)).
    - `street1` string — First address line
    - `street2` string — Second address line

## Response `200`

OK

- object[]
  - `business_only` boolean, required — Delivery only on working days
  - `cost_excl_tax` string — The shipping cost excluding taxes as a decimal string. This attribute will only be set on the detail endpoint representation, and only if the query parameters 'quantity' and 'currency' are provided
  - `currency` string — Currency of `cost_excl_tax`
  - `home_only` boolean, required — Delivery also on non working days
  - `id` number, required
  - `level` 'MAIL' | 'PRIORITY_MAIL' | 'GROUND_HD' | 'GROUND_BUS' | 'GROUND' | 'EXPEDITED' | 'EXPRESS', required
  - `max_delivery_date` string, required — Latest estimated delivery date in ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)) format. When no `pod_package_id` is provided in the request, the estimate is based on product types with the longest estimated production time (usually hardcover books).
  - `max_dispatch_date` string — Latest estimated dispatch (handover to carrier) date in ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)) format. When no `pod_package_id` is provided in the request, the estimate is based on product types with the longest estimated production time (usually hardcover books).
  - `min_delivery_date` string, required — Earliest estimated delivery date in ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)) format. When no `pod_package_id` is provided in the request, the estimate is based on product types with the shortest estimated production time (usually non-hardcover books).
  - `min_dispatch_date` string — Earliest estimated dispatch (handover to carrier) date in ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)) format. When no `pod_package_id` is provided in the request, the estimate is based on product types with the shortest estimated production time (usually non-hardcover books).
  - `postbox_ok` boolean, required — Support of delivery to postboxes
  - `total_days_max` number — Highest estimate of total business days from start of production to delivery. When no `pod_package_id` is provided in the request, the estimate is based on product types with the longest estimated production time (usually hardcover books).
  - `total_days_min` number — Lowest estimate of total business days from start of production to delivery. When no `pod_package_id` is provided in the request, the estimate is based on product types with the shortest estimated production time (usually non-hardcover books).
  - `traceable` boolean, required — If this shipping provides the possibility to create a tracking link
  - `transit_time` number, required — Average transit time in days

## Other responses

- `401` — Unauthorized
- `403` — Forbidden

---

[API](https://skmtc.dev/lulu/apis/universal-publishing-platform-api.md) · [All operations](https://skmtc.dev/lulu/apis/universal-publishing-platform-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/lulu/universal-publishing-platform-api/revisions/3119f71811f8/schema)
