Skip to main content
GET
/
service-points
Retrieve a list of service points
curl --request GET \
  --url https://servicepoints.sendcloud.sc/api/v2/service-points \
  --header 'Authorization: Basic <encoded-value>'
[
  {
    "id": 10875349,
    "code": "217165",
    "is_active": true,
    "shop_type": "parcelShop",
    "general_shop_type": "servicepoint",
    "extra_data": {
      "partner_name": "PostNL",
      "sales_channel": "AFHAALPUNT",
      "terminal_type": "NRS",
      "retail_network_id": "PNPNL-01"
    },
    "name": "Example Parcel Shop",
    "street": "Voorbeeldstraat",
    "house_number": "12",
    "postal_code": "5611AG",
    "city": "EINDHOVEN",
    "latitude": "51.441444",
    "longitude": "5.475185",
    "email": "info@example.com",
    "phone": "+31401234567",
    "homepage": "https://www.example.com",
    "carrier": "postnl",
    "country": "NL",
    "formatted_opening_times": {
      "0": [
        "10:00 - 20:00"
      ],
      "1": [
        "10:00 - 20:00"
      ],
      "2": [
        "10:00 - 20:00"
      ],
      "3": [
        "10:00 - 20:00"
      ],
      "4": [
        "10:00 - 20:00"
      ],
      "5": [
        "10:00 - 18:00"
      ],
      "6": []
    },
    "open_tomorrow": true,
    "open_upcoming_week": true,
    "distance": 381
  },
  {
    "id": 20948712,
    "code": "DE-4291",
    "is_active": true,
    "shop_type": "packStation",
    "general_shop_type": "locker",
    "extra_data": {},
    "name": "Packstation 142",
    "street": "Voorbeeldlaan",
    "house_number": "2",
    "postal_code": "5611AZ",
    "city": "EINDHOVEN",
    "latitude": "51.438200",
    "longitude": "5.478600",
    "email": "",
    "phone": "",
    "homepage": "",
    "carrier": "dhl",
    "country": "NL",
    "formatted_opening_times": {
      "0": [
        "00:00 - 23:59"
      ],
      "1": [
        "00:00 - 23:59"
      ],
      "2": [
        "00:00 - 23:59"
      ],
      "3": [
        "00:00 - 23:59"
      ],
      "4": [
        "00:00 - 23:59"
      ],
      "5": [
        "00:00 - 23:59"
      ],
      "6": [
        "00:00 - 23:59"
      ]
    },
    "open_tomorrow": true,
    "open_upcoming_week": true,
    "distance": 520
  },
  {
    "id": 30581927,
    "code": "IT-89201",
    "is_active": true,
    "shop_type": "punto_poste",
    "general_shop_type": "post_office",
    "extra_data": {
      "partner_name": "Poste Italiane"
    },
    "name": "Post Office Eindhoven",
    "street": "Voorbeeldweg",
    "house_number": "48",
    "postal_code": "5611ET",
    "city": "EINDHOVEN",
    "latitude": "51.439100",
    "longitude": "5.479300",
    "email": "",
    "phone": "",
    "homepage": "",
    "carrier": "poste_italiane",
    "country": "NL",
    "formatted_opening_times": {
      "0": [
        "09:00 - 17:00"
      ],
      "1": [
        "09:00 - 17:00"
      ],
      "2": [
        "09:00 - 17:00"
      ],
      "3": [
        "09:00 - 17:00"
      ],
      "4": [
        "09:00 - 17:00"
      ],
      "5": [],
      "6": []
    },
    "open_tomorrow": true,
    "open_upcoming_week": true,
    "distance": 680
  }
]
Only service points which are applicable to the carriers you have enabled in the integration settings menu will be returned. You can filter the results based on GPS location or address in combination with a search radius.

How carriers are selected

  • If the carrier parameter is not provided, service points for all carriers enabled in your integration settings are returned.
  • If the carrier parameter is provided, only service points for the specified carriers are returned. All requested carriers must be enabled in your integration settings — if any are not, a 400 error is returned.

Notes

  • If provided, latitude and longitude specify a reference point from which a distance will be computed for each service point, and returned with the response.
  • Some carriers impose limits for certain service points. For this reason, you can specify the weight parameter to ensure that only usable service points are returned. Currently this only applies to Poste Italiane, which excludes punto_poste service points when the weight exceeds 15 kg.
  • If provided, postal_code will return a list of service points which are located exactly within the bounds of the specified postal code area.
  • The address parameter retrieves a list of service points closest to the geocoded location. You can limit the results through the radius parameter.
  • The address parameter accepts postal codes in addition to street names.
  • The address parameter should not be used together with city, postal_code, or house_number, as those perform exact matching.

Authorizations

Authorization
string
header
required

Basic Authentication using API key and secrets is currently the main authentication mechanism.

Headers

X-Requested-With
string

Identifies the request as one made using JavaScript

Query Parameters

access_token
string

A JSON Web Token encoding either an “id” (user ID) or “iid” (integration ID) property. Alternatively, a public API key.

country
string
required

A country ISO 2 code

Example:

"NL"

carrier
string

A comma-separated list of carrier codes to filter by (e.g. postnl,dpd). Only carriers that are enabled in your integration settings can be requested — a 400 error is returned if any of the requested carriers are not enabled.

Example:

"postnl,dpd"

