---
title: "List service points"
method: POST
path: "/v2/service_points/list"
tags: ["service_points"]
---

# List service points

`POST /v2/service_points/list`

<aside class="access" aria-label="Endpoint access">
      <table class="access__table">
        <thead>
          <tr>
            <th class="access__table-header">Products</th>
            <th class="access__table-header">Plans</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td class="access__table-cell access__product">
              <img class="access__logo" src="/static/logos/shipstation-api-logo.svg" alt="ShipStation API Logo" loading="lazy" decoding="async"/>
              <div class="access__sub">Formerly ShipEngine</div>
            </td>
            <td class="access__table-cell access__plans">
              <a href="/apis/@shipstation-v2/docs/getting-started/plans/shipstation-api-free.md" class="access__plan access__plan--off">Free</a>
              <a href="/apis/@shipstation-v2/docs/getting-started/plans/shipstation-api-advanced-enterprise.md" class="access__plan">Advanced</a>
              <a href="/apis/@shipstation-v2/docs/getting-started/plans/shipstation-api-advanced-enterprise.md" class="access__plan">Enterprise</a>
            </td>
          </tr>
          <tr>
            <td class="access__table-cell">
              <img class="access__logo" src="/static/logos/shipstation-logo.svg" alt="ShipStation Logo" loading="lazy" decoding="async"/>
            </td>
            <td class="access__table-cell access__plans">
              <a href="/apis/@shipstation-v2/docs/getting-started/plans/shipstation-free-starter.md" class="access__plan access__plan--off">Free</a>
              <a href="/apis/@shipstation-v2/docs/getting-started/plans/shipstation-free-starter.md" class="access__plan access__plan--off">Starter</a>
              <a href="/apis/@shipstation-v2/docs/getting-started/plans/shipstation-standard-premium.md" class="access__plan">Standard</a>
              <a href="/apis/@shipstation-v2/docs/getting-started/plans/shipstation-standard-premium.md" class="access__plan">Premium</a>
            </td>
          </tr>
        </tbody>
      </table>
      <footer class="access__footer">
        <a class="access__help" href="/apis/@shipstation-v2/docs/getting-started/products-and-plans.md">
          Learn about products and plans
          <img src="/static/icons/external-link.svg" alt="External Link Icon" style="width: 16px;" loading="lazy" decoding="async"/>
        </a>
      </footer>
    </aside>

List carrier service points by location

## Request body

