# Quickstart: Get checkout rates
URL: https://support.starshipit.com/articles/14700000001016-quickstart-get-checkout-rates
Canonical: https://support.starshipit.com/articles/14700000001016-quickstart-get-checkout-rates
Markdown: https://support.starshipit.com/articles/14700000001016-quickstart-get-checkout-rates.md
Updated: 2026-06-18

> For the complete documentation index, see [llms.txt](https://support.starshipit.com/llms.txt).

> Compare checkout rates and delivery services API requests for live courier options.

Use this quickstart to choose between the checkout rates API and delivery services API, then confirm the returned services match your Starshipit courier and rates setup.

Use the [Rates API reference](/developers/api-reference/starshipit#rates) when you need the full request and response models.

## Before you begin

- Confirm your API key and subscription key.
- Confirm at least one courier with rates is set up in Starshipit.
- Confirm sender address, package, and courier service setup is complete.
- Set up checkout rates if you want to use the checkout rates API.
- Use safe test address data for the destination.

## Choose the rates endpoint

| API | Endpoint | What it returns | Use it when |
| --- | --- | --- | --- |
| Checkout rates API | [POST /api/rates](/developers/api-reference/starshipit#endpoint-rates-post-api-rates-get-rates) | Rates that follow your Starshipit checkout rates setup, including checkout rates rules and service settings. | You are showing rates at checkout or want the same behaviour as checkout rates in the app. |
| Delivery services API | [POST /api/deliveryservices](/developers/api-reference/starshipit#endpoint-rates-post-api-deliveryservices-delivery-services) | Available delivery service options for the shipment, regardless of checkout rates setup. | You are checking service options before printing or choosing the best service inside an integration. |

You will not receive checkout rates from `POST /api/rates` unless checkout rates are configured in Starshipit. Returned checkout rates follow your checkout rates settings, including enabled couriers, service configuration, and rules.

## Checkout rates API request

See the [POST /api/rates endpoint reference](/developers/api-reference/starshipit#endpoint-rates-post-api-rates-get-rates) for the complete request and response fields.

```bash
curl --request POST \
  --url https://api.starshipit.com/api/rates \
  --header "StarShipIT-Api-Key: YOUR_API_KEY" \
  --header "Ocp-Apim-Subscription-Key: YOUR_SUBSCRIPTION_KEY" \
  --header "Content-Type: application/json" \
  --data '{
    "sender": {
      "street": "184 Exhibition Street",
      "suburb": "Melbourne",
      "city": "Melbourne",
      "state": "VIC",
      "post_code": "3000",
      "country_code": "AU"
    },
    "destination": {
      "street": "20 George Street",
      "suburb": "Sydney",
      "city": "Sydney",
      "state": "NSW",
      "post_code": "2000",
      "country_code": "AU"
    },
    "packages": [
      {
        "weight": 0.5,
        "height": 0.1,
        "width": 0.1,
        "length": 0.1
      }
    ],
    "currency": "AUD"
  }'
```

## Delivery services API request

Use delivery services when you want to inspect all available service options for a shipment before printing. See the [POST /api/deliveryservices endpoint reference](/developers/api-reference/starshipit#endpoint-rates-post-api-deliveryservices-delivery-services) for the complete request and response fields.

```bash
curl --request POST \
  --url https://api.starshipit.com/api/deliveryservices \
  --header "StarShipIT-Api-Key: YOUR_API_KEY" \
  --header "Ocp-Apim-Subscription-Key: YOUR_SUBSCRIPTION_KEY" \
  --header "Content-Type: application/json" \
  --data '{
    "destination": {
      "street": "20 George Street",
      "suburb": "Sydney",
      "city": "Sydney",
      "state": "NSW",
      "post_code": "2000",
      "country_code": "AU"
    },
    "packages": [
      {
        "weight": 0.5,
        "height": 0.1,
        "width": 0.1,
        "length": 0.1
      }
    ],
    "include_pricing": true
  }'
```

## Read the rates response

Each returned rate can include a carrier service name, `service_code`, and `total_price`.

```json
{
  "rates": [
    {
      "service_name": "PARCEL POST",
      "service_code": "7B05",
      "total_price": 12.05
    }
  ],
  "success": true
}
```

## Verify rates

Compare the API result with the same shipment details in Starshipit. Confirm:

- The origin and destination addresses match.
- The package weight and dimensions match.
- The same courier services are enabled.
- Checkout rates rules or service filters are not hiding expected services when you use `POST /api/rates`.
- Checkout displays the service name and price your customer should see.

## Common issues

| Issue | What to check |
| --- | --- |
| No checkout rates returned | Confirm checkout rates are set up and enabled for the courier service. |
| No delivery services returned | Confirm the courier has rates available in Starshipit for the destination and package details. |
| Unexpected `service_code` | Check carrier service setup and Starshipit rules. |
| Price differs from Starshipit | Compare sender address, dimensions, surcharges, and service filters. |
| Checkout timeout | Cache cautiously and back off when rate limits are reached. |

## Next steps

- [Get checkout and live rates](/articles/developer-center/starshipit-api/get-live-rates-at-checkout)
- [Testing guidance](/articles/developer-center/getting-started/testing-guidance)
- [Starshipit API fundamentals](/articles/developer-center/starshipit-api/api-fundamentals)
- [Rates API reference](/developers/api-reference/starshipit#rates)
