Before you start
Service Points API v3 supports two ways to choose which carriers to search:- use the carriers enabled in your integration settings
- provide the carrier codes explicitly in the request
- In the Sendcloud platform, go to your integration settings
- Find your API integration and click Configure
- Enable service point delivery
- Enable the carriers you want to use for service point delivery and save your changes

You can skip this configuration if you plan to search for service points by providing carrier codes explicitly.
Step 1: Find a service point
Start by searching for service points near the recipient using the Retrieve a list of service points endpoint. A country code is required, and you must choose how carriers are selected:- Set
use_integration_carriers=trueto search using the carriers enabled in your integration settings. If you use this option, make sure service points and the required carriers are configured as described in Before you start - Provide one or more
carrier_codeparameters to search specific carriers directly. These carriers do not need to be enabled in your integration settings
Example request method and URL
Example request method and URL
address parameter is geocoded into a reference location, and the closest service points are returned first.
You can also provide the address as separate address_* parameters, or use latitude and longitude directly if you already know the delivery location’s coordinates.
See the Retrieve a list of service points endpoint for all supported search parameters.
If you only need a certain number of nearby service points, set
limit to that number. Returning fewer results can
improve request performance and make the service point selection flow more responsive.Example response body
data.geocoding to see how the address was resolved.
A partially_matched result can still return service points, while precision indicates how closely the resolved location matches the address you provided.
Show the returned service points to the recipient, for example on a map or in a list, and let them choose one.
Keep the selected service point id, as you’ll need it in the following steps.
No service points found
If no service points are returned, checkdata.geocoding.status first.
If the address was matched or partially_matched, the location was found successfully, but there are no service points matching the current search.
Example response - no service points nearby
radius or expand the bounding box, or remove these limits entirely to return the closest matching service points regardless of how far away they are.
If data.geocoding.status is not_found, the address itself could not be resolved:
Example response - address not found
Step 2: Check the service point is still available
Service point availability can change over time. The search endpoint may return service points based on recently updated data, but that does not guarantee they are still available for delivery. Before creating the shipment, check the selected service point using the Check availability of a service point endpoint. Use the service pointid selected in Step 1:
Example request method and URL
Example response body
is_available is false, do not continue with that service point. Your flow should select a different service point before creating the shipment.
Step 3: Find a shipping option
Now that you have selected an available service point, use the Return a list of available shipping options endpoint to find shipping options that can deliver the shipment there. Include the selected service pointid from Step 1 as to_service_point.id, together with the shipment details that affect shipping option availability, such as the origin, destination, and parcel weight.
Example request method and URL
Example request body
Example response body
postnl:pakjegemak when creating the shipment in the next step.
See Shipping options & quotes for more on filtering options, calculating quotes, and shipping functionalities.
Finding a shipping option before service point selection
Some flows retrieve the available delivery options before a specific pickup location has been selected. In that case, omitto_service_point and filter shipping options using functionalities.last_mile instead.
For example, to find shipping options that support service point delivery:
Example request body
service_point is one of the supported last_mile values. Other values can be used for different delivery types,
including locker delivery and options that support either lockers or service points. See the Shipping Options API
reference for the available last_mile values.Step 4: Create and announce the shipment
With an available service point and a compatible shipping option selected, you can now create and announce the shipment using the Create and announce a shipment synchronously endpoint. Include the service pointid from Step 1 in to_service_point.id, and use the shipping option code from Step 3 in ship_with.properties.shipping_option_code.
Example request method and URL
Example request body
Example response body