- GetServicePointsRequest — A get service points request body. Caller must provide exactly one of address_query, address, or lat / long pair.
  - `address_query` string — Unstructured text to search for service points by.
  - `address` object — Structured address to search by.
    - `address_line1` string — The first line of the street address. For some addresses, this may be the only line. Other addresses may require 2 or 3 lines.
    - `address_line2` string
    - `address_line3` string
    - `city_locality` string — The name of the city or locality
    - `state_province` string — The state or province. For some countries (including the U.S.) only abbreviations are allowed. Other countries allow the full name or abbreviation.
    - `postal_code` string — postal code
    - `country_code` string, required — A two-letter [ISO 3166-1 country code](https://en.wikipedia.org/wiki/ISO_3166-1)
  - `providers` object[], required — An array of shipping service providers and service codes
    - `carrier_id` string — Uniquely identifies a carrier connection
    - `service_code` string[]
  - `lat` number, double — The latitude of the point. Represented as signed degrees. Required if long is provided. http://www.geomidpoint.com/latlon.html
  - `long` number, double — The longitude of the point. Represented as signed degrees. Required if lat is provided. http://www.geomidpoint.com/latlon.html
  - `radius` integer — Search radius in kilometers
  - `max_results` integer — The maximum number of service points to return
  - `shipment` object — Shipment information to be used for service point selection
    - `total_weight` Weight — The weight of a package
      - `value` number, required — The weight, in the specified unit
      - `unit` 'pound' | 'ounce' | 'gram' | 'kilogram', required — The possible weight unit values
    - `packages` object[] — An array of package dimensions
      - `dimensions` Dimensions — The dimensions of a package
        - `unit` 'inch' | 'centimeter', required — The dimension units that are supported by ShipStation .
        - `length` number, required — The length of the package, in the specified unit
        - `width` number, required — The width of the package, in the specified unit
        - `height` number, required — The height of the package, in the specified unit

## Response `200`

The request was a success.

- ListServicePointsResponseBody — A list service points response body
  - `lat` number, double — The latitude of the point. Represented as signed degrees. Required if long is provided. http://www.geomidpoint.com/latlon.html
  - `long` number, double — The longitude of the point. Represented as signed degrees. Required if lat is provided. http://www.geomidpoint.com/latlon.html
  - `service_points` object[]
    - `carrier_code` string — A [shipping carrier] , such as `fedex`, `dhl_express`, `stamps_com`, etc.
    - `service_codes` string[]
    - `service_point_id` string — A unique identifier for a carrier drop off point.
    - `company_name` string — If this is a business address, then the company name should be specified here.
    - `address_line1` string — The first line of the street address. For some addresses, this may be the only line. Other addresses may require 2 or 3 lines.
    - `city_locality` string — The name of the city or locality
    - `state_province` string — The state or province. For some countries (including the U.S.) only abbreviations are allowed. Other countries allow the full name or abbreviation.
    - `postal_code` string — postal code
    - `country_code` string — A two-letter [ISO 3166-1 country code](https://en.wikipedia.org/wiki/ISO_3166-1)
    - `phone_number` string — Phone number associated
    - `lat` number, double — The latitude of the point. Represented as signed degrees. Required if long is provided. http://www.geomidpoint.com/latlon.html
    - `long` number, double — The longitude of the point. Represented as signed degrees. Required if lat is provided. http://www.geomidpoint.com/latlon.html
    - `distance_in_meters` number, double — Distance in meters
    - `hours_of_operation` object — Hours of operation
      - `monday` object[]
        - `open` string — Opening time
        - `close` string — Closing time
      - `tuesday` object[]
        - `open` string — Opening time
        - `close` string — Closing time
      - `wednesday` object[]
        - `open` string — Opening time
        - `close` string — Closing time
      - `thursday` object[]
        - `open` string — Opening time
        - `close` string — Closing time
      - `friday` object[]
        - `open` string — Opening time
        - `close` string — Closing time
      - `saturday` object[]
        - `open` string — Opening time
        - `close` string — Closing time
      - `sunday` object[]
        - `open` string — Opening time
        - `close` string — Closing time
    - `features` string[] — Service features
    - `type` 'pudo' | 'locker' — Service point type
  - `errors` Error[] — The errors associated with the failed API call
    - `error_source` 'carrier' | 'order_source' | 'ShipStation' | 'shipengine', required — The source of the error, as indicated by the name this informs us if the API call failed because of the carrier, the order source, the ShipStation API itself, or the underlying ShipEngine platform.
    - `error_type` 'account_status' | 'business_rules' | 'validation' | 'security' | 'system' | 'integrations', required — The type of error
    - `error_code` 'auto_fund_not_supported' | 'batch_cannot_be_modified' | 'carrier_conflict' | 'carrier_disconnected' | 'carrier_not_connected' | 'carrier_not_supported' | 'confirmation_not_supported' | 'default_warehouse_cannot_be_deleted' | 'field_conflict' | 'field_value_required' | 'forbidden' | 'identifier_conflict' | 'identifiers_must_match' | 'insufficient_funds' | 'invalid_address' | 'invalid_billing_plan' | 'invalid_field_value' | 'invalid_identifier' | 'invalid_status' | 'invalid_string_length' | 'label_images_not_supported' | 'meter_failure' | 'order_source_not_active' | 'rate_limit_exceeded' | 'refresh_not_supported' | 'request_body_required' | 'return_label_not_supported' | 'settings_not_supported' | 'subscription_inactive' | 'terms_not_accepted' | 'tracking_not_supported' | 'trial_expired' | 'unauthorized' | 'unknown' | 'unspecified' | 'verification_failure' | 'warehouse_conflict' | 'webhook_event_type_conflict' | 'customs_items_required' | 'incompatible_paired_labels' | 'invalid_charge_event' | 'invalid_object' | 'no_rates_returned' | 'freight_connection_inactive' | 'freight_provider_id_required' | 'freight_shipment_not_found' | 'freight_tracking_not_available' | 'freight_tracking_not_found' | 'freight_shipment_not_batchable', required — The error code specified for the failed API Call
    - `message` string, required — An error message associated with the failed API call
    - `field_name` string — The name of the field that caused the error (only present for validation errors)
    - `field_value` string — The invalid value that was provided for the field (only present for validation errors)

## Other responses

- `400` — The request contained errors.
- `404` — The specified resource does not exist.
- `500` — The request was successful.

---

[API](https://skmtc.net/shipstation/apis/shipstation-api-v2.md) · [All operations](https://skmtc.net/shipstation/apis/shipstation-api-v2/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/shipstation/shipstation-api-v2/revisions/d3d8c21cd227/schema)
