API documentation

Annual data

Read out annual data for 1 location

Data sets with the public holidays and school holidays of a year.

API: Data/CH/PLZ

Chapters:

API: Data/CH/PLZ

Function

Enables queries using Swiss postcodes. Outputs calendar year data (public holidays and school holidays) from 1.01. - 31.12. of a year.
The query also works for postcodes in Liechtenstein.

URL for requests

To retrieve the data, use the following URL. Please pay attention to upper case lower case.

Request parameters

With the following variables you can complete the query and control the API results.

Parameter Explanation Examples
api_key
required

Your API Key

?api_key=abc-123-def-456
PLZ
required
Swiss postcode &PLZ=3013
year
or
jahr

Year of the requested dates

without specification: current calendar year (= default)

&year= 2025
class
or
klasse

Scope of the data

Variants:
0 = school holidays only
3 = 0 + public holidays recognised by law
4 = 0 + 3 + public and non-statutory holidays (religious, cultural) (= default)
5 = 0 + 3 + 4 + event days (e.g. Valentine's Day, Mother's Day, Advent Sundays)

&klasse=5
charset

The desired coding of the response

Variants:
UTF-8 (= default)
ISO-8859-1

&charset=iso-8859-1
format

The desired output format

Variants:
JSON (= default)
XML
CSV

&format=xml
date_format

The desired date format
The format corresponds to the date formatting of the PHP instruction date()

Variants:
Y-m-d = YYYY-MM-DD (ISO-8601) (= default)
d.m.Y = DD.MM.YYYY
Ymd = YYYYMMDD
dmY = DDMMYYYY
d.m.y = DD.MM.YY
j.n.y = D.M.YY

&date_format=d.m.Y
hl

Desired language of the output

Variants:
de = German (= default)
fr = French
it = Italian
en = English

&hl=en

Return values of the API

The contents of the API responses result from:
- the data you have subscribed to (countries, public holidays, school holidays, calendar years)
- the officially known data of the legislators
- the availability based on our research (ACTUAL situation of our database)

Please note that the output in CSV format differs.

Array         Explanation Example
interface         Version of the API  
source: href       URL to the data source (website)  
  description       Name of the data source  
copyright href       URL to the copyright holder (website)  
  description       Designation of the copyright holder  
apiName         Identification of the API Data/CH/PLZ
apiStatus description       Designation of the API status. For variants, see the Error messages active
date         Date of the data export 23.04.2024
request: plz       Swiss postcode 3013
  year       Year of the data in the output 2015
  class       Class of the query (concerns the scope of the data) 4
  charset       Font coding of the output utf-8
  format       Output data format json
  date_format       Output date format d.m.Y
  hl       Language of issue, according to request en
results status description     Output status. For variants, see the Error messages ok
  location description     Designation of the geographical unit Bern
    type     Designation of the type of geographical unit City
    geoId     Geo-ID of the geographical unit. 410
    iso     ISO country code, 2 digits CH
    iso-3166-2     Region code according to ISO 3166-2 CH-BE
    note     Special notes NEW 30.03.2023
    events     The calendar events  
      description   Designation of the public holiday, or school holidays New Year´s Day
      id   Unique ID of the event.
Public holidays have the same ID every year.
School holidays all have their own IDs.
1
      dateStart   Date Start of the event 01.01.2015
      dateEnd   Date end of the event 01.01.2015
      class   Class of the event:

0 = School holidays
1 = official holiday
2 = Public holiday on a par with Sundays
3 = half-holiday (normally starting from noon)
4 = legally not recognized holiday (shops, schools, administrations mostly closed), bank holiday; for the purposes of the European Convention on the Calculation of Time Limits, this day is treated as a public holiday (Art. 5).
5 = event day
# = partially valid
2
      percent   Size of affected residents / school classes in percent 100
      prov   Flag for provisionally set data

0 = definitely
1 = provisional
0
      note   special notes  

Error messages

Output location Error message Explanation
results: status:
results: status: description not subscribed You have not subscribed to the desired data.
Please contact our support.
results: status: description unknown location The requested Swiss postcode is not known.
Please check the parameter PLZ..
apiStatus
apiStatus: description invalid usage The use of this API is not activated for you.
Please contact our support.
apiStatus: description invalid key Invalid API key.
Please check your API key.
apiStatus: description invalid referer Invalid access. Links from web pages (front-ends) are not allowed.
Set up your query so that it comes from a protected back-end.
If necessary, contact our support.
apiStatus: description inactive The API has not yet been activated for you to use.
Please try again at a later date.
apiStatus: description expired The period of use according to the contract has expired.
Contact our administration for a contract extension.

Examples

JSON

URL:
https://feiertagskalender.ch/api/Data/CH/PLZ/?api_key=YOUR_API_KEY&jahr=2015&date_format=d.m.Y&PLZ=3013

