Service points
Find your service point easily
Retrieve the list of active carriers, query service points by GPS location, and check their availability.

Service points, also known as drop-off locations, are physical locations affiliated with one or more specific carriers. Parcels can be dropped off at these locations, and a driver will collect them and take them to be sorted at the carrier sorting hub. Parcels can also be delivered to service points as an alternative to door-to-door delivery. A service point can be a local post office, a brick-and-mortar store, or a fuel station.
Service point delivery is an increasingly popular choice amongst e-commerce consumers, as it allows them to pick up their parcels at a time and location that’s convenient to them. The customer can see when their parcel is ready for collection via the tracking number.
This tutorial will cover the basics of Creating a parcel using a service point delivery method.
Step 1: Enable service point delivery
Before you can begin using the API, you need to make that service points are enabled in your Sendcloud integration settings.
- In your Sendcloud account, go to Integration settings
- Find your API integration in the list and click Edit
- In the settings page for your API integration, click to enable Service points
- Enable your Carriers for service point delivery and press Save

Step 2: Retrieve a service point
You need to find the id
for the service point you want to deliver to before you can specify it in your request to Create a parcel. You can do so by making an API GET request to the Service points endpoint and specifying a country and a search radius based on a postcode or a GPS location.
Example request
GET
https://servicepoints.sendcloud.sc/api/v2/service-points?country=NL&address=5611%20EM&radius=1000
Example response
If everything went well, you should receive a response which lists all of the available service points within a 1 km radius of our postcode. The example below shows one of the returned locations:
1[
2 {
3 "id": 10659026,
4 "code": "214361",
5 "is_active": true,
6 "shop_type": null,
7 "extra_data":
8 {
9 "partner_name": "PostNL",
10 "sales_channel": "",
11 "terminal_type": "",
12 "retail_network_id": "PNPNL-01"
13 },
14 "name": "Pakket- en Briefautomaat",
15 "street": "Bomansplaats",
16 "house_number": "20PBA",
17 "postal_code": "5611NT",
18 "city": "Eindhoven",
19 "latitude": "51.431009",
20 "longitude": "5.484843",
21 "email": "",
22 "phone": "",
23 "homepage": "",
24 "carrier": "postnl",
25 "country": "NL",
26 "formatted_opening_times":
27 {
28 "0":
29 [
30 "00:00 - 23:59"
31 ],
32 "1":
33 [
34 "00:00 - 23:59"
35 ],
36 "2":
37 [
38 "00:00 - 23:59"
39 ],
40 "3":
41 [
42 "00:00 - 23:59"
43 ],
44 "4":
45 [
46 "00:00 - 23:59"
47 ],
48 "5":
49 [
50 "00:00 - 23:59"
51 ],
52 "6":
53 [
54 "00:00 - 23:59"
55 ]
56 },
57 "open_tomorrow": true,
58 "open_upcoming_week": true,
59 "distance": 530
60 }
61]
Some things to note about the response:
- A service point
id
is assigned to each of the service points which are returned, e.g."id": 10771430
. This is the identifier we will use to create our shipment and deliver it to this specific service point. - The
carrier
field corresponds to the carrier which is associated with this particular service point - The response includes the opening times for all of the service points which were returned
Step 3: Find a service point delivery method
To ship a parcel to a service point, you need to select an appropriate method. Now that we have a service point id
, we can make an API call to the Shipping methods endpoint to retrieve a list of methods we can use to create our parcel.
Example request
GET
https://panel.sendcloud.sc/api/v2/shipping_methods/?service_point_id=10659026
1curl --location -g --request GET https://panel.sendcloud.sc/api/v2/shipping_methods/?service_point_id=10659026
Example response
1{
2 "shipping_methods":
3 [
4 {
5 "id": 7,
6 "name": "PostNL service point 0-23kg",
7 "carrier": "postnl",
8 "min_weight": "0.001",
9 "max_weight": "23.001",
10 "service_point_input": "required",
11 "price": 0,
12 "countries":
13 [
14 {
15 "id": 2,
16 "name": "Netherlands",
17 "price": 5.3,
18 "iso_2": "NL",
19 "iso_3": "NLD",
20 "lead_time_hours": 24
21 }
22 ]
23 }
24 ]
25}
Step 4: Create the parcel
Now we have both the service point id
and an appropriate shipping method id
, we can Create a parcel.
To create a parcel which ships directly to a specific service point:
- Add the service point
id
in theto_service_point
field - Add the shipping method
id
for your service point delivery method undershipment
- The value of
request_label
istrue
, so the parcel will be announced and you can download the shipping label as soon as your POST the request
Example request:
1curl --location -g --request POST 'https://panel.sendcloud.sc/api/v2/parcels' \
2--header 'Authorization: Basic <credentials>' \
3--data-raw '
4{
5 "parcels": [
6 {
7 "name": "John Doe",
8 "company_name": "Sendcloud",
9 "address": "Insulindelaan",
10 "house_number": "115",
11 "city": "Eindhoven",
12 "postal_code": "5642CV",
13 "telephone": "+31612345678",
14 "email": "john@doe.com",
15 "data": [],
16 "country": "NL",
17 "shipment": {
18 "id": 4203
19 },
20 "weight": "0.005",
21 "insured_value": 0,
22 "total_order_value": "11.11",
23 "total_order_value_currency": "EUR",
24 "quantity": 1,
25 "request_label": true,
26 "shipment": {
27 "id": "7"
28 },
29 "to_service_point": 10659026
30 }
31 ]
32}'
Example response:
1{
2 "parcels":
3 [
4 {
5 "id": 1,
6 "address": "Insulindelaan 115",
7 "address_2": "",
8 "address_divided":
9 {
10 "street": "Insulindelaan",
11 "house_number": "115"
12 },
13 "city": "Eindhoven",
14 "company_name": "Sendcloud",
15 "country":
16 {
17 "iso_2": "NL",
18 "iso_3": "NLD",
19 "name": "Netherlands"
20 },
21 "data":
22 {},
23 "date_created": "22-06-2022 13:19:59",
24 "date_announced": "22-06-2022 13:20:00",
25 "date_updated": "22-06-2022 13:20:00",
26 "email": "john@doe.com",
27 "name": "John Doe",
28 "postal_code": "5642 CV",
29 "reference": "0",
30 "shipment":
31 {
32 "id": 7,
33 "name": "PostNL service point 0-23kg"
34 },
35 "status":
36 {
37 "id": 1000,
38 "message": "Ready to send"
39 },
40 "to_service_point": 10659026,
41 "telephone": "+31612345678",
42 "tracking_number": "3SYZXG140041526",
43 "weight": "0.005",
44 "label":
45 {
46 "normal_printer":
47 [
48 "https://panel.sendcloud.sc/api/v2/labels/normal_printer/1?start_from=0",
49 "https://panel.sendcloud.sc/api/v2/labels/normal_printer/1?start_from=1",
50 "https://panel.sendcloud.sc/api/v2/labels/normal_printer/1?start_from=2",
51 "https://panel.sendcloud.sc/api/v2/labels/normal_printer/1?start_from=3"
52 ],
53 "label_printer": "https://panel.sendcloud.sc/api/v2/labels/label_printer/1"
54 },
55 "customs_declaration":
56 {},
57 "order_number": "",
58 "insured_value": 0,
59 "total_insured_value": 0,
60 "to_state": null,
61 "customs_invoice_nr": "",
62 "customs_shipment_type": null,
63 "parcel_items":
64 [],
65 "documents":
66 [
67 {
68 "type": "label",
69 "size": "a6",
70 "link": "https://panel.sendcloud.sc/api/v2/parcels/1/documents/label"
71 }
72 ],
73 "type": "parcel",
74 "shipment_uuid": null,
75 "shipping_method": 7,
76 "external_order_id": "1",
77 "external_shipment_id": "",
78 "external_reference": null,
79 "is_return": false,
80 "note": "",
81 "to_post_number": "",
82 "total_order_value": "11.11",
83 "total_order_value_currency": "EUR",
84 "colli_tracking_number": "3SYZXG140041526",
85 "colli_uuid": "d82b77a6-a619-44a7-ae57-7e6b97f75db3",
86 "collo_nr": 0,
87 "collo_count": 1,
88 "awb_tracking_number": null,
89 "box_number": null,
90 "length": null,
91 "width": null,
92 "height": null,
93 "shipping_method_checkout_name": null,
94 "carrier":
95 {
96 "code": "postnl"
97 },
98 "tracking_url": "https://sendcloudfr.shipping-portal.com/tracking/?country=nl&tracking_number=3syzxg140041526&postal_code=5642+cv"
99 }
100 ]
101}