latitude
string

Used as a reference point to calculate the distance of the service point to the provided location.

longitude
string

Used as a reference point to calculate the distance of the service point to the provided location.

ne_latitude
string

Latitude of the northeast corner of the bounding box. Must be provided together with ne_longitude, sw_latitude, and sw_longitude to define a rectangular search area. Cannot be combined with radius.

ne_longitude
string

Longitude of the northeast corner of the bounding box. Must be provided together with ne_latitude, sw_latitude, and sw_longitude. Cannot be combined with radius.

sw_latitude
string

Latitude of the southwest corner of the bounding box. Must be provided together with ne_latitude, ne_longitude, and sw_longitude. Cannot be combined with radius.

sw_longitude
string

Longitude of the southwest corner of the bounding box. Must be provided together with ne_latitude, ne_longitude, and sw_latitude. Cannot be combined with radius.

address
string

A free-text string that is geocoded to find service points near the resolved location. Can accept a street name, house number, postal code, or a combination. Avoid mixing with the city, postal_code, or house_number parameters, as those perform strict exact matching (e.g. city=Munich would return no results, while city=München would). Combining free-form and strict filters is technically possible but should be done with caution.

Example:

"Stadhuisplein 10"

city
string

City of the destination address. Performs an exact match — spelling must be precise (e.g. München, not Munich). Avoid mixing with the address parameter.

Example:

"Eindhoven"

postal_code
string

Postal code of the destination address. Performs an exact match — only service points located within the bounds of the specified postal code area are returned. Avoid mixing with the address parameter.

Example:

"5611 EM"

house_number
string

House number of the destination address. Performs an exact match. Avoid mixing with the address parameter.

Example:

"10"

radius
integer

Optional radius (in meters) that limits results to service points within the specified distance from the reference location. Can be used instead of the ne_latitude, ne_longitude, sw_latitude, and sw_longitude bounding box parameters.

Required range: 100 <= x <= 50000
weight
number<double>

Weight (in kg) of the parcel to be shipped to the service point. Currently only applies to Poste Italiane: when the weight exceeds 15 kg, punto_poste service points are excluded from the results.

pudo_id
string

A DPD-specific service point identifier. Use this to look up a specific DPD service point by its PUDO ID.

Maximum string length: 7
shop_type
string

Filters results by the carrier-specific shop type (e.g. parcelShop, packStation, punto_poste). Values vary per carrier. Use general_shop_type instead if you want to filter by Sendcloud's normalized categories.

general_shop_type
string

Filters results by Sendcloud's normalized shop type. Carrier-specific shop types are mapped to a fixed set of values, making it easier to filter consistently across carriers. Accepts a single value (e.g., servicepoint) or a comma-separated list of values (e.g., servicepoint,locker,post_office).

Possible options:

  • servicepoint
  • locker
  • post_office
  • carrier_depot
Example:

"servicepoint"

Response

OK

id
integer
required

The unique identifier of the service point.

code
string
required

A carrier-specific identifier for the service point.

is_active
boolean
required

Indicates whether the service point data was recently updated via scraping within a carrier-specific expiration period. This field reflects data freshness, not operational availability. To check if a service point is operationally open, use open_tomorrow or open_upcoming_week instead.

extra_data
object
required

Contains carrier-specific metadata about the service point. This field has no fixed structure — it may contain different fields depending on the carrier, or be empty. Do not rely on any specific keys being present.

name
string
required

The name of the service point location.

street
string
required

The street name of the service point address.

house_number
string
required

The house number of the service point address.

postal_code
string
required

The postal code of the service point address.

city
string
required

The city where the service point is located.

latitude
string
required

The geographic latitude of the service point.

longitude
string
required

The geographic longitude of the service point.

email
string
required

The contact email address of the service point.

phone
string
required

The contact phone number of the service point.

homepage
string
required

The homepage URL of the service point.

carrier
string
required

The code of the carrier operating this service point.

Example:

"postnl"

country
string
required

The country where the service point is located, formatted as an ISO 3166-1 alpha-2 code.

Example:

"NL"

formatted_opening_times
object
required

The opening hours for each day of the week, keyed by day number (0 = Monday, 6 = Sunday). Each day contains an array of time range strings. An empty array indicates the service point is closed on that day.

This field is dynamically computed for the current week. It takes the regular opening hours as a base and applies any exceptions reported by the carrier (e.g. reduced hours or closures on holidays). For example, if a service point is normally open 07:00–22:00 every day but has reduced hours on Christmas Eve and is closed on Christmas Day, those overrides will be reflected in the output for that week.

open_tomorrow
boolean
required

Indicates whether the service point will be open tomorrow based on its operating schedule. This field is calculated from formatted_opening_times and should be used to determine operational availability.

open_upcoming_week
boolean
required

Indicates whether the service point will be open at least once during the next 7 days. This field is calculated from formatted_opening_times including any schedule exceptions, and should be used to determine operational availability.

shop_type
string | null

The carrier-specific shop type classification. May be null if the carrier does not provide this information.

general_shop_type
string | null

A normalized shop type indicating the general category of the service point. Carrier-specific shop types are mapped to a fixed set of values, such as servicepoint, locker, post_office, carrier_depot, etc.

distance
number

Distance between the reference point and the service point in meters. Only returned on the list endpoint when latitude/longitude or address query parameters are provided.