Response from the API:

{
	"interface": "fcal API 2.0",
	"source": {
		"href": "https://feiertagskalender.ch",
		"description": "feiertagskalender.ch"
	},
	"copyright": {
		"href": "https://psc.ch",
		"description": "psc Peter Schuetz Informatik-Dienstleistungen, CH Bern"
	},
	"apiName": "Data/CH/PLZ",
	"apiStatus": {
		"description": "active"
	},
	"date": "04.08.2017",
	"request": {
		"plz": "3013",
		"year": "2015",
		"class": "4",
		"charset": "utf-8",
		"format": "json",
		"hl": "de"
	},
	"results": {
		"status": {
			"description": "ok"
		}, {
		"location": {
			"description": "Bern",
			"type": "Stadt",
			"geoId": "410",
			"iso": "CH",
			"iso-3166-2": "CH-BE",
			"events": [{
				"description": "Neujahrstag",
				"id": "1",
				"dateStart": "01.01.2015",
				"dateEnd": "01.01.2015",
				"class": "2",
				"percent": "100",
				"prov": "0",
				"note": null
			}, {
				"description": "Berchtoldstag",
				"id": "3",
				"dateStart": "02.01.2015",
				"dateEnd": "02.01.2015",
				"class": "2",
				"percent": "100",
				"prov": "0",
				"note": null
			}, {
				"description": "Karfreitag",
				"id": "17",
				"dateStart": "03.04.2015",
				"dateEnd": "03.04.2015",
				"class": "2",
				"percent": "100",
				"prov": "0",
				"note": null
			}, {
				"description": "Ostern",
				"id": "18",
				"dateStart": "05.04.2015",
				"dateEnd": "05.04.2015",
				"class": "4",
				"percent": "100",
				"prov": "0",
				"note": null
			}, {
				"description": "Ostermontag",
				"id": "19",
				"dateStart": "06.04.2015",
				"dateEnd": "06.04.2015",
				"class": "2",
				"percent": "100",
				"prov": "0",
				"note": null
			}, {
				"description": "Auffahrt",
				"id": "31",
				"dateStart": "14.05.2015",
				"dateEnd": "14.05.2015",
				"class": "2",
				"percent": "100",
				"prov": "0",
				"note": null
			}, {
				"description": "Pfingsten",
				"id": "30",
				"dateStart": "24.05.2015",
				"dateEnd": "24.05.2015",
				"class": "4",
				"percent": "100",
				"prov": "0",
				"note": null
			}, {
				"description": "Pfingstmontag",
				"id": "35",
				"dateStart": "25.05.2015",
				"dateEnd": "25.05.2015",
				"class": "2",
				"percent": "100",
				"prov": "0",
				"note": null
			}, {
				"description": "Nationalfeiertag Schweiz",
				"id": "12",
				"dateStart": "01.08.2015",
				"dateEnd": "01.08.2015",
				"class": "2",
				"percent": "100",
				"prov": "0",
				"note": null
			}, {
				"description": "Weihnachten",
				"id": "23",
				"dateStart": "25.12.2015",
				"dateEnd": "25.12.2015",
				"class": "2",
				"percent": "100",
				"prov": "0",
				"note": null
			}, {
				"description": "Stephanstag",
				"id": "37",
				"dateStart": "26.12.2015",
				"dateEnd": "26.12.2015",
				"class": "2",
				"percent": "100",
				"prov": "0",
				"note": null
			}, {
				"description": "Winterferien",
				"id": "212582",
				"dateStart": "20.12.2014",
				"dateEnd": "4.01.2015",
				"class": "0",
				"percent": "100",
				"prov": "0",
				"note": null
			}, {
				"description": "Sportferien",
				"id": "220573",
				"dateStart": "31.01.2015",
				"dateEnd": "8.02.2015",
				"class": "0",
				"percent": "100",
				"prov": "0",
				"note": null
			}, {
				"description": "Fr\u00fchlingsferien",
				"id": "212583",
				"dateStart": "3.04.2015",
				"dateEnd": "19.04.2015",
				"class": "0",
				"percent": "100",
				"prov": "0",
				"note": null
			}, {
				"description": "Auffahrtsferien",
				"id": "220574",
				"dateStart": "14.05.2015",
				"dateEnd": "17.05.2015",
				"class": "0",
				"percent": "100",
				"prov": "0",
				"note": null
			}, {
				"description": "Sommerferien",
				"id": "212584",
				"dateStart": "4.07.2015",
				"dateEnd": "9.08.2015",
				"class": "0",
				"percent": "100",
				"prov": "0",
				"note": null
			}, {
				"description": "Herbstferien",
				"id": "212585",
				"dateStart": "19.09.2015",
				"dateEnd": "11.10.2015",
				"class": "0",
				"percent": "100",
				"prov": "0",
				"note": null
			}, {
				"description": "Winterferien",
				"id": "421836",
				"dateStart": "25.12.2015",
				"dateEnd": "10.01.2016",
				"class": "0",
				"percent": "100",
				"prov": "0",
				"note": null
			}]
		}
	}
}					

XML

URL:
https://feiertagskalender.ch/api/Data/CH/PLZ/?api_key=YOUR_API_KEY&charset=ISO-8859-1&date_format=d.m.Y&PLZ=3013&jahr=2015&format=xml

Response from the API:

<fcal_api>
	<interface>fcal API 2.0</interface>
	<source>
		<href>https://feiertagskalender.ch</href>
		<description>feiertagskalender.ch</description>
	</source>
	<copyright>
		<href>https://psc.ch</href>
		<description>psc Peter Schuetz Informatik-Dienstleistungen, CH Bern</description>
	</copyright>
	<apiStatus>
		<description>active</description>
	</apiStatus>
	<apiName>Data/CH/PLZ</apiName>		
	<date>04.08.2017</date>
	<request>
		<plz>3013</plz>
		<year>2015</year>
		<class>4</class>
		<charset>utf-8</charset>
		<format>xml</format>
		<hl>de</hl>
	</request>
	<results>
		<status>
			<description>ok</description>
		</status>	
		<location>			
			<description>Bern</description>
			<type>Stadt</type>
			<geoId>410</geoId>
			<iso>CH</iso>
			<iso-3166-2>CH-BE</iso-3166-2>
			<events>
				<event>
					<description>Neujahrstag</description>
					<id>1</id>
					<dateStart>01.01.2015</dateStart>
					<dateEnd>01.01.2015</dateEnd>
					<class>2</class>
					<percent>100</percent>
					<prov>0</prov>
					<note></note>
				</event>
				<event>
					<description>Berchtoldstag</description>
					<id>3</id>
					<dateStart>02.01.2015</dateStart>
					<dateEnd>02.01.2015</dateEnd>
					<class>2</class>
					<percent>100</percent>
					<prov>0</prov>
					<note></note>
				</event>
				<event>
					<description>Karfreitag</description>
					<id>17</id>
					<dateStart>03.04.2015</dateStart>
					<dateEnd>03.04.2015</dateEnd>
					<class>2</class>
					<percent>100</percent>
					<prov>0</prov>
					<note></note>
				</event>
				<event>
					<description>Ostern</description>
					<id>18</id>
					<dateStart>05.04.2015</dateStart>
					<dateEnd>05.04.2015</dateEnd>
					<class>4</class>
					<percent>100</percent>
					<prov>0</prov>
					<note></note>
				</event>
				<event>
					<description>Ostermontag</description>
					<id>19</id>
					<dateStart>06.04.2015</dateStart>
					<dateEnd>06.04.2015</dateEnd>
					<class>2</class>
					<percent>100</percent>
					<prov>0</prov>
					<note></note>
				</event>
				<event>
					<description>Auffahrt</description>
					<id>31</id>
					<dateStart>14.05.2015</dateStart>
					<dateEnd>14.05.2015</dateEnd>
					<class>2</class>
					<percent>100</percent>
					<prov>0</prov>
					<note></note>
				</event>
				<event>
					<description>Pfingsten</description>
					<id>30</id>
					<dateStart>24.05.2015</dateStart>
					<dateEnd>24.05.2015</dateEnd>
					<class>4</class>
					<percent>100</percent>
					<prov>0</prov>
					<note></note>
				</event>
				<event>
					<description>Pfingstmontag</description>
					<id>35</id>
					<dateStart>25.05.2015</dateStart>
					<dateEnd>25.05.2015</dateEnd>
					<class>2</class>
					<percent>100</percent>
					<prov>0</prov>
					<note></note>
				</event>
				<event>
					<description>Nationalfeiertag Schweiz</description>
					<id>12</id>
					<dateStart>01.08.2015</dateStart>
					<dateEnd>01.08.2015</dateEnd>
					<class>2</class>
					<percent>100</percent>
					<prov>0</prov>
					<note></note>
				</event>
				<event>
					<description>Weihnachten</description>
					<id>23</id>
					<dateStart>25.12.2015</dateStart>
					<dateEnd>25.12.2015</dateEnd>
					<class>2</class>
					<percent>100</percent>
					<prov>0</prov>
					<note></note>
				</event>
				<event>
					<description>Stephanstag</description>
					<id>37</id>
					<dateStart>26.12.2015</dateStart>
					<dateEnd>26.12.2015</dateEnd>
					<class>2</class>
					<percent>100</percent>
					<prov>0</prov>
					<note></note>
				</event>
				<event>
					<description>Winterferien</description>
					<id>212582</id>
					<dateStart>20.12.2014</dateStart>
					<dateEnd>4.01.2015</dateEnd>
					<class>0</class>
					<percent>100</percent>
					<prov>0</prov>
					<note></note>
				</event>
				<event>
					<description>Sportferien</description>
					<id>220573</id>
					<dateStart>31.01.2015</dateStart>
					<dateEnd>8.02.2015</dateEnd>
					<class>0</class>
					<percent>100</percent>
					<prov>0</prov>
					<note></note>
				</event>
				<event>
					<description>Frühlingsferien</description>
					<id>212583</id>
					<dateStart>3.04.2015</dateStart>
					<dateEnd>19.04.2015</dateEnd>
					<class>0</class>
					<percent>100</percent>
					<prov>0</prov>
					<note></note>
				</event>
				<event>
					<description>Auffahrtsferien</description>
					<id>220574</id>
					<dateStart>14.05.2015</dateStart>
					<dateEnd>17.05.2015</dateEnd>
					<class>0</class>
					<percent>100</percent>
					<prov>0</prov>
					<note></note>
				</event>
				<event>
					<description>Sommerferien</description>
					<id>212584</id>
					<dateStart>4.07.2015</dateStart>
					<dateEnd>9.08.2015</dateEnd>
					<class>0</class>
					<percent>100</percent>
					<prov>0</prov>
					<note></note>
				</event>
				<event>
					<description>Herbstferien</description>
					<id>212585</id>
					<dateStart>19.09.2015</dateStart>
					<dateEnd>11.10.2015</dateEnd>
					<class>0</class>
					<percent>100</percent>
					<prov>0</prov>
					<note></note>
				</event>
				<event>
					<description>Winterferien</description>
					<id>421836</id>
					<dateStart>25.12.2015</dateStart>
					<dateEnd>10.01.2016</dateEnd>
					<class>0</class>
					<percent>100</percent>
					<prov>0</prov>
					<note></note>
				</event>
			</events>
		</location>
	</results>
</fcal_api>                  

CSV

URL:
https://feiertagskalender.ch/api/Data/CH/PLZ/?api_key=YOUR_API_KEY&charset=iso-8859-1&date_format=d.m.Y&PLZ=3013&jahr=2015&format=csv

Response from the API:

"location";"plz";"bfs";"description";"id";"dateStart";"dateEnd";"class";"percent";"prov";"note"
"Bern";"3013";"351";"Neujahrstag";"1";"01.01.2015";"01.01.2015";"2";"100";"0";""
"Bern";"3013";"351";"Berchtoldstag";"3";"02.01.2015";"02.01.2015";"2";"100";"0";""
"Bern";"3013";"351";"Karfreitag";"17";"03.04.2015";"03.04.2015";"2";"100";"0";""
"Bern";"3013";"351";"Ostern";"18";"05.04.2015";"05.04.2015";"4";"100";"0";""
"Bern";"3013";"351";"Ostermontag";"19";"06.04.2015";"06.04.2015";"2";"100";"0";""
"Bern";"3013";"351";"Auffahrt";"31";"14.05.2015";"14.05.2015";"2";"100";"0";""
"Bern";"3013";"351";"Pfingsten";"30";"24.05.2015";"24.05.2015";"4";"100";"0";""
"Bern";"3013";"351";"Pfingstmontag";"35";"25.05.2015";"25.05.2015";"2";"100";"0";""
"Bern";"3013";"351";"Nationalfeiertag Schweiz";"12";"01.08.2015";"01.08.2015";"2";"100";"0";""
"Bern";"3013";"351";"Weihnachten";"23";"25.12.2015";"25.12.2015";"2";"100";"0";""
"Bern";"3013";"351";"Stephanstag";"37";"26.12.2015";"26.12.2015";"2";"100";"0";""
"Bern";"3013";"351";"Winterferien";"212582";"20.12.2014";"4.01.2015";"0";"100";"0";""
"Bern";"3013";"351";"Sportferien";"220573";"31.01.2015";"8.02.2015";"0";"100";"0";""
"Bern";"3013";"351";"Frühlingsferien";"212583";"3.04.2015";"19.04.2015";"0";"100";"0";""
"Bern";"3013";"351";"Auffahrtsferien";"220574";"14.05.2015";"17.05.2015";"0";"100";"0";""
"Bern";"3013";"351";"Sommerferien";"212584";"4.07.2015";"9.08.2015";"0";"100";"0";""
"Bern";"3013";"351";"Herbstferien";"212585";"19.09.2015";"11.10.2015";"0";"100";"0";""
"Bern";"3013";"351";"Winterferien";"421836";"25.12.2015";"10.01.2016";"0";"100";"0";""