Koskamo

Swiss Living Index MCP

An official MCP server providing read-only access to comprehensive Swiss data across 26 cantons and 2,100 communes. It enables AI agents to query metrics on taxes, rent, health premiums, fuel, jobs, politics, and environment, sourced directly from official Swiss entities like BFS and ESTV.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

Swiss Living Index MCP logo, by CBI SoftwareVendor evidenceStreamable HTTPNo sign-inEndpoint checked 2026-11-07Operated by CBI Software
MCP endpoint (Streamable HTTP)
https://swisslivingindex.ch/mcp
Vendor documentation

What its tools do

72 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.

72 of 72 have a description · 72 of 72 declare behavior hints · 65 of 65 with parameters document them all

Checks and signals

Each line is separate evidence, not a trust score.

  • Passed Endpoint answered the live check ·
  • Passed Official MCP Registry namespace is tied to swisslivingindex.ch ·
  • Passed Endpoint is on the registry namespace domain ·
  • Availability 1 of 1 checks passed in 30 days

What you can do with it

  • Compare cost of living across Swiss cantons
  • Calculate health insurance premiums by commune
  • Retrieve federal vote results and parliament data
  • Access tax deadlines and pension information

Source and maintenance

Vendor evidenceRegistry 1.52.0

Protocol and capabilities

Server
swiss-living-index 1.52.0
MCP protocol negotiated in check
2025-06-18
Tools
72 advertised
Resources
192 advertised
Resource templates
1 advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": false
  },
  "resources": {
    "listChanged": false
  }
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

Swiss Living Index: official Swiss data for the 26 cantons and about 2,100 communes (taxes, rents, health insurance premiums, salaries, permits, naturalisation, pensions, votes and parliament, holidays, fuel, electricity, EV charging). Every figure comes from an official Swiss source (FSO/BFS, ESTV, FOPH, SEM, SNB, ElCom, SFOE, MeteoSwiss, Parliamentary Services, cantons and communes) and carries its source and year. Choosing tools: one canton → get_canton; 2 to 4 cantons → compare_cantons; all cantons by one figure → rank_by_metric (keys from list_metrics); one commune → get_commune. Tax for one household → commune_tax; tax on CHF 100,000 across communes → tax_by_commune; a move between communes → plan_move (estimate_net_move for the money only). Health insurance: compare_health_insurers, cheapest_health_insurer, health_deductible_advice. Permits: which_permit first. Anything else: list_datasets then get_dataset. Personal questions («how much will I get / pay», «can I …»): call the matching tool FIRST, with no arguments if you know none, BEFORE asking the user anything (never ask for details first); it returns the official figures and, where your answer depends on the person, questions_to_ask. Give the official figures, then ask those questions in the user's language; when the user answers, call the tool again with the answers. Pass only parameters the user actually gave. For any figure about Switzerland (pensions, taxes, premiums, salaries, rents, holidays, votes, weather hazards, shop hours, fees) call a tool instead of answering from memory: the values change every year and the tools carry the official current ones. Places: communes by name, BFS number or postcode («8001 Zürich» and «Basel (BS)» work); cantons by 2-letter code (ZH, GE, TI). Amounts are CHF unless stated. When answering, cite the source and year given in the result, link the page field when present, and credit «Swiss Living Index» (CC BY 4.0). The data is information, not tax, legal or immigration advice. Pages exist in German, French, Italian and English. Technology: CBI Software · advisory: Mirabello Consultancy. Today is 2026-11-07.

Tools

72 advertised

list_metrics — List canton metrics
Advertised by the server during the last successful anonymous check.
Advertised read-only

List every metric available for the 26 Swiss cantons: key, label, unit, official source and whether higher or lower is better. Call this first to find the metric key for rank_by_metric, get_canton or get_trend.

list_metrics input schema
{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
list_metrics output schema
{
  "type": "object",
  "properties": {
    "attribution": {
      "type": "string"
    }
  }
}
list_metrics annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
rent_index — Rent index by canton
Advertised by the server during the last successful anonymous check.
Advertised read-only

Rent index per Swiss canton: BFS average rent of occupied rented flats (structural survey, existing rents, not asking rents) by canton and number of rooms with the 95% confidence interval, 2010 onwards, plus a size-standardised rent (DERIVED by Swiss Living Index: each canton weighted with one fixed Swiss mix of dwellings by rooms) as a level index (Switzerland = 100) and change index (first year = 100), growth over 5 years and since 2010, vacancy rate and the national CPI rent index. With canton: its full yearly series; without: all cantons ranked. Also the rent statistics Basel-Stadt (quarterly rent index, year-on-year), Geneva (rent index since 1995 and average rent by rooms; Geneva counts the kitchen as a room) and the city of Zurich (median and mean net rent for 2, 3 and 4 rooms, non-profit vs other, every two years) publish themselves, each with its own definition and licence.

rent_index input schema
{
  "type": "object",
  "properties": {
    "canton": {
      "type": "string",
      "description": "2-letter abbreviation, optional"
    }
  },
  "additionalProperties": false
}
rent_index output schema
{
  "type": "object",
  "properties": {
    "attribution": {
      "type": "string"
    }
  }
}
rent_index annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
ahv_pension — AHV old-age pension
Advertised by the server during the last successful anonymous check.
Advertised read-only

Swiss AHV/AVS old-age pension (1st pillar, AHV-Rente, rente AVS, rendita AVS). ALWAYS call this for any question about the state pension, including «how much AHV pension will I get?»: never answer a personal amount from memory. Returns the official minimum and maximum (2026, 2027), the 13th pension, reference age, early withdrawal and deferral rates, and a PERSONAL ESTIMATE computed with the law (AHVG Art. 34 formula, partial-pension scale, income splitting for married couples, child-rearing credits, couple cap, AHV 21 supplements). Pass ONLY values the user stated (never guess income, birth year, sex or retirement age). Without average_income it returns questions_to_ask: ask the user those, then call again with the answers. For pillar 3a or pension-fund figures use pension_figures; for tax on a lump-sum withdrawal capital_withdrawal_tax.

ahv_pension input schema
{
  "type": "object",
  "properties": {
    "age": {
      "type": "integer",
      "description": "Current age in years, e.g. 55 (use when the user gives an age, not a birth year)."
    },
    "sex": {
      "enum": [
        "female",
        "male"
      ],
      "type": "string",
      "description": "female or male (reference age, AHV 21 supplement)."
    },
    "canton": {
      "type": "string",
      "description": "2-letter abbreviation, optional: that canton's pension statistics"
    },
    "months": {
      "type": "number",
      "description": "months with an old-age pension in the year, 1 to 12, default 12"
    },
    "married": {
      "type": "boolean",
      "description": "true if married or in a registered partnership."
    },
    "birth_year": {
      "type": "integer",
      "description": "Year of birth, e.g. 1968 (only if the user gave it)."
    },
    "statistics": {
      "type": "boolean",
      "description": "true to add the average pension of every canton."
    },
    "years_married": {
      "type": "number",
      "description": "Contribution years spent married, e.g. 25; omit if not stated."
    },
    "average_income": {
      "type": "number",
      "description": "This person’s OWN average gross yearly income in Switzerland over the working life (AHV-liable, today’s CHF), e.g. 85000. A combined household income must be split between the spouses."
    },
    "children_years": {
      "type": "number",
      "description": "Years with a child under 16 (child-rearing credits), e.g. 16."
    },
    "retirement_age": {
      "type": "number",
      "maximum": 70,
      "minimum": 62,
      "description": "Planned pension start age, e.g. 64 (early) or 67 (deferred)."
    },
    "monthly_pension": {
      "type": "number",
      "description": "monthly old-age pension in CHF, optional"
    },
    "contribution_years": {
      "type": "number",
      "description": "TOTAL AHV contribution years at retirement, including the years still to come (age 21 to retirement; 44 = complete, no gaps). A 55-year-old with no gaps who works to 65 has 44, not 34. Omit if unknown."
    },
    "spouse_average_income": {
      "type": "number",
      "description": "Spouse’s average gross yearly income, today’s CHF, e.g. 40000."
    },
    "spouse_contribution_years": {
      "type": "number",
      "description": "Spouse’s full contribution years, e.g. 44."
    }
  },
  "additionalProperties": false
}
ahv_pension output schema
{
  "type": "object",
  "properties": {
    "attribution": {
      "type": "string"
    }
  }
}
ahv_pension annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
school_holidays — School holidays by canton
Advertised by the server during the last successful anonymous check.
Advertised read-only

School holidays of the compulsory schools (Volksschule) in the 26 Swiss cantons for the current and next school year, read from each canton's own sources (not the EDK list): autumn, Christmas, sports/carnival, spring/Easter as first and last weekday off, summer start, who sets the dates (whole canton, region of the capital, canton and communes, or communes), source links, a calendar file (.ics) per canton, and which cantons are on holiday this week. With canton: that canton; without: all.

school_holidays input schema
{
  "type": "object",
  "properties": {
    "canton": {
      "type": "string",
      "description": "2-letter abbreviation, optional"
    }
  },
  "additionalProperties": false
}
school_holidays output schema
{
  "type": "object",
  "properties": {
    "attribution": {
      "type": "string"
    }
  }
}
school_holidays annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
tax_deadlines — Tax return deadlines
Advertised by the server during the last successful anonymous check.
Advertised read-only

Tax return filing rules for natural persons in the 26 Swiss cantons, read from each cantonal tax administration: ordinary filing deadline (or that the date printed on the return applies), deadline for the self-employed, free extension until, latest extension, extension fee, the online extension link, and the cantonal wording with source links. Rules of the current tax year; the cantons publish the next year in January/February. The date on the tax return is binding.

tax_deadlines input schema
{
  "type": "object",
  "properties": {
    "canton": {
      "type": "string",
      "description": "2-letter abbreviation, optional"
    }
  },
  "additionalProperties": false
}
tax_deadlines annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
pollen — Pollen levels
Advertised by the server during the last successful anonymous check.
Advertised read-only

Pollen in Switzerland from the MeteoSwiss pollen network (open data, CC BY 4.0; credit «Source: MeteoSwiss»): daily mean concentration (grains per m³, 6 to 6 UTC) of hazel, alder, birch, ash, beech, oak and grasses at the 15 stations for the last 14 days, and a pollen calendar derived from the last ten complete years (weekly means, main season, peak week). With canton (2-letter code): its nearest station; without: every station plus the national calendar by month.

pollen input schema
{
  "type": "object",
  "properties": {
    "canton": {
      "type": "string",
      "description": "2-letter abbreviation, optional"
    }
  },
  "additionalProperties": false
}
pollen annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
federal_votes — Federal vote results
Advertised by the server during the last successful anonymous check.
Advertised read-only

Results of every Swiss federal vote since 1981 (FSO open data; official titles in DE FR IT RM EN): without arguments the list of vote days with every proposal and its national result (yes %, turnout, cantons for and against, accepted); with date (YYYY-MM-DD) that day with the result of every canton; with date and commune (name or BFS number) or canton the result there; with commune alone that commune's results of the latest votes. Communes in today's boundaries (mapped by the FSO).

federal_votes input schema
{
  "type": "object",
  "properties": {
    "date": {
      "type": "string",
      "description": "vote day YYYY-MM-DD, optional"
    },
    "canton": {
      "type": "string",
      "description": "2-letter abbreviation, optional"
    },
    "commune": {
      "type": "string",
      "description": "commune name or BFS number, optional"
    }
  },
  "additionalProperties": false
}
federal_votes output schema
{
  "type": "object",
  "properties": {
    "attribution": {
      "type": "string"
    }
  }
}
federal_votes annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
parliament_member — Federal Parliament members
Advertised by the server during the last successful anonymous check.
Advertised read-only

Members of the Swiss Federal Parliament (National Council 200, Council of States 46) from the Parliamentary Services' open data web service ws.parlament.ch, refreshed daily: council, canton, party, parliamentary group and function, seat number, career in both chambers since joining, year and place of birth as published (never the full date), occupations with employer, mandates, committees and delegations with function, declared interests (Art. 11 Parliament Act: organisation, legal form, body, function, paid or unpaid), the official e-mail address and own website shown on the parlament.ch profile, and social media accounts the member links from their own website (only accounts whose handle carries the member's name). With name (or part of it) or id: matching members in full; with canton, council (NR or SR) or party (abbreviation) only: the matching list. Neutral facts only: no ratings.

parliament_member input schema
{
  "type": "object",
  "properties": {
    "id": {
      "type": "integer",
      "description": "parlament.ch person number, optional"
    },
    "lang": {
      "type": "string",
      "description": "de, fr or it for committee and interest labels (default de)"
    },
    "name": {
      "type": "string",
      "description": "name or part of it, optional"
    },
    "party": {
      "type": "string",
      "description": "party abbreviation (e.g. SP, SVP, FDP-Liberale, M-E, GRÜNE, glp), optional"
    },
    "canton": {
      "type": "string",
      "description": "2-letter abbreviation, optional"
    },
    "council": {
      "type": "string",
      "description": "NR or SR, optional"
    }
  },
  "additionalProperties": false
}
parliament_member annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
parliament_vote — National Council votes
Advertised by the server during the last successful anonymous check.
Advertised read-only

Votes of the Swiss National Council since 2007 (legislatures 48–52; Parliamentary Services, ws.parlament.ch; current legislature daily): every electronic vote with business number and title, bill, subject, what yes and no meant, time, totals (yes, no, abstain, excused, did not vote, presiding) and totals per parliamentary group. Without arguments: the final votes (Schlussabstimmungen) with result. With query (words of the title) or business (e.g. 26.033): matching votes. With id: that vote in full incl. how every member voted and the totals per canton. With member (name): add that member's decision to each listed vote. The Council of States' individual votes are not in the data service. For a popular initiative the final vote is on the federal decree carrying the recommendation, not on the initiative itself.

parliament_vote input schema
{
  "type": "object",
  "properties": {
    "id": {
      "type": "integer",
      "description": "vote id, optional"
    },
    "query": {
      "type": "string",
      "description": "words of the title, optional"
    },
    "member": {
      "type": "string",
      "description": "member name, optional"
    },
    "business": {
      "type": "string",
      "description": "business number like 26.033, optional"
    },
    "final_only": {
      "type": "boolean",
      "description": "only final votes (default true without id/query/business)"
    },
    "legislature": {
      "type": "integer",
      "description": "limit a search to one legislature (52 = 2023–2027, 51 = 2019–2023, 50, 49, 48 = 2007–2011); default: all downloaded"
    }
  },
  "additionalProperties": false
}
parliament_vote annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
parliament_and_people — Parliament vs popular vote
Advertised by the server during the last successful anonymous check.
Advertised read-only

Parliament next to the people: for every National Council final vote of the current legislature whose bill later went to a popular vote, the chamber's result (yes, no, abstain, by group) next to the national popular result (yes %, accepted). Matched only on the exact title (the initiative title in «…», or the act title without «vom <date>»); unmatched items are left out rather than guessed. For an initiative a yes in the chamber is a yes to the federal decree with its recommendation, not to the initiative. Commune and canton results: federal_votes with the date.

parliament_and_people input schema
{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
parliament_and_people annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
parliament_session — Parliament sessions
Advertised by the server during the last successful anonymous check.
Advertised read-only

Sessions of the Swiss Parliament in the current legislature (Parliamentary Services, ws.parlament.ch): dates, sittings of each chamber, number of speeches, speaking time in total and by parliamentary group per chamber (Federal Council separately), the items debated longest, and the final votes of the session. Without session: the list of sessions. Speaking time = end minus start of each speech in the Official Bulletin, without remarks from the chair.

parliament_session input schema
{
  "type": "object",
  "properties": {
    "session": {
      "type": "integer",
      "description": "session id (e.g. 5215), optional"
    }
  },
  "additionalProperties": false
}
parliament_session annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
parliament_business — Parliamentary item history
Advertised by the server during the last successful anonymous check.
Advertised read-only

The path of a Swiss parliamentary item (Geschäft) that reached a National Council final vote in the current legislature: title, type, responsible department, submission date, topics, the dated status history (submitted, in committee, planned, final vote, done), the debate days in each chamber with number of speeches and speaking time and the link to the Official Bulletin, the final vote result and, where it went to the people, the popular vote. Find it by business number (e.g. 26.033) or by words of the title.

parliament_business input schema
{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "words of the title, optional"
    },
    "business": {
      "type": "string",
      "description": "business number like 26.033, optional"
    }
  },
  "additionalProperties": false
}
parliament_business annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
search_speeches — Search parliament speeches
Advertised by the server during the last successful anonymous check.
Advertised read-only

Search speeches in the Swiss Parliament (both chambers, current legislature, Official Bulletin index): who spoke, in which council, when, for how long, on which item, with a link to the bulletin. Filter by speaker, business number, session or date. For what a whole session dealt with (dates, sittings, longest debates, final votes) use parliament_session.

search_speeches input schema
{
  "type": "object",
  "properties": {
    "date": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "Day of the sitting as YYYY-MM-DD, e.g. \"2026-09-15\"."
    },
    "session": {
      "type": "integer",
      "description": "Session id from parliament_session, e.g. 5206; omit for all sessions."
    },
    "speaker": {
      "type": "string",
      "description": "Name of the member of parliament who spoke, e.g. \"Pfister\" or \"Gerhard Pfister\"."
    },
    "business": {
      "type": "string",
      "description": "Business number of the item, e.g. \"26.033\"."
    }
  },
  "additionalProperties": false
}
search_speeches annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
election_results — National Council elections
Advertised by the server during the last successful anonymous check.
Advertised read-only

Swiss National Council elections from the Federal Statistical Office (open data): for the latest election (2023) party strength in per cent of the vote with the change since the previous election, seats, women elected and turnout for Switzerland, every canton and every commune (communes in the boundaries SLI uses; merged communes add up the votes of their former communes, recomputed exactly); plus party strength and seats since 1991 for Switzerland and the cantons. With commune (name or BFS number), canton (2-letter code) or neither (Switzerland). history=true adds the series since 1991. Parties are shown as published (CVP and BDP until 2019, Die Mitte from 2023).

election_results input schema
{
  "type": "object",
  "properties": {
    "canton": {
      "type": "string",
      "description": "2-letter abbreviation, optional"
    },
    "commune": {
      "type": "string",
      "description": "commune name or BFS number, optional"
    },
    "history": {
      "type": "boolean",
      "description": "include the series since 1991 (Switzerland or canton)"
    }
  },
  "additionalProperties": false
}
election_results annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
cantonal_parliament — Cantonal parliaments
Advertised by the server during the last successful anonymous check.
Advertised read-only

Cantonal parliaments that publish members and every individual vote as open data: Basel-Stadt (data.bs.ch, CC BY 4.0, 100 seats, votes since 2012), Bern (ogd.parl.apps.be.ch, 160 seats, votes since Nov 2022) and Thurgau (data.tg.ch, CC0, 130 seats, votes since Oct 2022), daily: the members with parliamentary group, party, constituency, seat, year of birth, occupation, employer, own homepage, committees, declared interests and voting record in the current legislature (participation, agreement with the own group); plus the latest 200 votes with totals per group. With name: matching members in full; without: the list and the statistics. No addresses.

cantonal_parliament input schema
{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "member name or part of it, optional"
    },
    "votes": {
      "type": "boolean",
      "description": "include the latest votes"
    },
    "canton": {
      "enum": [
        "BS",
        "BE",
        "TG"
      ],
      "type": "string",
      "description": "BS (Basel-Stadt), BE (Bern) or TG (Thurgau): the cantonal parliaments that publish every vote as open data."
    }
  },
  "additionalProperties": false
}
cantonal_parliament annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
canton_delegation — Canton delegation in Bern
Advertised by the server during the last successful anonymous check.
Advertised read-only

The members a Swiss canton sends to the Federal Parliament (its National Council seats and its one or two Council of States members), each with party, parliamentary group, seat number, year of birth and profile links; plus the delegation's count by group and by gender. Official source: Parliamentary Services, ws.parlament.ch (daily).

canton_delegation input schema
{
  "type": "object",
  "required": [
    "canton"
  ],
  "properties": {
    "canton": {
      "type": "string",
      "description": "2-letter abbreviation"
    }
  },
  "additionalProperties": false
}
canton_delegation annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
sunday_shopping — Sunday shopping rules
Advertised by the server during the last successful anonymous check.
Advertised read-only

Sunday shopping and shop opening hours in the 26 Swiss cantons from the official law texts (re-checked weekly): how many Sundays all shops may open per year (federal Labour Act: at most four without a permit, each canton decides), who decides (canton or commune), weekday and Saturday closing times, Advent rules, tourist-place exceptions, the law with its URL and a verbatim quote. Shops in large stations, airports and motorway service areas may open every Sunday (federal law). With canton (2-letter code): that canton.

sunday_shopping input schema
{
  "type": "object",
  "properties": {
    "canton": {
      "type": "string",
      "description": "2-letter abbreviation, optional"
    }
  },
  "additionalProperties": false
}
sunday_shopping annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
immigration_reasons — Reasons for immigration
Advertised by the server during the last successful anonymous check.
Advertised read-only

Why foreign nationals move to Switzerland: immigration into the permanent foreign resident population (permits B, C and L of 12 months or more) by reason (employment within / outside quotas, family reunification, education and training, residence without employment, recognised refugees, hardship case and residence status after an asylum procedure, other), per year since 2008, for Switzerland, EU/EFTA vs third countries, the 26 cantons (canton of residence) and about 180 nationalities. Official source: State Secretariat for Migration SEM, foreigner statistics table 3-30 (ZEMIS). SEM totals differ slightly from the FSO (STATPOP) migration figures by design. Asylum seekers are not included (see asylum_statistics).

immigration_reasons input schema
{
  "type": "object",
  "properties": {
    "year": {
      "type": "integer",
      "description": "year 2008 onwards (default: latest)"
    },
    "canton": {
      "type": "string",
      "description": "2-letter canton code, e.g. ZH"
    },
    "history": {
      "type": "boolean",
      "description": "include the Swiss totals for every year (default false)"
    },
    "nationality": {
      "type": "string",
      "description": "country name in German as published by SEM, or its English, French or Italian name, e.g. Germany / Deutschland"
    }
  },
  "additionalProperties": false
}
immigration_reasons annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
mortgage_rates — Mortgage and SNB rates
Advertised by the server during the last successful anonymous check.
Advertised read-only

Swiss National Bank policy rate (current, since when, every change since June 2019), SARON, and the average interest rates Swiss banks publish for new mortgages at month end (SNB data portal): variable, fixed 2 / 5 / 10 years, SARON 3 years, with 0.25 quantile, median and 0.75 quantile across banks, monthly series since 2007; plus savings and pillar 3a rates. For rents the BWO reference rate applies (get_reference_rate). Information only, not financial advice.

mortgage_rates input schema
{
  "type": "object",
  "properties": {
    "history": {
      "type": "boolean",
      "description": "include the monthly mean series (default false)"
    }
  },
  "additionalProperties": false
}
mortgage_rates output schema
{
  "type": "object",
  "properties": {
    "attribution": {
      "type": "string"
    }
  }
}
mortgage_rates annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
dog_tax — Dog tax by commune
Advertised by the server during the last successful anonymous check.
Advertised read-only

Yearly dog tax per Swiss commune from official sources where a canton has a uniform rate or publishes every commune: Vaud (cantonal CHF 100 plus each commune's tax), Lucerne and Aargau (CHF 120 everywhere), Basel-Stadt (CHF 160 / 150 / 120, each further dog double), Basel-Landschaft (each commune), Geneva (cantonal CHF 50 plus the commune's surcharge plus CHF 5 fees). With commune (name or BFS number): that commune; without: all covered communes. Other cantons are not covered.

dog_tax input schema
{
  "type": "object",
  "properties": {
    "commune": {
      "type": "string",
      "description": "commune name or BFS number, optional"
    }
  },
  "additionalProperties": false
}
dog_tax annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
waste_fees — Waste fees by commune
Advertised by the server during the last successful anonymous check.
Advertised read-only

Waste, water and wastewater fees of Swiss communes. Official open data where the canton publishes every commune: canton of Zurich (all communes, since 2000: yearly basic fee converted to a 4-room flat and price per 35-litre bag) and Basel-Landschaft (bag price, basic fee per household, water and wastewater per m³). Plus, for about 380 larger communes in every canton, the federal Price Supervisor's yearly water, wastewater and waste fees for three model households (1, 3 and 4 persons), shown with its consent and its source note. CHF incl. VAT. With commune (name, BFS number or postcode): that commune; without: every ZH/BL commune's latest values.

waste_fees input schema
{
  "type": "object",
  "properties": {
    "commune": {
      "type": "string",
      "description": "commune name or BFS number, optional"
    }
  },
  "additionalProperties": false
}
waste_fees annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
how_many — How many in Switzerland
Advertised by the server during the last successful anonymous check.
Advertised read-only

Official answers to «How many … are there in Switzerland?» (the questions that reach Google Switzerland's top 10 every year): cantons, communes and districts (BFS commune register, per canton), permanent residents and foreign nationals (BFS STATPOP), Swiss abroad, cows, dairy cows and cattle (BFS farm structure survey), museums and visits, hydropower plants of at least 300 kW (BFE), hospitals and beds, main languages, taxpayers with net wealth over CHF 1 million (ESTV), foreign enclaves, the geographic centre, and protected AOP cheeses (no official count of cheese varieties exists). Each answer has its date and federal source. With topic: only that answer.

how_many input schema
{
  "type": "object",
  "properties": {
    "topic": {
      "type": "string",
      "description": "optional: register, population, swiss_abroad, cattle, museums, hydropower, hospitals, languages, millionaires, enclaves, centre, cheese"
    }
  },
  "additionalProperties": false
}
how_many annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
imputed_rental_value — Imputed rental value abolition
Advertised by the server during the last successful anonymous check.
Advertised read-only

Abolition of the imputed rental value (Eigenmietwert, valeur locative) on owner-occupied homes in Switzerland: in force 1 January 2029 (Federal Council decision of 1 April 2026); timeline from the 2017 parliamentary initiative to entry into force, the changes for owners as the federal administration states them (maintenance and debt interest deductions, first-time buyer deduction, cantonal tax on second homes), and the official result of the linked vote of 28 September 2025 (FSO VoteInfo: Switzerland, every canton; with commune: that commune), the status of each canton on the optional tax on second homes and on implementing the reform (official cantonal sources, re-checked weekly), and how each canton sets the imputed rental value until the end of 2028 (ESTV). Information only, not tax advice.

imputed_rental_value input schema
{
  "type": "object",
  "properties": {
    "canton": {
      "type": "string",
      "description": "2-letter abbreviation, optional"
    },
    "commune": {
      "type": "string",
      "description": "commune name or BFS number, optional"
    }
  },
  "additionalProperties": false
}
imputed_rental_value annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
fire_danger — Forest fire danger
Advertised by the server during the last successful anonymous check.
Advertised read-only

Forest fire danger and fire bans in Switzerland from FOEN open data (waldbrandgefahr.ch; credit «Source: FOEN»): for each of the 143 warning regions the danger level 1–5 and the canton's prevention measure 1–5 (no measures, warning, conditional ban, ban in and near the forest, absolute ban outdoors) with texts in DE FR IT EN and the date in force. With canton (2-letter code): that canton's regions and its highest danger and strictest measure; without: every canton summary. Bans issued by communes and fireworks rules (e.g. 1 August) are decided by cantons and communes and are not in this data.

fire_danger input schema
{
  "type": "object",
  "properties": {
    "canton": {
      "type": "string",
      "description": "2-letter abbreviation, optional"
    }
  },
  "additionalProperties": false
}
fire_danger annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
water_temperature — Water temperatures
Advertised by the server during the last successful anonymous check.
Advertised read-only

Water temperature in Switzerland: every FOEN river station measuring water temperature (raw data, latest reading, and where FOEN publishes it usual_c = median for this calendar day over the station's measuring years with usual_p25_c/usual_p75_c; credit «Surface waters data: Hydrology Division, FOEN»), the three river stations at the outflows of Lake Thun, Lake Geneva and Lake Lucerne (labelled as outflows, FOEN measures no lakes), Lake Zurich from the two City of Zurich water police stations with the last 14 daily means and the typical value for this calendar week (mean over all full years since 2007, calculated by the Swiss Living Index), and Zurich city bath temperatures reported in the last 7 days. Also bathing water quality: the FOEN classification of every reported bathing site (EU Bathing Water Directive, 1 excellent, 2 good, 3 sufficient, 4 poor, 0 not classifiable; credit «Source: FOEN») and the latest Zurich cantonal laboratory sample per site. With canton (2-letter code): river stations in that canton (nearest locality).

water_temperature input schema
{
  "type": "object",
  "properties": {
    "canton": {
      "type": "string",
      "description": "2-letter abbreviation, optional"
    }
  },
  "additionalProperties": false
}
water_temperature annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
births_deaths — Births and deaths
Advertised by the server during the last successful anonymous check.
Advertised read-only

Births and deaths in Switzerland or one canton (geo = CH or a 2-letter canton code): yearly births and deaths since 1969, the last 36 months, deaths per week for the last 104 weeks with the BFS expected value and 99% band (mortality monitoring; latest weeks provisional), the month with most deaths over the last ten years, and the page. Aggregate official statistics only (BFS BEVNAT, mortality monitoring); births and deaths per commune per year are in get_commune pages and the canton page table.

births_deaths input schema
{
  "type": "object",
  "properties": {
    "geo": {
      "type": "string",
      "description": "CH or canton abbreviation, e.g. ZH"
    }
  },
  "additionalProperties": false
}
births_deaths annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_switzerland — Switzerland overview
Advertised by the server during the last successful anonymous check.
Advertised read-only

The country level of the hierarchy Switzerland → 26 cantons → communes: population and foreign share (BFS STATPOP), naturalisations per year 2011 onwards with ordinary vs facilitated and the most common former nationalities (official BFS country names in DE FR IT EN), every canton with population, foreign share, tax rank, naturalisations per 1,000 foreign residents and its page and data file, and the index of all commune pages. Use get_canton and get_commune to go down a level. Also the Federal Council (members, departments, President of the Confederation, Federal Chancellor; verified on admin.ch, dated) and the key national figures of the Switzerland page: vital statistics, permits, unemployment, jobs, wages, rents, vacancy, reference rate, health premiums, hospitals, AHV 2027, pillar 3a 2027, public finances of all levels, mobility and energy, crime, sunshine; each with year and source.

get_switzerland input schema
{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
get_switzerland annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_canton — Canton profile
Advertised by the server during the last successful anonymous check.
Advertised read-only

Get all metric values for one canton. canton = 2-letter abbreviation (e.g. ZH, GE, TI). rank 1 = lowest value for cost metrics (dir 'low', e.g. taxes/rent) and highest value for capacity/benefit metrics (dir 'high', e.g. sunshine/jobs). Ranks describe order under the stated scenario, not universal suitability. Also returns the canton pages (DE FR IT EN), its flag, the cantonal government (members, departments, president) and chancellery contacts checked weekly against the official canton website, immigration and emigration by nationality (arrivals, departures, balance, trend), naturalisations by former nationality and world region with the rate per 1,000 foreign residents, and every commune of the canton with population, tax at CHF 100,000, Swiss rank and page. Includes highlights: protected AOP/IGP specialities of the area, UNESCO World Heritage, parks, cultural property of national importance and «Home of» brands (registered seat from the commercial register), plus traditional specialities of the canton. Also its official social media accounts (as linked from the canton's website; if none, the Federal Council's, see social_media.level).

get_canton input schema
{
  "type": "object",
  "required": [
    "canton"
  ],
  "properties": {
    "canton": {
      "type": "string",
      "description": "Canton as 2-letter abbreviation, e.g. \"ZH\", \"GE\", \"TI\"."
    },
    "communes": {
      "type": "boolean",
      "description": "true to list every commune of the canton (population, tax on CHF 100,000, page); default the 10 largest."
    }
  },
  "additionalProperties": false
}
get_canton output schema
{
  "type": "object",
  "properties": {
    "attribution": {
      "type": "string"
    }
  }
}
get_canton annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
rank_by_metric — Rank cantons by metric
Advertised by the server during the last successful anonymous check.
Advertised read-only

Rank all 26 Swiss cantons by one metric (lowest taxes, highest rents, most sunshine, lowest unemployment …), with the value, unit, year and official source of each canton. metric = a key from list_metrics; order = "high" or "low". For a full profile of one canton use get_canton; for 2 to 4 cantons side by side use compare_cantons.

rank_by_metric input schema
{
  "type": "object",
  "required": [
    "metric"
  ],
  "properties": {
    "order": {
      "enum": [
        "high",
        "low"
      ],
      "type": "string",
      "description": "\"high\" = largest value first, \"low\" = smallest first (default high)."
    },
    "metric": {
      "enum": [
        "foreigner_pct",
        "net_migration_per_1000",
        "sunshine_hours",
        "heat_days",
        "tropical_nights",
        "frost_days",
        "balance_per_capita",
        "beds_per_1000",
        "jobs",
        "tax_single",
        "rent_mean",
        "premium_adult",
        "premium_adult_lowest",
        "premium_adult_avg",
        "premium_saving_adult",
        "premium_subsidy_rate_pct",
        "premium_subsidy_per_beneficiary_chf",
        "premium_subsidy_pct_of_premium",
        "vacancy_pct",
        "new_dwellings_per_1000",
        "crime_per_1000",
        "violent_crime_per_1000",
        "population",
        "population_growth_pct",
        "net_debt_per_capita",
        "birth_rate_per_1000",
        "ev_share_new_cars_pct",
        "cars_per_1000",
        "ev_share_stock_pct",
        "motorbikes_per_1000",
        "goods_vehicles_per_1000",
        "cross_border_share_of_jobs_pct",
        "median_net_income_chf",
        "broadband_gbit_pct",
        "pt_accessibility_index",
        "pv_w_per_capita",
        "energiestadt_population_share_pct",
        "organic_area_share_pct",
        "waste_kg_per_capita",
        "separate_collection_pct",
        "naturalisations_total",
        "naturalisation_rate",
        "unemployment_pct",
        "electricity_rp_kwh"
      ],
      "type": "string",
      "description": "Metric key from list_metrics, e.g. \"tax_single\", \"rent_mean\", \"unemployment_pct\"."
    }
  },
  "additionalProperties": false
}
rank_by_metric output schema
{
  "type": "object",
  "properties": {
    "attribution": {
      "type": "string"
    }
  }
}
rank_by_metric annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
compare_cantons — Compare cantons
Advertised by the server during the last successful anonymous check.
Advertised read-only

Compare 2 to 4 Swiss cantons side by side across every metric of the index (income tax, rent, health premiums, unemployment, sunshine, safety, population and more), each with its value, unit, year and official source, and which canton does better. Use for «Zurich or Zug?» or «compare Geneva, Vaud and Basel». For one canton use get_canton; to rank all 26 use rank_by_metric; for rents alone rent_index.

compare_cantons input schema
{
  "type": "object",
  "required": [
    "cantons"
  ],
  "properties": {
    "cantons": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "maxItems": 4,
      "minItems": 2,
      "description": "2 to 4 canton abbreviations, e.g. [\"ZH\",\"ZG\",\"GE\"]."
    }
  },
  "additionalProperties": false
}
compare_cantons output schema
{
  "type": "object",
  "properties": {
    "attribution": {
      "type": "string"
    }
  }
}
compare_cantons annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
commune_tax — Tax for a household in a commune
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Live income and wealth tax (federal, cantonal and communal, without church tax) for ONE household in ONE Swiss commune, from the official ESTV tax calculator (tax year 2026): any income, wealth, married or single, number of children. For the tax on a CHF 100,000 salary in every commune at once (ranking, cheapest communes) use tax_by_commune.

commune_tax input schema
{
  "type": "object",
  "required": [
    "commune",
    "income"
  ],
  "properties": {
    "income": {
      "type": "number",
      "description": "Taxable gross yearly income in CHF, e.g. 100000."
    },
    "wealth": {
      "type": "number",
      "description": "Net wealth in CHF for the wealth tax, e.g. 250000 (default 0)."
    },
    "commune": {
      "type": "string",
      "description": "Swiss commune: official name, BFS number or 4-digit postcode, e.g. \"Winterthur\", \"230\" or \"8400\". «8001 Zürich» and «Basel (BS)» also work."
    },
    "married": {
      "type": "boolean",
      "description": "true for a married couple (joint taxation), false or omitted for a single person."
    },
    "children": {
      "type": "number",
      "description": "Number of children in the household, e.g. 2 (default 0)."
    }
  },
  "additionalProperties": false
}
commune_tax output schema
{
  "type": "object",
  "properties": {
    "attribution": {
      "type": "string"
    }
  }
}
commune_tax annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
search_commune — Find a commune
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Find Swiss communes by name or postcode (official ESTV location register). Returns commune name, canton and postcode — use before commune_tax or estimate_net_move when the spelling is uncertain.

search_commune input schema
{
  "type": "object",
  "required": [
    "query"
  ],
  "properties": {
    "query": {
      "type": "string",
      "description": "Commune name (or part of it) or postcode, e.g. \"Küsnacht\" or \"8700\"."
    }
  },
  "additionalProperties": false
}
search_commune output schema
{
  "type": "object",
  "properties": {
    "attribution": {
      "type": "string"
    }
  }
}
search_commune annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
estimate_net_move — Net cost of a move
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Net yearly CHF effect of moving between two Swiss communes for one household: live commune-level tax (official ESTV 2026) plus canton-average rent and health-premium differences; positive savings = the move saves money. For the full move checklist (insurer, school holidays, electricity, permits, deadlines) use plan_move.

estimate_net_move input schema
{
  "type": "object",
  "required": [
    "from_commune",
    "to_commune",
    "income"
  ],
  "properties": {
    "income": {
      "type": "number",
      "description": "gross household income, CHF/year"
    },
    "wealth": {
      "type": "number",
      "description": "taxable wealth, CHF"
    },
    "married": {
      "type": "boolean",
      "description": "true for a married couple (joint taxation), false or omitted for a single person."
    },
    "children": {
      "type": "number",
      "description": "Number of children in the household, e.g. 2 (default 0)."
    },
    "to_commune": {
      "type": "string",
      "description": "candidate commune name or postcode"
    },
    "from_commune": {
      "type": "string",
      "description": "current commune name or postcode"
    }
  },
  "additionalProperties": false
}
estimate_net_move output schema
{
  "type": "object",
  "properties": {
    "attribution": {
      "type": "string"
    }
  }
}
estimate_net_move annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
get_trend — Canton metric history
Advertised by the server during the last successful anonymous check.
Advertised read-only

Historical year-series for a metric in one canton (e.g. sunshine back to 1884, migration to 1981, rent to 2010). metric = key from list_metrics with history: rent_mean, net_migration_per_1000, foreigner_pct, sunshine_hours, balance_per_capita, beds_per_1000, jobs, unemployment_pct (SECO yearly averages to 1993). Optional from_year.

get_trend input schema
{
  "type": "object",
  "required": [
    "canton",
    "metric"
  ],
  "properties": {
    "canton": {
      "type": "string",
      "description": "Canton as 2-letter abbreviation, e.g. \"ZH\", \"GE\", \"TI\"."
    },
    "metric": {
      "enum": [
        "rent_mean",
        "net_migration_per_1000",
        "foreigner_pct",
        "sunshine_hours",
        "population",
        "heat_days",
        "tropical_nights",
        "frost_days",
        "balance_per_capita",
        "beds_per_1000",
        "crime_per_1000",
        "electricity_rp_kwh",
        "jobs",
        "unemployment_pct",
        "violent_crime_per_1000",
        "population_growth_pct",
        "net_debt_per_capita",
        "birth_rate_per_1000",
        "ev_share_new_cars_pct",
        "cars_per_1000",
        "ev_share_stock_pct",
        "motorbikes_per_1000",
        "goods_vehicles_per_1000",
        "cross_border_share_of_jobs_pct",
        "median_net_income_chf",
        "pv_w_per_capita",
        "organic_area_share_pct",
        "naturalisations_total",
        "naturalisation_rate"
      ],
      "type": "string",
      "description": "Metric key with a year series, e.g. \"rent_mean\", \"sunshine_hours\", \"unemployment_pct\"."
    },
    "from_year": {
      "type": "number",
      "description": "First year to return, e.g. 2000; omit for the whole series."
    }
  },
  "additionalProperties": false
}
get_trend annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
upcoming_votes — Upcoming federal votes
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

The next Swiss federal vote dates and, once the Federal Council has set them, the proposals on the ballot, in German, French, Italian and English (official Federal Chancellery / VoteInfo data). For results of past votes use federal_votes.

upcoming_votes input schema
{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
upcoming_votes output schema
{
  "type": "object",
  "properties": {
    "attribution": {
      "type": "string"
    }
  }
}
upcoming_votes annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
recommend_canton — Recommend a canton
Advertised by the server during the last successful anonymous check.
Advertised read-only

Personal canton recommendation ("Where should I live in Switzerland?"): weight 5 categories 0–3 (cost = rent/premiums/electricity; tax = income tax/fiscal balance; work = jobs/unemployment/migration; env = sunshine/crime/vacancy; health = hospital capacity) and get all 26 cantons scored by the transparent percentile method of the Swiss Living Quality Index. Every evidence figure carries value, unit, rank, source and year. Scores describe order under the stated weights, not universal suitability.

recommend_canton input schema
{
  "type": "object",
  "properties": {
    "env": {
      "type": "number",
      "maximum": 3,
      "minimum": 0,
      "description": "Weight 0 to 3 for environment and climate (sunshine, heat, frost); default 2."
    },
    "tax": {
      "type": "number",
      "maximum": 3,
      "minimum": 0,
      "description": "Weight 0 to 3 for low taxes (income tax, fiscal balance); default 2."
    },
    "cost": {
      "type": "number",
      "maximum": 3,
      "minimum": 0,
      "description": "Weight 0 to 3 for low living costs (rent, health premiums, electricity); default 2."
    },
    "work": {
      "type": "number",
      "maximum": 3,
      "minimum": 0,
      "description": "Weight 0 to 3 for the job market (jobs, unemployment, migration); default 2."
    },
    "infra": {
      "type": "number",
      "description": "0-3, connectivity & infrastructure (active once infra metrics ship)"
    },
    "limit": {
      "type": "number",
      "description": "top N with evidence, default 5"
    },
    "health": {
      "type": "number",
      "maximum": 3,
      "minimum": 0,
      "description": "Weight 0 to 3 for health care (hospital beds, premiums); default 2."
    },
    "international_community": {
      "type": "boolean",
      "description": "include foreigner share, higher preferred"
    }
  },
  "additionalProperties": false
}
recommend_canton output schema
{
  "type": "object",
  "properties": {
    "attribution": {
      "type": "string"
    }
  }
}
recommend_canton annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_salary — Salaries by sector
Advertised by the server during the last successful anonymous check.
Advertised read-only

Official gross monthly salaries in Switzerland by ECONOMIC SECTOR (BFS Swiss Earnings Structure Survey LSE): median and P10/P25/P75/P90 for all employees, women and men, by major region. canton (2-letter) is mapped to its major region; sector = NOGA code or words («banking», «software»). For salaries by OCCUPATION and age (nurse, developer, teacher) use salary_by_occupation.

get_salary input schema
{
  "type": "object",
  "properties": {
    "year": {
      "type": "number",
      "description": "Year of the earnings survey (every two years: 2012 to 2024), e.g. 2026; omit for the latest. An unavailable year returns the list of available years."
    },
    "canton": {
      "type": "string",
      "description": "Canton as 2-letter abbreviation, e.g. \"ZH\", \"GE\", \"TI\". Mapped to its BFS major region."
    },
    "region": {
      "type": "string",
      "description": "major region code 1–7 or -1 for Switzerland"
    },
    "sector": {
      "type": "string",
      "description": "Economic sector as NOGA code or words, e.g. \"64\", \"banking\", \"software\", \"construction\"; omit for all sectors."
    }
  },
  "additionalProperties": false
}
get_salary output schema
{
  "type": "object",
  "properties": {
    "attribution": {
      "type": "string"
    }
  }
}
get_salary annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_minimum_wage — Cantonal minimum wages
Advertised by the server during the last successful anonymous check.
Advertised read-only

Statutory cantonal minimum wages in Switzerland (official cantonal pages): hourly amount, valid from, history and the monthly equivalent at 40 hours. Only five cantons have one (BS, GE, JU, NE, TI); without canton the list of all five is returned. Elsewhere minimums apply only through collective or standard employment contracts.

get_minimum_wage input schema
{
  "type": "object",
  "properties": {
    "canton": {
      "type": "string",
      "description": "Canton as 2-letter abbreviation, e.g. \"ZH\", \"GE\", \"TI\". Only BS, GE, JU, NE and TI have one; omit for all five."
    }
  },
  "additionalProperties": false
}
get_minimum_wage output schema
{
  "type": "object",
  "properties": {
    "attribution": {
      "type": "string"
    }
  }
}
get_minimum_wage annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_payroll_rates — Payroll deduction rates
Advertised by the server during the last successful anonymous check.
Advertised read-only

Official Swiss social-security payroll deductions for the current year (AHV/IV/EO, unemployment insurance ALV with ceiling, occupational pension BVG coordinated salary and age credits), as used for a gross-to-net salary estimate.

get_payroll_rates input schema
{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
get_payroll_rates output schema
{
  "type": "object",
  "properties": {
    "attribution": {
      "type": "string"
    }
  }
}
get_payroll_rates annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_premium_subsidy — Health premium subsidies
Advertised by the server during the last successful anonymous check.
Advertised read-only

Health-insurance premium subsidies (Prämienverbilligung / réduction des primes) per canton (FOPH KVSTAT): share of insured receiving a subsidy, average CHF per beneficiary and per household, subsidy as % of the mean premium, federal vs cantonal funding, plus the responsible cantonal office (name, address, phone, website). canton = 2-letter abbreviation.

get_premium_subsidy input schema
{
  "type": "object",
  "required": [
    "canton"
  ],
  "properties": {
    "canton": {
      "type": "string",
      "description": "Canton as 2-letter abbreviation, e.g. \"ZH\", \"GE\", \"TI\"."
    }
  },
  "additionalProperties": false
}
get_premium_subsidy output schema
{
  "type": "object",
  "properties": {
    "attribution": {
      "type": "string"
    }
  }
}
get_premium_subsidy annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_family_tax_deductions — Family tax deductions
Advertised by the server during the last successful anonymous check.
Advertised read-only

Swiss income-tax deductions for families (ESTV tax folder): maximum childcare (third-party care) deduction per child and the child deduction (Kinderabzug) rule for a canton, plus the federal values. canton = 2-letter abbreviation; omit for federal only.

get_family_tax_deductions input schema
{
  "type": "object",
  "properties": {
    "canton": {
      "type": "string",
      "description": "Canton as 2-letter abbreviation, e.g. \"ZH\", \"GE\", \"TI\". Omit for the federal values only."
    }
  },
  "additionalProperties": false
}
get_family_tax_deductions annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_housing_costs — Household housing costs
Advertised by the server during the last successful anonymous check.
Advertised read-only

Average monthly housing costs per household in Switzerland (BFS household budget survey HABE): net rent or mortgage interest, ancillary costs (Nebenkosten: flat-rate charges, water, waste water, waste, upkeep), energy (electricity, gas/fuels, heating), with BFS quality grades. Latest year for Switzerland; with canton also the values of its major region (pooled period). Means over all households incl. owners.

get_housing_costs input schema
{
  "type": "object",
  "properties": {
    "canton": {
      "type": "string",
      "description": "Canton as 2-letter abbreviation, e.g. \"ZH\", \"GE\", \"TI\". Mapped to its BFS major region; omit for Switzerland."
    }
  },
  "additionalProperties": false
}
get_housing_costs annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_reference_rate — Mortgage reference rate
Advertised by the server during the last successful anonymous check.
Advertised read-only

Swiss mortgage reference interest rate for rents (BWO/FOH): current rate, valid since, next publication dates, every change since 2008, and the rule for rent adjustments (VMWG Art. 13). Optional lease_rate (the rate in the lease) returns the quarter-point steps since then. Also returns the latest BFS rent price index (quarterly change, annual change, share of rents up/down/unchanged).

get_reference_rate input schema
{
  "type": "object",
  "properties": {
    "lease_rate": {
      "type": "number",
      "description": "reference rate stated in the lease, e.g. 1.75"
    }
  },
  "additionalProperties": false
}
get_reference_rate annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
data_freshness — Data freshness
Advertised by the server during the last successful anonymous check.
Advertised read-only

How current the Swiss Living Index data is: every scheduled official data source with where it runs (cloud, a Mac on the Swiss network, or the A5000 language-model machine), its cadence in days, the last successful check, the next due date and a status (current, due, overdue = more than twice its cadence, new = not run yet), plus a summary. Use it to state how fresh a figure is before relying on it. Optional status filter.

data_freshness input schema
{
  "type": "object",
  "properties": {
    "status": {
      "enum": [
        "current",
        "due",
        "overdue",
        "new"
      ],
      "type": "string",
      "description": "optional filter"
    }
  },
  "additionalProperties": false
}
data_freshness annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
list_datasets — List datasets
Advertised by the server during the last successful anonymous check.
Advertised read-only

Catalogue of EVERY dataset published by the Swiss Living Index (about 125: migration, births and first names, crime, public finances, cross-border commuters, vehicles, broadband, sustainability, naturalisations, permits, health care, housing, income, education and more), each with source, geography (Switzerland / canton / commune), years and page. Without arguments it returns the topics; with topic or query it returns the matching datasets. Then read one with get_dataset.

list_datasets input schema
{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "words to match in title, source or id"
    },
    "topic": {
      "type": "string",
      "description": "topic key from the topic list, e.g. migration"
    },
    "geography": {
      "type": "string",
      "description": "switzerland, canton or commune"
    }
  },
  "additionalProperties": false
}
list_datasets output schema
{
  "type": "object",
  "properties": {
    "attribution": {
      "type": "string"
    }
  }
}
list_datasets annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_dataset — Read a dataset
Advertised by the server during the last successful anonymous check.
Advertised read-only

Read one Swiss Living Index dataset (id from list_datasets), exactly as published on the site (official values, unchanged). Filter with canton (2-letter) and/or commune (name or BFS number), section (a top-level key), from_year / to_year. Large datasets return a size summary first so you can narrow the request. Every reply carries source, source URL and the page to cite.

get_dataset input schema
{
  "type": "object",
  "required": [
    "id"
  ],
  "properties": {
    "id": {
      "type": "string",
      "description": "Dataset id from list_datasets, e.g. \"migration/migration-switzerland\"."
    },
    "canton": {
      "type": "string",
      "description": "Canton as 2-letter abbreviation, e.g. \"ZH\", \"GE\", \"TI\". Filters the dataset to that canton."
    },
    "max_kb": {
      "type": "number",
      "description": "reply size limit in KB, default 150, max 600"
    },
    "commune": {
      "type": "string",
      "description": "Swiss commune: official name, BFS number or 4-digit postcode, e.g. \"Winterthur\", \"230\" or \"8400\". «8001 Zürich» and «Basel (BS)» also work. Filters the dataset to that commune."
    },
    "section": {
      "type": "string",
      "description": "One top-level section of the dataset (the too_large answer lists them)."
    },
    "to_year": {
      "type": "number",
      "description": "Keep year series up to this year, e.g. 2025."
    },
    "from_year": {
      "type": "number",
      "description": "Keep year series from this year, e.g. 2015."
    }
  },
  "additionalProperties": false
}
get_dataset output schema
{
  "type": "object",
  "properties": {
    "attribution": {
      "type": "string"
    }
  }
}
get_dataset annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_commune — Commune fact sheet
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Fact sheet for one Swiss commune (by name, BFS number or postcode); for communes with a one-pager also the president, council, administration contacts, departments, upcoming meetings, news, tenders and projects read from the commune website (with source and date): population, foreign residents, migration, jobs, new dwellings, gigabit and fibre coverage, public-transport accessibility, solar power, EV share, cars, cross-border commuters, commune finances, its canton context (tax, rent, premium ranks), live income tax for a reference profile (official ESTV), and the national fuel reference; its official social media accounts (as linked from the commune website; if none, the canton's, then the Federal Council's, see social_media.level). Includes highlights: protected AOP/IGP specialities of the area, UNESCO World Heritage, parks, cultural property of national importance and «Home of» brands (registered seat from the commercial register).

get_commune input schema
{
  "type": "object",
  "required": [
    "commune"
  ],
  "properties": {
    "commune": {
      "type": "string",
      "description": "Swiss commune: official name, BFS number or 4-digit postcode, e.g. \"Winterthur\", \"230\" or \"8400\". «8001 Zürich» and «Basel (BS)» also work."
    }
  },
  "additionalProperties": false
}
get_commune output schema
{
  "type": "object",
  "properties": {
    "attribution": {
      "type": "string"
    }
  }
}
get_commune annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
compare_health_insurers — Compare health insurers
Advertised by the server during the last successful anonymous check.
Advertised read-only

Every approved basic health-insurance premium (FOPH) for a commune or premium region: cheapest offers for an adult (26+), young adult (19–25) or child, by deductible, insurance model (standard, family doctor/HMO, telemedicine, other) and accident cover, with the insurer and product. year 2027 (next year) or 2026. Premiums depend on the commune of residence, so give commune (name or BFS number) or region (e.g. ZH-1).

compare_health_insurers input schema
{
  "type": "object",
  "properties": {
    "year": {
      "type": "number",
      "description": "Premium year: 2026 (current) or 2027 (next year, approved by FOPH in September); default the latest."
    },
    "limit": {
      "type": "number",
      "description": "number of offers, default 10"
    },
    "model": {
      "type": "string",
      "description": "standard, family_doctor, telemedicine, other or any (default)"
    },
    "region": {
      "type": "string",
      "description": "Premium region as canton plus number, e.g. \"ZH-1\", \"ZH-2\", \"BE-3\" (use instead of commune)."
    },
    "commune": {
      "type": "string",
      "description": "Swiss commune: official name, BFS number or 4-digit postcode, e.g. \"Winterthur\", \"230\" or \"8400\". «8001 Zürich» and «Basel (BS)» also work."
    },
    "accident": {
      "type": "boolean",
      "description": "true = accident cover included (default false: covered by the employer)"
    },
    "age_group": {
      "type": "string",
      "description": "adult (default), young_adult or child"
    },
    "deductible": {
      "type": "number",
      "description": "CHF, e.g. 300 or 2500"
    }
  },
  "additionalProperties": false
}
compare_health_insurers output schema
{
  "type": "object",
  "properties": {
    "attribution": {
      "type": "string"
    }
  }
}
compare_health_insurers annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_electricity_price — Electricity tariff
Advertised by the server during the last successful anonymous check.
Advertised read-only

Official electricity tariff (ElCom) for a Swiss commune and its grid operator(s): total, energy, grid use, commune charges and federal levy in Rappen per kWh, for 2025–2027, and the yearly bill for a consumption profile (ElCom categories H1–H8, default H4 = 5-room flat, 4500 kWh) or your own kWh.

get_electricity_price input schema
{
  "type": "object",
  "required": [
    "commune"
  ],
  "properties": {
    "kwh": {
      "type": "number",
      "description": "own yearly consumption (overrides the category volume)"
    },
    "year": {
      "type": "number",
      "description": "Year of the ElCom tariff (2025 to 2027), e.g. 2026; omit for the latest. An unavailable year returns the list of available years."
    },
    "commune": {
      "type": "string",
      "description": "Swiss commune: official name, BFS number or 4-digit postcode, e.g. \"Winterthur\", \"230\" or \"8400\". «8001 Zürich» and «Basel (BS)» also work."
    },
    "category": {
      "type": "string",
      "description": "H1–H8, default H4"
    }
  },
  "additionalProperties": false
}
get_electricity_price output schema
{
  "type": "object",
  "properties": {
    "attribution": {
      "type": "string"
    }
  }
}
get_electricity_price annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
fuel_prices_near — Fuel prices across the border
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Is the drive across the border worth it? Official station prices in France, Austria and Italy (live / daily official sources) near a Swiss place, ranked by net saving vs the official Swiss average price (BFS) after the fuel used for the round trip. place = postcode or locality (or lat/lon). Location is used for this lookup only.

fuel_prices_near input schema
{
  "type": "object",
  "properties": {
    "km": {
      "type": "number",
      "description": "search radius, 2–40, default 10"
    },
    "lat": {
      "type": "number",
      "description": "Latitude in decimal degrees, e.g. 47.56 (with lon)."
    },
    "lon": {
      "type": "number",
      "description": "Longitude in decimal degrees, e.g. 7.59 (with lat)."
    },
    "fuel": {
      "type": "string",
      "description": "unleaded95 (default) or diesel"
    },
    "tank": {
      "type": "number",
      "description": "litres, default 50"
    },
    "place": {
      "type": "string",
      "description": "Swiss place: postcode, locality or both, e.g. \"8001\", \"Basel\", \"8001 Zürich\" or \"Basel (BS)\". Alternatively give lat and lon."
    },
    "postcode": {
      "type": "string",
      "description": "Swiss 4-digit postcode, e.g. \"4058\" (alternative to place)."
    },
    "consumption": {
      "type": "number",
      "description": "l/100 km, default 7"
    }
  },
  "additionalProperties": false
}
fuel_prices_near output schema
{
  "type": "object",
  "properties": {
    "attribution": {
      "type": "string"
    }
  }
}
fuel_prices_near annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
ev_charging_near — EV charging availability
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Live availability of public EV charging points in Switzerland (official SFOE feed, minutes old): national and per-canton availability and fast chargers; with place (postcode or locality) or lat/lon also the nearest points within km with their live status. No prices (no official register exists).

ev_charging_near input schema
{
  "type": "object",
  "properties": {
    "km": {
      "type": "number",
      "description": "radius, default 5, max 25"
    },
    "lat": {
      "type": "number",
      "description": "Latitude in decimal degrees, e.g. 46.95 (with lon)."
    },
    "lon": {
      "type": "number",
      "description": "Longitude in decimal degrees, e.g. 7.44 (with lat)."
    },
    "place": {
      "type": "string",
      "description": "Swiss place: postcode, locality or both, e.g. \"8001\", \"Basel\", \"8001 Zürich\" or \"Basel (BS)\". Alternatively give lat and lon. Omit place and coordinates for the national and per-canton summary."
    },
    "postcode": {
      "type": "string",
      "description": "Swiss 4-digit postcode, e.g. \"3011\" (alternative to place)."
    }
  },
  "additionalProperties": false
}
ev_charging_near output schema
{
  "type": "object",
  "properties": {
    "attribution": {
      "type": "string"
    }
  }
}
ev_charging_near annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
commute_cost — Commute cost
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Monthly commute cost between two Swiss places: by car at the official Swiss average fuel price (BFS) and by electric car at the home commune official electricity tariff (ElCom H4), plus the public-transport journey time (Swiss timetable). Distance defaults to straight line × 1.3 between the stations (labelled estimate) unless km_one_way is given. Public-transport fares are not open official data and are not included.

commute_cost input schema
{
  "type": "object",
  "required": [
    "from",
    "to"
  ],
  "properties": {
    "to": {
      "type": "string",
      "description": "Work place: Swiss postcode or locality, e.g. \"Zürich\" or \"8001\"."
    },
    "from": {
      "type": "string",
      "description": "Home place: Swiss postcode or locality, e.g. \"Winterthur\" or \"8400\"."
    },
    "fuel": {
      "type": "string",
      "description": "unleaded95 or diesel"
    },
    "ev_kwh": {
      "type": "number",
      "description": "kWh/100 km, default 18"
    },
    "km_one_way": {
      "type": "number",
      "description": "Road distance one way in km, e.g. 25; omit to use the routed distance between from and to."
    },
    "consumption_l": {
      "type": "number",
      "description": "l/100 km, default 7"
    },
    "days_per_month": {
      "type": "number",
      "description": "Commuting days per month, e.g. 20 (default 20)."
    }
  },
  "additionalProperties": false
}
commute_cost output schema
{
  "type": "object",
  "properties": {
    "attribution": {
      "type": "string"
    }
  }
}
commute_cost annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
household_budget — Household budget
Advertised by the server during the last successful anonymous check.
Advertised read-only

What Swiss households spend per month (BFS household budget survey, official): income, social insurance, taxes, health premiums, food, restaurants, housing and energy, transport, leisure and more, for all households, singles, couples without children, families and retired couples.

household_budget input schema
{
  "type": "object",
  "properties": {
    "household": {
      "type": "string",
      "description": "all, single, couple_no_children, family or retiree_couple; omit for all types"
    }
  },
  "additionalProperties": false
}
household_budget output schema
{
  "type": "object",
  "properties": {
    "attribution": {
      "type": "string"
    }
  }
}
household_budget annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
salary_by_occupation — Salaries by occupation
Advertised by the server during the last successful anonymous check.
Advertised read-only

Official gross monthly salaries by occupation group (ISCO-08) and age band (up to 29, 30–49, 50+), median and P10–P90, for all, women and men, by major region (BFS LSE). occupation = ISCO code or words (e.g. "nurse", "engineer", "teacher", "IT"); canton maps to its major region.

salary_by_occupation input schema
{
  "type": "object",
  "properties": {
    "age": {
      "type": "string",
      "description": "all (default), under30, 30to49, 50plus"
    },
    "year": {
      "type": "number",
      "description": "Year of the earnings survey (every two years: 2012 to 2024), e.g. 2026; omit for the latest. An unavailable year returns the list of available years."
    },
    "canton": {
      "type": "string",
      "description": "Canton as 2-letter abbreviation, e.g. \"ZH\", \"GE\", \"TI\". Mapped to its BFS major region."
    },
    "region": {
      "type": "string",
      "description": "BFS major region (NUTS-2): 1 Lake Geneva, 2 Espace Mittelland, 3 Northwestern Switzerland, 4 Zurich, 5 Eastern Switzerland, 6 Central Switzerland, 7 Ticino, -1 Switzerland. Use canton instead to map automatically."
    },
    "occupation": {
      "type": "string",
      "description": "Occupation as ISCO-08 code or words, e.g. \"25\", \"nurse\", \"software developer\", \"teacher\"."
    }
  },
  "additionalProperties": false
}
salary_by_occupation output schema
{
  "type": "object",
  "properties": {
    "attribution": {
      "type": "string"
    }
  }
}
salary_by_occupation annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
cheapest_health_insurer — Cheapest health insurer
Advertised by the server during the last successful anonymous check.
Advertised read-only

The cheapest basic health insurer (FOPH-approved premiums, next year) in every Swiss premium region, or for one canton, region (e.g. ZH-1) or commune: cheapest standard premium (adult 26+, free choice of doctor, CHF 300 deductible, with accident cover) and the lowest possible premium (any model, highest deductible), plus how often each insurer is the cheapest nationally.

cheapest_health_insurer input schema
{
  "type": "object",
  "properties": {
    "canton": {
      "type": "string",
      "description": "2-letter abbreviation, optional"
    },
    "region": {
      "type": "string",
      "description": "premium region code, e.g. ZH-1, optional"
    },
    "commune": {
      "type": "string",
      "description": "name, postcode or BFS number, optional"
    }
  },
  "additionalProperties": false
}
cheapest_health_insurer output schema
{
  "type": "object",
  "properties": {
    "attribution": {
      "type": "string"
    }
  }
}
cheapest_health_insurer annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
permit_types — Swiss permit types
Advertised by the server during the last successful anonymous check.
Advertised read-only

Swiss residence permits L, B, C, Ci, G, F, N, S (incl. the asylum statuses): what each permit is, the official rules (validity, renewal, C permit after 10 or 5 years, language levels, EU/EFTA 5-year list, moving within Switzerland) each with its law article (AIG, VZAE, BüG) or SEM page, and the number of people per permit (BFS, 2010 to latest year) for Switzerland or a canton. Information, not legal advice: the cantonal migration office decides.

permit_types input schema
{
  "type": "object",
  "properties": {
    "canton": {
      "type": "string",
      "description": "optional canton, e.g. ZH"
    },
    "history": {
      "type": "boolean",
      "description": "include all years, default false"
    }
  },
  "additionalProperties": false
}
permit_types output schema
{
  "type": "object",
  "properties": {
    "attribution": {
      "type": "string"
    }
  }
}
permit_types annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
leaving_switzerland — Leaving Switzerland
Advertised by the server during the last successful anonymous check.
Advertised read-only

Leaving Switzerland: the official steps with their law articles: deregister with the commune at the latest 14 days before departure (VZAE 15), what happens to an L, B or C permit (AIG 61), keeping a C permit for up to 4 years on request (VZAE 79), residence for naturalisation counted as given up (BüG 33), early pillar 3a withdrawal on leaving for good (BVV 3 Art. 3), pension fund cash payout and its EU/EFTA limit (FZG 5, 25f), vested benefits (FZG 4), AHV pensions abroad, refund of AHV contributions and voluntary AHV (AHVG 2, 18, RV-AHV), withholding tax on payouts abroad (DBG 96), plus the number of people who moved abroad (BFS).

leaving_switzerland input schema
{
  "type": "object",
  "properties": {
    "permit": {
      "enum": [
        "L",
        "B",
        "C",
        "swiss"
      ],
      "type": "string",
      "description": "current permit, or swiss for Swiss citizens"
    }
  },
  "additionalProperties": false
}
leaving_switzerland annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
naturalisation_timing — Naturalisation eligibility
Advertised by the server during the last successful anonymous check.
Advertised read-only

Checks the federal residence conditions for ordinary Swiss naturalisation (BüG Art. 9, 33) or facilitated naturalisation of a Swiss citizen's spouse (BüG Art. 21) from the years someone has lived in Switzerland: years between ages 8 and 18 count double (at least 6 actual years), temporary admission (F) counts half, C permit required. Returns which conditions are met with the law articles, and what is missing. Cantons add 2 to 5 years of residence in the canton (BüG 18). Orientation only, not legal advice.

naturalisation_timing input schema
{
  "type": "object",
  "required": [
    "years_total"
  ],
  "properties": {
    "years_total": {
      "type": "number",
      "description": "actual years lived in Switzerland with B, C or Ci permit"
    },
    "has_c_permit": {
      "type": "boolean",
      "description": "true if the person holds a C permit (settlement permit), required for ordinary naturalisation."
    },
    "spouse_of_swiss": {
      "type": "boolean",
      "description": "true for the spouse of a Swiss citizen (facilitated naturalisation, BüG Art. 21)."
    },
    "years_in_canton": {
      "type": "number",
      "description": "Years lived in the current canton, e.g. 3 (cantons ask 2 to 5)."
    },
    "years_in_last_5": {
      "type": "number",
      "description": "of those, years within the last 5 years"
    },
    "years_age_8_to_18": {
      "type": "number",
      "description": "of those, years between the 8th and 18th birthday"
    },
    "years_temporary_admission_f": {
      "type": "number",
      "description": "years with temporary admission F (count half)"
    },
    "years_married_living_together": {
      "type": "number",
      "description": "Years married and living together with the Swiss spouse, e.g. 3 (facilitated naturalisation needs 3)."
    }
  },
  "additionalProperties": false
}
naturalisation_timing output schema
{
  "type": "object",
  "properties": {
    "attribution": {
      "type": "string"
    }
  }
}
naturalisation_timing annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
which_permit — Which permit fits
Advertised by the server during the last successful anonymous check.
Advertised read-only

Which Swiss permit fits a person (the Swiss Living Index permit route finder as a tool): from nationality and plan (visit, work, commute from abroad, join family, study, retire, live without working, or already living here on a B permit) returns the permit (L, B, C, G or none), whether it is an entitlement or at the canton's discretion, the 2026 quota for non-EU work, every rule with its law article (AIG, VZAE, BüG) or SEM page, and for people already here the years until a C permit and naturalisation. Same logic as the page, checked by 45 test cases. Asylum statuses are out of scope. Information, not legal advice: the cantonal migration office decides.

which_permit input schema
{
  "type": "object",
  "required": [
    "nationality",
    "plan"
  ],
  "properties": {
    "age": {
      "type": "number",
      "description": "Age in years, used for plan retire (e.g. 62)."
    },
    "plan": {
      "enum": [
        "visit",
        "work",
        "commute",
        "family",
        "study",
        "retire",
        "nonactive",
        "here"
      ],
      "type": "string",
      "description": "What the person wants to do in Switzerland: visit, work, commute (live abroad, work here), family (join family), study, retire, nonactive (live without working) or here (already living here)."
    },
    "qualified": {
      "type": "boolean",
      "description": "work, non-EU: manager, specialist or other qualified worker (default true)"
    },
    "job_length": {
      "enum": [
        "lt3",
        "3to12",
        "ge12"
      ],
      "type": "string",
      "description": "work: under 3 months, 3 to 12 months, a year or longer / open-ended (default ge12)"
    },
    "nationality": {
      "type": "string",
      "description": "ISO 3166 alpha-2 code (e.g. DE, PL, GB, US, IN) or a group: eu5, eu, uk, other"
    },
    "years_on_b_permit": {
      "type": "number",
      "description": "here: years on a B permit without interruption"
    },
    "ties_to_switzerland": {
      "type": "boolean",
      "description": "retire: earlier long stays or close relatives in Switzerland"
    },
    "family_member_is_eu_efta": {
      "type": "boolean",
      "description": "family: that person is an EU/EFTA national (free movement rules, not covered)"
    },
    "family_member_in_switzerland": {
      "enum": [
        "swiss",
        "C",
        "B",
        "L"
      ],
      "type": "string",
      "description": "family: status of the person in Switzerland"
    }
  },
  "additionalProperties": false
}
which_permit output schema
{
  "type": "object",
  "properties": {
    "attribution": {
      "type": "string"
    }
  }
}
which_permit annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
work_permit_quotas — Work permit quotas
Advertised by the server during the last successful anonymous check.
Advertised read-only

Swiss work permit quotas for people from outside the EU/EFTA, set every year by the Federal Council (VZAE annexes 1 and 2): B and L permits per canton plus the federal reserve, and the separate quotas for EU/EFTA service providers over 90 days, UK nationals without acquired rights and US interns, with the admission rules (economic interest, priority of the domestic workforce, qualified workers only) and their law articles. canton optional.

work_permit_quotas input schema
{
  "type": "object",
  "properties": {
    "year": {
      "type": "number",
      "description": "Quota year, e.g. 2026; omit for the latest Federal Council decision."
    },
    "canton": {
      "type": "string",
      "description": "2-letter abbreviation, optional"
    }
  },
  "additionalProperties": false
}
work_permit_quotas annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
family_reunification — Family reunification
Advertised by the server during the last successful anonymous check.
Advertised read-only

Family reunification in Switzerland (AIG Art. 42 to 47, VZAE 73 to 73b): who can bring a spouse and children under 18, entitlement (Swiss citizens, C permit) or discretion (B, L), the conditions (living together, housing, no social assistance, language), the 5-year deadline (12 months for children over 12) and the language levels, each with its law article. sponsor = status of the person in Switzerland.

family_reunification input schema
{
  "type": "object",
  "properties": {
    "sponsor": {
      "enum": [
        "swiss",
        "C",
        "B",
        "L"
      ],
      "type": "string",
      "description": "optional; omit for all four"
    }
  },
  "additionalProperties": false
}
family_reunification annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
naturalisation_canton_rules — Cantonal naturalisation rules
Advertised by the server during the last successful anonymous check.
Advertised read-only

Cantonal conditions for ordinary Swiss naturalisation in each of the 26 cantons, on top of the federal rules (C permit, 10 years): minimum residence in the canton and the commune (2 to 5 years), language level spoken / written (federal minimum B1 / A2; 8 cantons require more), knowledge test (cantonal written test, commune test or interview), cantonal fee for one adult, the responsible office and the cantonal law with its version in force. Every value carries a verbatim quote from the official cantonal law collection or office page. canton optional (omit for all 26). Information, not legal advice.

naturalisation_canton_rules input schema
{
  "type": "object",
  "properties": {
    "canton": {
      "type": "string",
      "description": "2-letter abbreviation, optional"
    }
  },
  "additionalProperties": false
}
naturalisation_canton_rules annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
asylum_statistics — Asylum statistics
Advertised by the server during the last successful anonymous check.
Advertised read-only

Official Swiss asylum statistics of the State Secretariat for Migration (SEM, monthly, archived month by month): new asylum applications, completed cases, asylum grants, rejections, Dublin decisions, recognition and protection rates, applications and grants of protection status S, departures and removals, and the numbers of people in the asylum process (N, F, S), with the official SEM labels in German and French. month = YYYY-MM (default latest), indicator = key or words to filter, nationality = German country name as published by SEM for new applications by nationality (default: top 15 of the last 12 months), years = true for yearly figures since 2014.

asylum_statistics input schema
{
  "type": "object",
  "properties": {
    "month": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}$",
      "description": "Month as YYYY-MM, e.g. \"2026-09\"; omit for the latest."
    },
    "years": {
      "type": "boolean",
      "description": "true to add the yearly series of each indicator."
    },
    "indicator": {
      "type": "string",
      "description": "Filter indicators by key or label (German or French), e.g. \"asylgesuche\", \"schutzquote\", \"dublin\"; \"all\" for all ~200; omit for the 12 headline indicators."
    },
    "nationality": {
      "type": "string",
      "description": "Nationality as SEM writes it in German (or French), e.g. \"Afghanistan\", \"Türkei\", \"Eritrea\"; omit for the top 15 of the last 12 months."
    }
  },
  "additionalProperties": false
}
asylum_statistics annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
public_holidays — Public holidays
Advertised by the server during the last successful anonymous check.
Advertised read-only

Public holidays per Swiss canton (official SECO list of cantonal holidays equated with Sundays, Art. 20a ArG; 1 August federal): for a canton and year the dates with weekday, which fall on working days and the bridge days (Monday before a Tuesday holiday, Friday after a Thursday holiday). Cantons that set holidays by area (AG, AI, AR, FR, NE, SO) return one list per area with conditions. Without canton: the number of holidays and bridge days of every canton. Names in DE/FR/IT/EN.

public_holidays input schema
{
  "type": "object",
  "properties": {
    "year": {
      "type": "number",
      "description": "default: current year"
    },
    "canton": {
      "type": "string",
      "description": "2-letter abbreviation, optional"
    }
  },
  "additionalProperties": false
}
public_holidays output schema
{
  "type": "object",
  "properties": {
    "attribution": {
      "type": "string"
    }
  }
}
public_holidays annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
capital_withdrawal_tax — Pension withdrawal tax
Advertised by the server during the last successful anonymous check.
Advertised read-only

Tax on a lump-sum withdrawal from the pension fund (2nd pillar) or pillar 3a in every Swiss commune, from the official ESTV tax calculator: CHF 100,000, 250,000, 500,000 or 1,000,000, single or married, payment at 65, federal + cantonal + communal tax without church tax. Give a commune (name, postcode or BFS number) for its tax, rate and rank, a canton for its lowest and highest communes, or nothing for the national lowest and highest. Lump sums in the same year are added together; pillar3a_tax calculates other amounts for one commune.

capital_withdrawal_tax input schema
{
  "type": "object",
  "properties": {
    "limit": {
      "type": "number",
      "description": "How many communes to list when ranking a canton or Switzerland, e.g. 10 (default 10)."
    },
    "amount": {
      "enum": [
        100000,
        250000,
        500000,
        1000000
      ],
      "type": "number",
      "description": "Withdrawn capital in CHF: 100000, 250000, 500000 or 1000000 (default 500000)."
    },
    "canton": {
      "type": "string",
      "description": "Canton as 2-letter abbreviation, e.g. \"ZH\", \"GE\", \"TI\". Lists every commune of the canton."
    },
    "commune": {
      "type": "string",
      "description": "Swiss commune: official name, BFS number or 4-digit postcode, e.g. \"Winterthur\", \"230\" or \"8400\". «8001 Zürich» and «Basel (BS)» also work."
    },
    "household": {
      "enum": [
        "single",
        "married"
      ],
      "type": "string",
      "description": "single (one person) or married (married couple)."
    }
  },
  "additionalProperties": false
}
capital_withdrawal_tax annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
pension_figures — Pension figures
Advertised by the server during the last successful anonymous check.
Advertised read-only

Official Swiss retirement-provision figures for the current year and, once decided, the next year: pillar 3a maximum deduction (with / without pension fund), AHV/IV old-age pension minimum and maximum per month and the married couple cap, BVG entry threshold and coordination deduction, minimum AHV contributions, supplementary-benefit amounts, withdrawal rules and retroactive 3a buy-ins. Each figure with its official source (Federal Council, BSV, ESTV).

pension_figures input schema
{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
pension_figures output schema
{
  "type": "object",
  "properties": {
    "attribution": {
      "type": "string"
    }
  }
}
pension_figures annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
pillar3a_tax — Pillar 3a tax saving
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Pillar 3a in a specific Swiss commune, from the official ESTV tax calculator: how much income tax a 3a payment saves (federal, cantonal and communal, without church tax) and how much tax a later capital withdrawal costs in the same commune. Defaults: the maximum 3a payment for the profile, no withdrawal unless capital is given.

pillar3a_tax input schema
{
  "type": "object",
  "required": [
    "commune",
    "income"
  ],
  "properties": {
    "amount": {
      "type": "number",
      "description": "3a payment CHF (default: the maximum for the profile)"
    },
    "income": {
      "type": "number",
      "description": "gross salary CHF per year"
    },
    "capital": {
      "type": "number",
      "description": "capital of a later withdrawal CHF (optional)"
    },
    "commune": {
      "type": "string",
      "description": "commune name or postcode"
    },
    "married": {
      "type": "boolean",
      "description": "true for a married couple (joint taxation), false or omitted for a single person."
    },
    "children": {
      "type": "number",
      "description": "Number of children in the household, e.g. 2 (default 0)."
    },
    "pension_fund": {
      "type": "boolean",
      "description": "member of a pension fund (default true)"
    },
    "age_at_withdrawal": {
      "type": "number",
      "description": "Age when the 3a capital is withdrawn, e.g. 64 (default 65)."
    }
  },
  "additionalProperties": false
}
pillar3a_tax output schema
{
  "type": "object",
  "properties": {
    "attribution": {
      "type": "string"
    }
  }
}
pillar3a_tax annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
plan_move — Plan a move
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Workflow for "I am moving from A to B in Switzerland: what changes for me?" in one call. Combines: income tax at both places (live ESTV, if income given), the health premium region and cheapest insurer at both places (FOPH), the electricity bill at both places (ElCom), the commute to work from both places (optional work_place), a side-by-side of both communes (official figures), and the official to-do list for a move within Switzerland (ch.ch) with the rules on taxes (StHG Art. 68) and premiums (KVG Art. 61). Each part fails independently, so one unavailable source never blocks the answer.

plan_move input schema
{
  "type": "object",
  "required": [
    "from_commune",
    "to_commune"
  ],
  "properties": {
    "income": {
      "type": "number",
      "description": "gross household income CHF/year (optional, enables the tax comparison)"
    },
    "married": {
      "type": "boolean",
      "description": "true for a married couple (joint taxation), false or omitted for a single person."
    },
    "children": {
      "type": "number",
      "description": "Number of children in the household, e.g. 2 (default 0)."
    },
    "language": {
      "enum": [
        "de",
        "fr",
        "it",
        "en"
      ],
      "type": "string",
      "description": "language of the to-do list, default en"
    },
    "to_commune": {
      "type": "string",
      "description": "new commune, name or postcode"
    },
    "work_place": {
      "type": "string",
      "description": "workplace or station (optional, enables the commute comparison)"
    },
    "from_commune": {
      "type": "string",
      "description": "current commune, name or postcode"
    }
  },
  "additionalProperties": false
}
plan_move output schema
{
  "type": "object",
  "properties": {
    "attribution": {
      "type": "string"
    }
  }
}
plan_move annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
tax_by_commune — Tax on CHF 100,000 by commune
Advertised by the server during the last successful anonymous check.
Advertised read-only

Income tax on a CHF 100,000 gross salary in every Swiss commune (federal + cantonal + communal, no church tax, no wealth), from the official ESTV tax calculator, for two households: single (35) and married couple with two children. Ranks the communes of a canton or Switzerland. For a specific income, wealth or household in one commune use commune_tax.

tax_by_commune input schema
{
  "type": "object",
  "properties": {
    "limit": {
      "type": "number",
      "description": "how many lowest/highest communes, default 10"
    },
    "canton": {
      "type": "string",
      "description": "Canton as 2-letter abbreviation, e.g. \"ZH\", \"GE\", \"TI\". Lists every commune of the canton."
    },
    "commune": {
      "type": "string",
      "description": "Swiss commune: official name, BFS number or 4-digit postcode, e.g. \"Winterthur\", \"230\" or \"8400\". «8001 Zürich» and «Basel (BS)» also work."
    },
    "household": {
      "enum": [
        "single",
        "family"
      ],
      "type": "string",
      "description": "single (35, no children) or family (married couple with two children)."
    }
  },
  "additionalProperties": false
}
tax_by_commune output schema
{
  "type": "object",
  "properties": {
    "attribution": {
      "type": "string"
    }
  }
}
tax_by_commune annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
health_premium_increase — Health premium increase
Advertised by the server during the last successful anonymous check.
Advertised read-only

How much Swiss health insurance premiums rise next year: the FOPH official mean premium (all models and deductibles, as people chose them) for Switzerland and per canton, for adults, young adults (19–25) and children, previous year vs next year in CHF and %; plus the median change of each insurer's standard premium on the same tariff. canton and insurer are optional filters.

health_premium_increase input schema
{
  "type": "object",
  "properties": {
    "canton": {
      "type": "string",
      "description": "Canton as 2-letter abbreviation, e.g. \"ZH\", \"GE\", \"TI\". Omit for Switzerland and every canton."
    },
    "insurer": {
      "type": "string",
      "description": "insurer name, e.g. CSS, optional"
    }
  },
  "additionalProperties": false
}
health_premium_increase output schema
{
  "type": "object",
  "properties": {
    "attribution": {
      "type": "string"
    }
  }
}
health_premium_increase annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
health_deductible_advice — Best health deductible
Advertised by the server during the last successful anonymous check.
Advertised read-only

Which health insurance deductible (franchise) pays off: for a commune or premium region, age group, model and expected yearly health costs, the yearly premiums plus cost sharing (deductible + 10 % up to CHF 700, children CHF 350, KVG) for every deductible, the cheapest choice and the break-even between the lowest and highest deductible. Hospital contribution and the 40 % share on some medicines are not included.

health_deductible_advice input schema
{
  "type": "object",
  "properties": {
    "model": {
      "type": "string",
      "description": "standard (default), family_doctor, telemedicine or any"
    },
    "region": {
      "type": "string",
      "description": "Premium region as canton plus number, e.g. \"ZH-1\", \"ZH-2\", \"BE-3\" (use instead of commune)."
    },
    "commune": {
      "type": "string",
      "description": "Swiss commune: official name, BFS number or 4-digit postcode, e.g. \"Winterthur\", \"230\" or \"8400\". «8001 Zürich» and «Basel (BS)» also work."
    },
    "insurer": {
      "type": "string",
      "description": "one insurer by name, optional (default: the cheapest offer per deductible)"
    },
    "accident": {
      "type": "boolean",
      "description": "accident cover included (default true; employees 8+ h a week are covered by the employer)"
    },
    "age_group": {
      "type": "string",
      "description": "adult (default), young_adult or child"
    },
    "expected_costs": {
      "type": "number",
      "description": "expected health costs per year in CHF (doctor, medicines, hospital, therapy), default 1000"
    }
  },
  "additionalProperties": false
}
health_deductible_advice output schema
{
  "type": "object",
  "properties": {
    "attribution": {
      "type": "string"
    }
  }
}
health_deductible_advice annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
switch_health_insurer — Switch health insurer
Advertised by the server during the last successful anonymous check.
Advertised read-only

How to switch basic health insurance in Switzerland: the deadline for next year (receipt by 30 November, the Friday before on a weekend) with the days left, the five steps, when a switch is blocked (debts reminded by 30 November and unpaid by 31 December), the 30 June option (standard model with ordinary deductible only), deductible and model changes, and the free cancellation-letter page in DE/FR/IT/EN. Official sources: FOPH, priminfo, KVG Art. 7.

switch_health_insurer input schema
{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
switch_health_insurer output schema
{
  "type": "object",
  "properties": {
    "attribution": {
      "type": "string"
    }
  }
}
switch_health_insurer annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}

Prompts

Not advertised

No prompt definitions available.

Resources

192 advertised

school/holidays — Holidays

Advertised by the server during the last successful anonymous check.

School holidays of the compulsory schools in the 26 cantons, from cantonal sources · official Swiss source · switzerland, canton · 2026–2027

school/holidays URI
sli://dataset/school/holidays

MIME type: application/json

tax/filing-deadlines — Filing deadlines

Advertised by the server during the last successful anonymous check.

Tax return deadlines and extensions in the 26 cantons; imputed rental value: how each canton sets it until 2028 and the status of the second-home tax (official sources) · official Swiss source · switzerland, canton

tax/filing-deadlines URI
sli://dataset/tax/filing-deadlines

MIME type: application/json

tax/imputed-rent-cantons — Imputed rent — cantons

Advertised by the server during the last successful anonymous check.

Tax return deadlines and extensions in the 26 cantons; imputed rental value: how each canton sets it until 2028 and the status of the second-home tax (official sources) · ESTV, Steuerdokumentation «Steuerliche Herausforderungen: Eigenmietwert», February 2026, section 5.4.1 «Ermässigung des Mietwerts» · switzerland, canton

tax/imputed-rent-cantons URI
sli://dataset/tax/imputed-rent-cantons

MIME type: application/json

tax/imputed-rent-docs — Imputed rent docs

Advertised by the server during the last successful anonymous check.

Tax return deadlines and extensions in the 26 cantons; imputed rental value: how each canton sets it until 2028 and the status of the second-home tax (official sources) · official Swiss source · switzerland

tax/imputed-rent-docs URI
sli://dataset/tax/imputed-rent-docs

MIME type: application/json

tax/second-home-tax-cantons — Second home tax — cantons

Advertised by the server during the last successful anonymous check.

Tax return deadlines and extensions in the 26 cantons; imputed rental value: how each canton sets it until 2028 and the status of the second-home tax (official sources) · official Swiss source · switzerland, canton

tax/second-home-tax-cantons URI
sli://dataset/tax/second-home-tax-cantons

MIME type: application/json

pollen/pollen — Pollen

Advertised by the server during the last successful anonymous check.

Pollen: MeteoSwiss network, 15 stations, daily values and pollen calendar · MeteoSwiss, pollen measuring network (open data, CC BY 4.0) · switzerland, canton

pollen/pollen URI
sli://dataset/pollen/pollen

MIME type: application/json

votes/announced — Announced

Advertised by the server during the last successful anonymous check.

Federal votes: subjects of the next vote as announced by the Federal Council (until VoteInfo publishes); official results of every federal vote since 1981 by canton and commune (FSO open data) · Federal vote subjects as announced by the Federal Council / Federal Chancellery, used until the VoteInfo OGD file for the date exists (BFS publishes it shortly before the vote). Titles verbatim from the official press release in each language; no official English release exists, so the English site shows the German title marked as official title. · switzerland

votes/announced URI
sli://dataset/votes/announced

MIME type: application/json

shops/sunday-shopping-cantons — Sunday shopping — cantons

Advertised by the server during the last successful anonymous check.

Sunday shopping and shop opening hours: rules of the 26 cantons from the official law texts, re-checked weekly · official Swiss source · switzerland, canton

shops/sunday-shopping-cantons URI
sli://dataset/shops/sunday-shopping-cantons

MIME type: application/json

fire/fire-danger — Fire danger

Advertised by the server during the last successful anonymous check.

Forest fire danger and cantonal fire bans per FOEN warning region, with own daily history · FOEN (Federal Office for the Environment), forest fire danger and cantonal prevention measures, data.geo.admin.ch · switzerland, canton · 1800–1901

fire/fire-danger URI
sli://dataset/fire/fire-danger

MIME type: application/json

fire/history — History

Advertised by the server during the last successful anonymous check.

Forest fire danger and cantonal fire bans per FOEN warning region, with own daily history · Daily snapshot of FOEN forest fire danger and cantonal measures per region, kept by the Swiss Living Index because FOEN publishes only the current state. days[date][region_id] = [danger level, measure level]. · switzerland · 1800–1901

fire/history URI
sli://dataset/fire/history

MIME type: application/json

water/bathing-quality — Bathing quality

Advertised by the server during the last successful anonymous check.

Water temperature: FOEN river stations, Lake Zurich (water police) with typical value for the week, Zurich baths · {"foen":{"url":"https://data.geo.admin.ch/ch.bafu.gewaesserschutz-badewasserqualitaet/gewaesserschutz-badewasserqualitaet/gewaesserschutz-badewasserqualitaet_2056.shp.zip","page":"https://map.geo.admi · switzerland

water/bathing-quality URI
sli://dataset/water/bathing-quality

MIME type: application/json

water/history — History

Advertised by the server during the last successful anonymous check.

Water temperature: FOEN river stations, Lake Zurich (water police) with typical value for the week, Zurich baths · One water temperature per station and day (°C, the value current at the time of the daily run), kept by the Swiss Living Index because FOEN publishes only the current value on LINDAS. rivers: FOEN station id; lake_zurich: daily mean of the water police station. · switzerland · 2009–2019

water/history URI
sli://dataset/water/history

MIME type: application/json

water/usual-cache — Usual cache

Advertised by the server during the last successful anonymous check.

Water temperature: FOEN river stations, Lake Zurich (water police) with typical value for the week, Zurich baths · official Swiss source · switzerland · 2009–2019

water/usual-cache URI
sli://dataset/water/usual-cache

MIME type: application/json

water/water-temperature — Water temperature

Advertised by the server during the last successful anonymous check.

Water temperature: FOEN river stations, Lake Zurich (water police) with typical value for the week, Zurich baths · {"rivers":{"url":"https://lindas.admin.ch/query","cube":"https://environment.ld.admin.ch/foen/hydro/river","credit":"Surface waters data: Hydrology Division, Federal Office for the Environment FOEN"," · switzerland · 2009–2019

water/water-temperature URI
sli://dataset/water/water-temperature

MIME type: application/json

places/brand-seats — Brand seats

Advertised by the server during the last successful anonymous check.

Typically …: protected specialities (AOP/IGP), traditional specialities, «Home of» brands with registered seat, UNESCO World Heritage, parks, cultural property of national importance · Commercial register (Zefix), linked data https://lindas.admin.ch · switzerland

places/brand-seats URI
sli://dataset/places/brand-seats

MIME type: application/json

places/brands — Brands

Advertised by the server during the last successful anonymous check.

Typically …: protected specialities (AOP/IGP), traditional specialities, «Home of» brands with registered seat, UNESCO World Heritage, parks, cultural property of national importance · «Home of»: well-known Swiss brands and the commune of the company's registered seat (Vito 2026-10-10). Editorial selection; the seat comes only from the commercial register (Zefix, via LINDAS linked data) and is re-checked weekly by scripts/verify-brands.mjs. Brands of companies that belong to a group are listed only with Vito's approval (group_approved). Brand names are used as plain words, no logos, no affiliation. · switzerland

places/brands URI
sli://dataset/places/brands

MIME type: application/json

places/highlights — Highlights

Advertised by the server during the last successful anonymous check.

Typically …: protected specialities (AOP/IGP), traditional specialities, «Home of» brands with registered seat, UNESCO World Heritage, parks, cultural property of national importance · {"aop":"BLW, Register der Ursprungsbezeichnungen und geografischen Angaben (GUB/GGA)","unesco_cultural":"BAK, UNESCO-Welterbe Kulturstätten","unesco_natural":"BAFU, UNESCO-Welterbe Naturstätten","park · switzerland, canton, commune

places/highlights URI
sli://dataset/places/highlights

MIME type: application/json

places/specialities — Specialities

Advertised by the server during the last successful anonymous check.

Typically …: protected specialities (AOP/IGP), traditional specialities, «Home of» brands with registered seat, UNESCO World Heritage, parks, cultural property of national importance · https://www.patrimoineculinaire.ch/ · switzerland, canton

places/specialities URI
sli://dataset/places/specialities

MIME type: application/json

switzerland/federal-council — Federal council

Advertised by the server during the last successful anonymous check.

Switzerland (Bund): the Federal Council and Federal Chancellery, verified on admin.ch; «how many» answers (cantons, communes, districts, inhabitants, cows, museums, hydropower plants, hospitals, languages, millionaires, enclaves) from the federal sources · Swiss Federal Chancellery, admin.ch: «Die sieben Mitglieder des Bundesrates» and the Federal Council portal · switzerland

switzerland/federal-council URI
sli://dataset/switzerland/federal-council

MIME type: application/json

switzerland/how-many — How many

Advertised by the server during the last successful anonymous check.

Switzerland (Bund): the Federal Council and Federal Chancellery, verified on admin.ch; «how many» answers (cantons, communes, districts, inhabitants, cows, museums, hydropower plants, hospitals, languages, millionaires, enclaves) from the federal sources · official Swiss source · switzerland

switzerland/how-many URI
sli://dataset/switzerland/how-many

MIME type: application/json

calendar/public-holidays-cantons — Public holidays — cantons

Advertised by the server during the last successful anonymous check.

Swiss year calendar (premium announcements, moving days, tax season, votes, releases) · SECO, Anhang «Feiertage Schweiz» (Auszug ArG, ArGV 1 bis 5) · switzerland, canton

calendar/public-holidays-cantons URI
sli://dataset/calendar/public-holidays-cantons

MIME type: application/json

calendar/swiss-year — Swiss year

Advertised by the server during the last successful anonymous check.

Swiss year calendar (premium announcements, moving days, tax season, votes, releases) · official Swiss source · switzerland

calendar/swiss-year URI
sli://dataset/calendar/swiss-year

MIME type: application/json

calendar/upcoming — Upcoming

Advertised by the server during the last successful anonymous check.

Swiss year calendar (premium announcements, moving days, tax season, votes, releases) · official Swiss source · switzerland

calendar/upcoming URI
sli://dataset/calendar/upcoming

MIME type: application/json

climate/climate-days-cantons — Climate days — cantons

Advertised by the server during the last successful anonymous check.

Climate (sunshine) · MeteoSwiss OGD SwissMetNet (data.geo.admin.ch), yearly station values tnd30xy0 / tnd20ny0 / tnd00ny0 · switzerland, canton · 1864–2025

climate/climate-days-cantons URI
sli://dataset/climate/climate-days-cantons

MIME type: application/json

climate/sunshine-cantons — Sunshine — cantons

Advertised by the server during the last successful anonymous check.

Climate (sunshine) · MeteoSwiss OGD SMN (data.geo.admin.ch), sre000y0 yearly sunshine duration · switzerland, canton · 1885–2025

climate/sunshine-cantons URI
sli://dataset/climate/sunshine-cantons

MIME type: application/json

climate/sunshine-switzerland — Sunshine — switzerland

Advertised by the server during the last successful anonymous check.

Climate (sunshine) · MeteoSwiss OGD SMN (data.geo.admin.ch), sre000y0 yearly sunshine duration · switzerland · 1884–2025

climate/sunshine-switzerland URI
sli://dataset/climate/sunshine-switzerland

MIME type: application/json

composition/population-composition-cantons — Population composition — cantons

Advertised by the server during the last successful anonymous check.

Population composition · BFS px-x-0102020000_201 (Demografische Bilanz) — Bestand am 31. Dezember by Staatsangehörigkeit · switzerland, canton · 1981–2025

composition/population-composition-cantons URI
sli://dataset/composition/population-composition-cantons

MIME type: application/json

composition/population-composition-communes — Population composition — communes

Advertised by the server during the last successful anonymous check.

Population composition · BFS px-x-0102020000_201 (Demografische Bilanz) — Bestand am 31. Dezember by Staatsangehörigkeit · switzerland, commune · 1981–2025

composition/population-composition-communes URI
sli://dataset/composition/population-composition-communes

MIME type: application/json

composition/population-composition-switzerland — Population composition — switzerland

Advertised by the server during the last successful anonymous check.

Population composition · BFS px-x-0102020000_201 (Demografische Bilanz) — Bestand am 31. Dezember by Staatsangehörigkeit · switzerland · 1981–2025

composition/population-composition-switzerland URI
sli://dataset/composition/population-composition-switzerland

MIME type: application/json

cost/capital-tax-communes — Capital tax — communes

Advertised by the server during the last successful anonymous check.

Cost of living (rent, premiums, electricity, tax burden, household budget) · ESTV tax calculator (swisstaxcalculator.estv.admin.ch), API_calculateManyCapitalTaxes · switzerland, commune · 2026–2026

cost/capital-tax-communes URI
sli://dataset/cost/capital-tax-communes

MIME type: application/json

cost/cost-reference — Cost reference

Advertised by the server during the last successful anonymous check.

Cost of living (rent, premiums, electricity, tax burden, household budget) · official Swiss source · switzerland

cost/cost-reference URI
sli://dataset/cost/cost-reference

MIME type: application/json

cost/dog-tax-communes — Dog tax — communes

Advertised by the server during the last successful anonymous check.

Cost of living (rent, premiums, electricity, tax burden, household budget) · {"VD":{"table":"https://www.vd.ch/fileadmin/user_upload/themes/territoire/communes/finances_communales/fichiers_xls/Arr%C3%AAt%C3%A9s_d_imposition_2026.xls","rule":"https://www.vd.ch/etat-droit-financ · switzerland, commune

cost/dog-tax-communes URI
sli://dataset/cost/dog-tax-communes

MIME type: application/json

cost/electricity-cantons — Electricity — cantons

Advertised by the server during the last successful anonymous check.

Cost of living (rent, premiums, electricity, tax burden, household budget) · ElCom (Eidg. Elektrizitätskommission) — cube electricityprice-canton via LINDAS SPARQL · switzerland, canton · 2011–2027

cost/electricity-cantons URI
sli://dataset/cost/electricity-cantons

MIME type: application/json

cost/electricity-communes — Electricity — communes

Advertised by the server during the last successful anonymous check.

Cost of living (rent, premiums, electricity, tax burden, household budget) · ElCom — Federal Electricity Commission, electricity tariffs per commune and grid operator (LINDAS cube elcom/electricityprice) · switzerland, commune · 2025–2027

cost/electricity-communes URI
sli://dataset/cost/electricity-communes

MIME type: application/json

cost/health-premiums-cantons — Health premiums — cantons

Advertised by the server during the last successful anonymous check.

Cost of living (rent, premiums, electricity, tax burden, household budget) · BAG / FOPH via opendata.swiss (health-insurance-premiums: Prämien_CH.csv + yearly archives) and priminfo.admin.ch (praemienregionen_<year>.xlsx, sheet D_PRIM) · switzerland, canton · 2010–2027

cost/health-premiums-cantons URI
sli://dataset/cost/health-premiums-cantons

MIME type: application/json

cost/health-premiums-regions — Health premiums regions

Advertised by the server during the last successful anonymous check.

Cost of living (rent, premiums, electricity, tax burden, household budget) · BAG / FOPH via opendata.swiss (health-insurance-premiums: Prämien_CH.csv + yearly archives) and priminfo.admin.ch (praemienregionen_<year>.xlsx, sheet D_PRIM) · switzerland · 2026–2027

cost/health-premiums-regions URI
sli://dataset/cost/health-premiums-regions

MIME type: application/json

cost/household-budget — Household budget

Advertised by the server during the last successful anonymous check.

Cost of living (rent, premiums, electricity, tax burden, household budget) · BFS Haushaltsbudgeterhebung (HABE) — T20.02.01.00.13 Einnahmen und Ausgaben nach Haushaltstyp (je-f-20.02.01.00.13, damId 32666967, released 2024-11-12) · switzerland

cost/household-budget URI
sli://dataset/cost/household-budget

MIME type: application/json

cost/rent-cantons — Rent — cantons

Advertised by the server during the last successful anonymous check.

Cost of living (rent, premiums, electricity, tax burden, household budget) · BFS Strukturerhebung — je-d-09.03.03.01 (avg rent by rooms & canton) · switzerland, canton · 2010–2024

cost/rent-cantons URI
sli://dataset/cost/rent-cantons

MIME type: application/json

cost/tax-burden-cantons — Tax burden — cantons

Advertised by the server during the last successful anonymous check.

Cost of living (rent, premiums, electricity, tax burden, household budget) · ESTV tax calculator (API_calculateDetailedTaxes, lg-proxy) · switzerland, canton · 2026–2026

cost/tax-burden-cantons URI
sli://dataset/cost/tax-burden-cantons

MIME type: application/json

cost/tax-communes — Tax — communes

Advertised by the server during the last successful anonymous check.

Cost of living (rent, premiums, electricity, tax burden, household budget) · ESTV tax calculator (swisstaxcalculator.estv.admin.ch), API_calculateDetailedTaxes · switzerland, commune · 2026–2026

cost/tax-communes URI
sli://dataset/cost/tax-communes

MIME type: application/json

cost/tax-locations-2026 — Tax locations 2026

Advertised by the server during the last successful anonymous check.

Cost of living (rent, premiums, electricity, tax burden, household budget) · ESTV tax calculator API_searchLocation, every postcode of the swisstopo register · switzerland, commune

cost/tax-locations-2026 URI
sli://dataset/cost/tax-locations-2026

MIME type: application/json

cost/tax-multipliers-communes — Tax multipliers — communes

Advertised by the server during the last successful anonymous check.

Cost of living (rent, premiums, electricity, tax burden, household budget) · ESTV Steuerrechner, API_exportManySimpleRates (TaxGroupID 77), Steuerfüsse aller Gemeinden · switzerland, canton, commune · 2004–2027

cost/tax-multipliers-communes URI
sli://dataset/cost/tax-multipliers-communes

MIME type: application/json

cost/utility-fees-pue — Utility fees pue

Advertised by the server during the last successful anonymous check.

Cost of living (rent, premiums, electricity, tax burden, household budget) · Preisüberwacher (PUE), Gebührenvergleich Wasser, Abwasser, Abfall · switzerland, commune

cost/utility-fees-pue URI
sli://dataset/cost/utility-fees-pue

MIME type: application/json

cost/waste-fees-communes — Waste fees — communes

Advertised by the server during the last successful anonymous check.

Cost of living (rent, premiums, electricity, tax burden, household budget) · {"zh":{"url":"https://daten.statistik.zh.ch/ogd/daten/ressourcen/KTZH_00001803_00003461.csv","page":"https://opendata.swiss/de/dataset/abfallmengen-und-abfallgebuhren-in-den-gemeinden-im-kanton-zurich · switzerland, commune · 2000–2026

cost/waste-fees-communes URI
sli://dataset/cost/waste-fees-communes

MIME type: application/json

demographics/births-cantons — Births — cantons

Advertised by the server during the last successful anonymous check.

Births, deaths, civil status, first names · BFS BEVNAT via stats.swiss SDMX (DF_BEVNAT_NAISSANCES_1, DF_BEVNAT_NAISSANCES_2) + BFS DAM tables su-d-01.04.01.01.08, su-d-01.04.01.01.17 + PX-Web px-x-0102020000_101, px-x-0102020204_111 · switzerland, canton · 1803–2025

demographics/births-cantons URI
sli://dataset/demographics/births-cantons

MIME type: application/json

demographics/births-communes — Births — communes

Advertised by the server during the last successful anonymous check.

Births, deaths, civil status, first names · BFS px-x-0102020000_201 (Demografische Bilanz nach institutionellen Gliederungen, Komponente Lebendgeburt) · switzerland, commune · 2000–2025

demographics/births-communes URI
sli://dataset/demographics/births-communes

MIME type: application/json

demographics/births-switzerland — Births — switzerland

Advertised by the server during the last successful anonymous check.

Births, deaths, civil status, first names · BFS px-x-0102020000_201 (Demografische Bilanz nach institutionellen Gliederungen, Komponente Lebendgeburt) · switzerland · 2000–2025

demographics/births-switzerland URI
sli://dataset/demographics/births-switzerland

MIME type: application/json

demographics/civil-status-cantons — Civil status — cantons

Advertised by the server during the last successful anonymous check.

Births, deaths, civil status, first names · BFS px-x-0102010000_103 (Wohnbevölkerung nach Zivilstand) · switzerland, canton · 2010–2025

demographics/civil-status-cantons URI
sli://dataset/demographics/civil-status-cantons

MIME type: application/json

demographics/civil-status-communes — Civil status — communes

Advertised by the server during the last successful anonymous check.

Births, deaths, civil status, first names · BFS px-x-0102010000_103 (Wohnbevölkerung nach Zivilstand) · switzerland, commune · 2010–2025

demographics/civil-status-communes URI
sli://dataset/demographics/civil-status-communes

MIME type: application/json

demographics/civil-status-switzerland — Civil status — switzerland

Advertised by the server during the last successful anonymous check.

Births, deaths, civil status, first names · BFS px-x-0102010000_103 (Wohnbevölkerung nach Zivilstand) · switzerland · 2010–2025

demographics/civil-status-switzerland URI
sli://dataset/demographics/civil-status-switzerland

MIME type: application/json

demographics/deaths-cantons — Deaths — cantons

Advertised by the server during the last successful anonymous check.

Births, deaths, civil status, first names · BFS px-x-0102020000_201 (Demografische Bilanz nach institutionellen Gliederungen, Komponente Todesfall) · switzerland, canton · 2000–2025

demographics/deaths-cantons URI
sli://dataset/demographics/deaths-cantons

MIME type: application/json

demographics/deaths-communes — Deaths — communes

Advertised by the server during the last successful anonymous check.

Births, deaths, civil status, first names · BFS px-x-0102020000_201 (Demografische Bilanz nach institutionellen Gliederungen, Komponente Todesfall) · switzerland, commune · 2000–2025

demographics/deaths-communes URI
sli://dataset/demographics/deaths-communes

MIME type: application/json

demographics/deaths-switzerland — Deaths — switzerland

Advertised by the server during the last successful anonymous check.

Births, deaths, civil status, first names · BFS px-x-0102020000_201 (Demografische Bilanz nach institutionellen Gliederungen, Komponente Todesfall) · switzerland · 2000–2025

demographics/deaths-switzerland URI
sli://dataset/demographics/deaths-switzerland

MIME type: application/json

demographics/deaths-weekly — Deaths weekly

Advertised by the server during the last successful anonymous check.

Births, deaths, civil status, first names · BFS Mortalitätsmonitoring (weekly deaths, expected value, 99 % band): DAM ts-d-14.03.04.03-wr (Switzerland, 2010 onwards) and ts-d-14.03.04.06-wr (cantons, 2020 onwards) · switzerland, canton

demographics/deaths-weekly URI
sli://dataset/demographics/deaths-weekly

MIME type: application/json

demographics/first-names-cantons — First names — cantons

Advertised by the server during the last successful anonymous check.

Births, deaths, civil status, first names · BFS BEVNAT via stats.swiss SDMX (DF_BEVNAT_PRENOMS_1, DF_BEVNAT_PRENOMS_2) — Vornamen der Neugeborenen nach Sprachregion und Kanton · switzerland, canton · 1800–2027

demographics/first-names-cantons URI
sli://dataset/demographics/first-names-cantons

MIME type: application/json

demographics/vital-monthly — Vital monthly

Advertised by the server during the last successful anonymous check.

Births, deaths, civil status, first names · BFS BEVNAT, SDMX CH1.BEVNAT/DF_BEVNAT_EVENEMENTS_1 (event 2 = live birth, 4 = death), definitive years · switzerland, canton · 1969–2025

demographics/vital-monthly URI
sli://dataset/demographics/vital-monthly

MIME type: application/json

demographics/vital-sources-catalogue — Births, deaths and hospitals: official aggregate sources catalogue (Switzerland)

Advertised by the server during the last successful anonymous check.

Births, deaths, civil status, first names · official Swiss source · switzerland · 2010–2025

demographics/vital-sources-catalogue URI
sli://dataset/demographics/vital-sources-catalogue

MIME type: application/json

economy/establishments-jobs-cantons — Establishments jobs — cantons

Advertised by the server during the last successful anonymous check.

Jobs, establishments, unemployment · BFS px-x-0602010000_102 (STATENT) · switzerland, canton · 2011–2024

economy/establishments-jobs-cantons URI
sli://dataset/economy/establishments-jobs-cantons

MIME type: application/json

economy/establishments-jobs-communes — Establishments jobs — communes

Advertised by the server during the last successful anonymous check.

Jobs, establishments, unemployment · BFS px-x-0602010000_102 (STATENT) · switzerland, commune · 2011–2024

economy/establishments-jobs-communes URI
sli://dataset/economy/establishments-jobs-communes

MIME type: application/json

economy/establishments-jobs-switzerland — Establishments jobs — switzerland

Advertised by the server during the last successful anonymous check.

Jobs, establishments, unemployment · BFS px-x-0602010000_102 (STATENT) · switzerland · 2011–2024

economy/establishments-jobs-switzerland URI
sli://dataset/economy/establishments-jobs-switzerland

MIME type: application/json

economy/unemployment-cantons — Unemployment — cantons

Advertised by the server during the last successful anonymous check.

Jobs, establishments, unemployment · SECO amstat.ch — Arbeitsmarktstatistik (reports "2.1 Arbeitslosenquoten" monthly + "3.1 Durchschnittliche Arbeitslosenquote pro Jahr") · switzerland, canton · 1993–2026

economy/unemployment-cantons URI
sli://dataset/economy/unemployment-cantons

MIME type: application/json

education/private-schools — Private & international schools in Switzerland (incl. boarding)

Advertised by the server during the last successful anonymous check.

Universities and private schools · official Swiss source · switzerland

education/private-schools URI
sli://dataset/education/private-schools

MIME type: application/json

education/university-fields — University fields

Advertised by the server during the last successful anonymous check.

Universities and private schools · BFS px-x-1502040100_106 (Studierende universitäre Hochschulen, Fachbereich) · switzerland · 2025–2025

education/university-fields URI
sli://dataset/education/university-fields

MIME type: application/json

education/university-foreign-students — University foreign students

Advertised by the server during the last successful anonymous check.

Universities and private schools · BFS px-x-1502040100_104 (Studierende universitäre Hochschulen, Staatsangehörigkeit) · switzerland · 1990–2025

education/university-foreign-students URI
sli://dataset/education/university-foreign-students

MIME type: application/json

family/child-deductions-cantons — Child deductions — cantons

Advertised by the server during the last successful anonymous check.

Family tax deductions · ESTV — Steuermäppchen, Einkommenssteuer – Sozialabzüge: Kinderabzug (de/fr) · switzerland, canton · 2025–2025

family/child-deductions-cantons URI
sli://dataset/family/child-deductions-cantons

MIME type: application/json

family/childcare-deductions-cantons — Childcare deductions — cantons

Advertised by the server during the last successful anonymous check.

Family tax deductions · ESTV — Steuermäppchen, Einkommenssteuer: Abzug der Kosten für die Drittbetreuung der Kinder (de/fr) · switzerland, canton · 2025–2025

family/childcare-deductions-cantons URI
sli://dataset/family/childcare-deductions-cantons

MIME type: application/json

finance/cantonal-finance-cantons — Cantonal finance — cantons

Advertised by the server during the last successful anonymous check.

Public finances (Confederation, cantons, communes) · EFV FS-Modell Standardauswertung (data.finance.admin.ch) + main_extern (aggregates) · switzerland, canton · 1990–2024

finance/cantonal-finance-cantons URI
sli://dataset/finance/cantonal-finance-cantons

MIME type: application/json

finance/cantonal-finance-switzerland — Cantonal finance — switzerland

Advertised by the server during the last successful anonymous check.

Public finances (Confederation, cantons, communes) · EFV FS-Modell Standardauswertung (data.finance.admin.ch) + main_extern (aggregates) · switzerland · 1990–2027

finance/cantonal-finance-switzerland URI
sli://dataset/finance/cantonal-finance-switzerland

MIME type: application/json

finance/commune-finance-cantonal — Commune finance cantonal

Advertised by the server during the last successful anonymous check.

Public finances (Confederation, cantons, communes) · {"SH":"workbook of the Amt für Justiz und Gemeinden SH (e-mail 2026-10-22), data/finance/inputs/sh-gemeindedaten-2020-2024.xlsx","NE":"workbook of the OCGF Neuchâtel (e-mail 2026-10-20), data/finance/ · switzerland, commune · 2010–2025

finance/commune-finance-cantonal URI
sli://dataset/finance/commune-finance-cantonal

MIME type: application/json

finance/public-finance-cantons — Public finance — cantons

Advertised by the server during the last successful anonymous check.

Public finances (Confederation, cantons, communes) · EFV Finanzstatistik (FS-Modell), data.finance.admin.ch static datasets — fs_dashboard · switzerland, canton · 1990–2024

finance/public-finance-cantons URI
sli://dataset/finance/public-finance-cantons

MIME type: application/json

finance/public-finance-communes — Public finance — communes

Advertised by the server during the last successful anonymous check.

Public finances (Confederation, cantons, communes) · EFV Finanzstatistik (FS-Modell), data.finance.admin.ch static datasets — fs_dashboard · switzerland, commune · 1990–2024

finance/public-finance-communes URI
sli://dataset/finance/public-finance-communes

MIME type: application/json

finance/public-finance-switzerland — Public finance — switzerland

Advertised by the server during the last successful anonymous check.

Public finances (Confederation, cantons, communes) · EFV Finanzstatistik (FS-Modell), data.finance.admin.ch static datasets — fs_dashboard · switzerland · 1990–2025

finance/public-finance-switzerland URI
sli://dataset/finance/public-finance-switzerland

MIME type: application/json

frontaliers/frontaliers-cantons — Frontaliers — cantons

Advertised by the server during the last successful anonymous check.

Cross-border commuters · BFS Grenzgängerstatistik (GGS) via stats.swiss SDMX CH1.GGS (DF_GGS_1..6) · switzerland, canton · 1996–2026

frontaliers/frontaliers-cantons URI
sli://dataset/frontaliers/frontaliers-cantons

MIME type: application/json

frontaliers/frontaliers-communes — {"de":"Ausländische Grenzgänger/-innen nach Arbeitsort und Geschlecht","fr":"Personnes frontalières étrangères selon le lieu de travail et le sexe","it":"Persone frontaliere di nazionalità straniera s

Advertised by the server during the last successful anonymous check.

Cross-border commuters · BFS Grenzgängerstatistik (GGS) via stats.swiss SDMX CH1.GGS/DF_GGS_2/1.1.0 · switzerland, commune · 1996–2026

frontaliers/frontaliers-communes URI
sli://dataset/frontaliers/frontaliers-communes

MIME type: application/json

frontaliers/frontaliers-metrics-cantons — Frontaliers metrics — cantons

Advertised by the server during the last successful anonymous check.

Cross-border commuters · DERIVED from BFS GGS (stats.swiss CH1.GGS) Q4 values — see data/frontaliers/frontaliers-cantons.json · switzerland, canton · 1996–2025

frontaliers/frontaliers-metrics-cantons URI
sli://dataset/frontaliers/frontaliers-metrics-cantons

MIME type: application/json

frontaliers/frontaliers-nationality-3y-avg — Frontaliers nationality 3y avg

Advertised by the server during the last successful anonymous check.

Cross-border commuters · BFS T 03.02.01.40 (je-d-03.02.01.40) — Grenzgänger/innen nach Wohn- und Arbeitsort (innerhalb oder ausserhalb der Schweiz), nach Nationalität, Durchschnitte über 3 Jahre · switzerland · 2002–2017

frontaliers/frontaliers-nationality-3y-avg URI
sli://dataset/frontaliers/frontaliers-nationality-3y-avg

MIME type: application/json

fuel/fuel-prices — Fuel prices

Advertised by the server during the last successful anonymous check.

Fuel prices (Switzerland and border countries) · {"ch":{"name":"BFS Landesindex der Konsumentenpreise — Durchschnittspreise Energie und Treibstoffe (monthly since 1993, annual since 1970)","url":"https://www.bfs.admin.ch/asset/de/su-d-05.02","asset" · switzerland · 1985–2026

fuel/fuel-prices URI
sli://dataset/fuel/fuel-prices

MIME type: application/json

health/hospital-infrastructure-cantons — Hospital infrastructure — cantons

Advertised by the server during the last successful anonymous check.

Health insurance and health care · BFS px-x-1404010100_102 (Angebot der Krankenhäuser) · switzerland, canton · 2010–2024

health/hospital-infrastructure-cantons URI
sli://dataset/health/hospital-infrastructure-cantons

MIME type: application/json

health/hospital-infrastructure-switzerland — Hospital infrastructure — switzerland

Advertised by the server during the last successful anonymous check.

Health insurance and health care · BFS px-x-1404010100_102 (Angebot der Krankenhäuser) · switzerland · 2010–2024

health/hospital-infrastructure-switzerland URI
sli://dataset/health/hospital-infrastructure-switzerland

MIME type: application/json

health/hospital-quality-bag — Hospital quality bag

Advertised by the server during the last successful anonymous check.

Health insurance and health care · Bundesamt für Gesundheit BAG, Qualitätsindikatoren der Schweizer Akutspitäler · switzerland

health/hospital-quality-bag URI
sli://dataset/health/hospital-quality-bag

MIME type: application/json

health/hospital-staff-cantons — Hospital staff — cantons

Advertised by the server during the last successful anonymous check.

Health insurance and health care · BFS px-x-1404010100_103 (Personal der Krankenhäuser) · switzerland, canton · 2010–2024

health/hospital-staff-cantons URI
sli://dataset/health/hospital-staff-cantons

MIME type: application/json

health/hospital-staff-switzerland — Hospital staff — switzerland

Advertised by the server during the last successful anonymous check.

Health insurance and health care · BFS px-x-1404010100_103 (Personal der Krankenhäuser) · switzerland · 2010–2024

health/hospital-staff-switzerland URI
sli://dataset/health/hospital-staff-switzerland

MIME type: application/json

health/hospitals-bag — Hospitals bag

Advertised by the server during the last successful anonymous check.

Health insurance and health care · Bundesamt für Gesundheit BAG, Kennzahlen der Schweizer Spitäler · switzerland, canton

health/hospitals-bag URI
sli://dataset/health/hospitals-bag

MIME type: application/json

health/nursing-homes-cantons — Nursing homes — cantons

Advertised by the server during the last successful anonymous check.

Health insurance and health care · BFS px-x-1404010100_301 (Angebot sozialmedizinische Institutionen) · switzerland, canton · 2006–2024

health/nursing-homes-cantons URI
sli://dataset/health/nursing-homes-cantons

MIME type: application/json

health/nursing-homes-switzerland — Nursing homes — switzerland

Advertised by the server during the last successful anonymous check.

Health insurance and health care · BFS px-x-1404010100_301 (Angebot sozialmedizinische Institutionen) · switzerland · 2006–2024

health/nursing-homes-switzerland URI
sli://dataset/health/nursing-homes-switzerland

MIME type: application/json

health/premium-mean-official — Premium mean official

Advertised by the server during the last successful anonymous check.

Health insurance and health care · BAG / EDI: yearly premium media release and its attachment «Kantonale monatliche mittlere Prämien … inkl. Wahlfranchisen und Modelle» · switzerland · 2027–2027

health/premium-mean-official URI
sli://dataset/health/premium-mean-official

MIME type: application/json

health/premium-means-communes — Premium means — communes

Advertised by the server during the last successful anonymous check.

Health insurance and health care · BAG praemienregionen_<year>.xlsx, sheet D_PRIM · switzerland, commune · 2004–2027

health/premium-means-communes URI
sli://dataset/health/premium-means-communes

MIME type: application/json

health/premium-paid-cantons — Premium paid — cantons

Advertised by the server during the last successful anonymous check.

Health insurance and health care · BAG / FOPH — Statistik der obligatorischen Krankenversicherung (KVSTAT): T 3.01 (mean premium paid per insured person by canton since 1996) and T 8.09 (mean tariff premium per month, Switzerland, since 1996) · switzerland, canton · 1996–2027

health/premium-paid-cantons URI
sli://dataset/health/premium-paid-cantons

MIME type: application/json

health/premium-subsidies-cantons — Premium subsidies — cantons

Advertised by the server during the last successful anonymous check.

Health insurance and health care · BAG / FOPH — Statistik der obligatorischen Krankenversicherung (KVSTAT), tables T 4.01, 4.02, 4.07, 4.08 · switzerland, canton · 1996–2025

health/premium-subsidies-cantons URI
sli://dataset/health/premium-subsidies-cantons

MIME type: application/json

housing/home-price-index-switzerland — Home price index — switzerland

Advertised by the server during the last successful anonymous check.

Housing (costs, reference rate, rent index, home prices, vacancy, new dwellings) · BFS — Schweizerischer Wohnimmobilienpreisindex (IMPI) · switzerland · 2017–2026

housing/home-price-index-switzerland URI
sli://dataset/housing/home-price-index-switzerland

MIME type: application/json

housing/housing-costs — Housing costs

Advertised by the server during the last successful anonymous check.

Housing (costs, reference rate, rent index, home prices, vacancy, new dwellings) · BFS — Haushaltsbudgeterhebung (HABE): T20.02.01.02.01 (by year) and T20.02.01.02.02 (by Grossregion) · switzerland · 2006–2023

housing/housing-costs URI
sli://dataset/housing/housing-costs

MIME type: application/json

housing/new-dwellings-cantons — New dwellings — cantons

Advertised by the server during the last successful anonymous check.

Housing (costs, reference rate, rent index, home prices, vacancy, new dwellings) · BFS Bau- und Wohnbaustatistik (BWS) — neu erstellte Wohnungen · switzerland, canton · 2013–2024

housing/new-dwellings-cantons URI
sli://dataset/housing/new-dwellings-cantons

MIME type: application/json

housing/new-dwellings-communes — New dwellings — communes

Advertised by the server during the last successful anonymous check.

Housing (costs, reference rate, rent index, home prices, vacancy, new dwellings) · BFS Bau- und Wohnbaustatistik (BWS) — neu erstellte Wohnungen · switzerland, commune · 2013–2024

housing/new-dwellings-communes URI
sli://dataset/housing/new-dwellings-communes

MIME type: application/json

housing/reference-rate — Reference rate

Advertised by the server during the last successful anonymous check.

Housing (costs, reference rate, rent index, home prices, vacancy, new dwellings) · BWO — Bundesamt für Wohnungswesen: hypothekarischer Referenzzinssatz · switzerland

housing/reference-rate URI
sli://dataset/housing/reference-rate

MIME type: application/json

housing/rent-index-cantons — Rent index — cantons

Advertised by the server during the last successful anonymous check.

Housing (costs, reference rate, rent index, home prices, vacancy, new dwellings) · BFS Durchschnittlicher Mietpreis in Franken nach Zimmerzahl und Kanton (je-d-09.03.03.01, published 2026-03-05) and BFS Wohnungen nach Zimmerzahl, Bauperiode und Kantonen (je-d-09.03.01.01, published 2026-09-15) · switzerland, canton · 2010–2024

housing/rent-index-cantons URI
sli://dataset/housing/rent-index-cantons

MIME type: application/json

housing/rent-index — Rent index

Advertised by the server during the last successful anonymous check.

Housing (costs, reference rate, rent index, home prices, vacancy, new dwellings) · BFS — Landesindex der Konsumentenpreise (LIK): Mietpreisindex (MPI), all index bases · switzerland · 1940–2025

housing/rent-index URI
sli://dataset/housing/rent-index

MIME type: application/json

housing/rent-regional — Rent regional

Advertised by the server during the last successful anonymous check.

Housing (costs, reference rate, rent index, home prices, vacancy, new dwellings) · official Swiss source · switzerland · 1995–2026

housing/rent-regional URI
sli://dataset/housing/rent-regional

MIME type: application/json

housing/snb-rates — Snb rates

Advertised by the server during the last successful anonymous check.

Housing (costs, reference rate, rent index, home prices, vacancy, new dwellings) · {"policy":{"cube":"snbgwdzid","url":"https://data.snb.ch/api/cube/snbgwdzid/data/csv/en","page":"https://data.snb.ch/en/topics/ziredev#!/cube/snbgwdzid"},"mortgages":{"cube":"zikrepro","url":"https:// · switzerland · 1933–2026

housing/snb-rates URI
sli://dataset/housing/snb-rates

MIME type: application/json

housing/vacancy-cantons — Vacancy — cantons

Advertised by the server during the last successful anonymous check.

Housing (costs, reference rate, rent index, home prices, vacancy, new dwellings) · BFS Leerwohnungszählung (LWZ) — official viz feed ds-x-09.03.04-Key.json · switzerland, canton · 2025–2026

housing/vacancy-cantons URI
sli://dataset/housing/vacancy-cantons

MIME type: application/json

income/income-cantons — Income — cantons

Advertised by the server during the last successful anonymous check.

Income, salaries, minimum wages, payroll rates · {"dbst":{"org":"ESTV — Eidgenössische Steuerverwaltung","dataset":"Statistik direkte Bundessteuer, natürliche Personen — Statistische Kennzahlen (Normal- und Sonderfälle, ohne Kapitalleistungen aus Vo · switzerland, canton · 1973–2022

income/income-cantons URI
sli://dataset/income/income-cantons

MIME type: application/json

income/income-metrics-cantons — Income metrics — cantons

Advertised by the server during the last successful anonymous check.

Income, salaries, minimum wages, payroll rates · ESTV Statistik der direkten Bundessteuer (natürliche Personen, alle Steuerpflichtigen) + BFS VGR der Kantone — see data/income/income-cantons.json · switzerland, canton · 1999–2022

income/income-metrics-cantons URI
sli://dataset/income/income-metrics-cantons

MIME type: application/json

income/minimum-wages-cantons — Minimum wages — cantons

Advertised by the server during the last successful anonymous check.

Income, salaries, minimum wages, payroll rates · official cantonal pages (see each canton.source); statutory minimum hourly wage, gross · switzerland, canton · 2021–2027

income/minimum-wages-cantons URI
sli://dataset/income/minimum-wages-cantons

MIME type: application/json

income/minimum-wages-cities — Minimum wages cities

Advertised by the server during the last successful anonymous check.

Income, salaries, minimum wages, payroll rates · Communal minimum wages adopted by city voters, with their legal status. Not in force until the city council sets a date; shown as status, never as an applicable minimum. · switzerland

income/minimum-wages-cities URI
sli://dataset/income/minimum-wages-cities

MIME type: application/json

income/payroll-rates — Payroll rates

Advertised by the server during the last successful anonymous check.

Income, salaries, minimum wages, payroll rates · Synoptische Tabelle der Beitrags- und Prämiensätze, Stand 1.1.2026 · switzerland

income/payroll-rates URI
sli://dataset/income/payroll-rates

MIME type: application/json

income/wage-labels-it-en — Wage labels it en

Advertised by the server during the last successful anonymous check.

Income, salaries, minimum wages, payroll rates · official Swiss source · switzerland

income/wage-labels-it-en URI
sli://dataset/income/wage-labels-it-en

MIME type: application/json

income/wages-occupations — Monatlicher Bruttolohn nach Jahr, Grossregion, Berufsgruppe, Lebensalter, Geschlecht und Zentralwert und andere Perzentile

Advertised by the server during the last successful anonymous check.

Income, salaries, minimum wages, payroll rates · BFS — Schweizerische Lohnstrukturerhebung (LSE), PX-Web px-x-0304010000_205 · switzerland · 2012–2024

income/wages-occupations URI
sli://dataset/income/wages-occupations

MIME type: application/json

income/wages-regions — Wages regions

Advertised by the server during the last successful anonymous check.

Income, salaries, minimum wages, payroll rates · BFS Lohnstrukturerhebung (LSE) — PX-Web cube px-x-0304010000_203: Monatlicher Bruttolohn nach Jahr, Grossregion, Schweizer/innen und Ausländer/innen, Berufliche Stellung, Geschlecht und Zentralwert und andere Perzentile · switzerland · 2012–2024

income/wages-regions URI
sli://dataset/income/wages-regions

MIME type: application/json

income/wages-sectors — Monatlicher Bruttolohn nach Jahr, Grossregion, Wirtschaftsabteilung, Berufliche Stellung, Geschlecht und Zentralwert und andere Perzentile

Advertised by the server during the last successful anonymous check.

Income, salaries, minimum wages, payroll rates · BFS — Schweizerische Lohnstrukturerhebung (LSE), PX-Web px-x-0304010000_201 · switzerland · 2012–2024

income/wages-sectors URI
sli://dataset/income/wages-sectors

MIME type: application/json

infra/accessibility-cantons — Accessibility — cantons

Advertised by the server during the last successful anonymous check.

Infrastructure (broadband, public-transport accessibility) · ARE (Bundesamt für Raumentwicklung) — Erreichbarkeit ÖV / Strasse in Abhängigkeit von Reisezeit und Potenzial am Ziel; Nationales Personenverkehrsmodell (NPVM) des UVEK · switzerland, canton · 2017–2017

infra/accessibility-cantons URI
sli://dataset/infra/accessibility-cantons

MIME type: application/json

infra/accessibility-communes — Accessibility — communes

Advertised by the server during the last successful anonymous check.

Infrastructure (broadband, public-transport accessibility) · ARE (Bundesamt für Raumentwicklung) — Erreichbarkeit ÖV / Strasse in Abhängigkeit von Reisezeit und Potenzial am Ziel; Nationales Personenverkehrsmodell (NPVM) des UVEK · switzerland, commune · 2017–2017

infra/accessibility-communes URI
sli://dataset/infra/accessibility-communes

MIME type: application/json

infra/broadband-cantons — Broadband — cantons

Advertised by the server during the last successful anonymous check.

Infrastructure (broadband, public-transport accessibility) · BAKOM (Bundesamt für Kommunikation) — Breitbandatlas, LINDAS cube "Abdeckungsgrad der Gebäude mit Breitbanddiensten nach Gemeinde" · switzerland, canton · 2026–2026

infra/broadband-cantons URI
sli://dataset/infra/broadband-cantons

MIME type: application/json

infra/broadband-communes — Broadband — communes

Advertised by the server during the last successful anonymous check.

Infrastructure (broadband, public-transport accessibility) · BAKOM (Bundesamt für Kommunikation) — Breitbandatlas, LINDAS cube "Abdeckungsgrad der Gebäude mit Breitbanddiensten nach Gemeinde" · switzerland, commune · 2026–2026

infra/broadband-communes URI
sli://dataset/infra/broadband-communes

MIME type: application/json

infra/infra-metrics-cantons — Infra metrics — cantons

Advertised by the server during the last successful anonymous check.

Infrastructure (broadband, public-transport accessibility) · BAKOM Breitbandatlas (LINDAS NGA_GDE, building-weighted canton aggregates) + ARE Erreichbarkeit NPVM 2017 (population-weighted canton means) — see data/infra/*.json · switzerland, canton · 2017–2026

infra/infra-metrics-cantons URI
sli://dataset/infra/infra-metrics-cantons

MIME type: application/json

international/price-levels-eurostat — Price levels eurostat

Advertised by the server during the last successful anonymous check.

Switzerland vs Europe (price levels) · Eurostat — Purchasing power parities and price level indices (prc_ppp_ind) · switzerland · 2015–2024

international/price-levels-eurostat URI
sli://dataset/international/price-levels-eurostat

MIME type: application/json

migration/asylum-applications-nations — Asylum applications nations

Advertised by the server during the last successful anonymous check.

Migration and population change · State Secretariat for Migration SEM, asylum statistics (ZEMIS) · switzerland · 1986–2026

migration/asylum-applications-nations URI
sli://dataset/migration/asylum-applications-nations

MIME type: application/json

migration/asylum-switzerland — Asylum — switzerland

Advertised by the server during the last successful anonymous check.

Migration and population change · State Secretariat for Migration SEM, asylum statistics (ZEMIS) · switzerland · 2014–2026

migration/asylum-switzerland URI
sli://dataset/migration/asylum-switzerland

MIME type: application/json

migration/canton-od-matrix — Canton od matrix

Advertised by the server during the last successful anonymous check.

Migration and population change · BFS px-x-0103010200_151 (Binnenwanderung) · switzerland · 2011–2025

migration/canton-od-matrix URI
sli://dataset/migration/canton-od-matrix

MIME type: application/json

migration/immigration-by-age-sex-cantons — Immigration by age sex — cantons

Advertised by the server during the last successful anonymous check.

Migration and population change · {"immigration":{"cube":"px-x-0103020200_102","title":"Einwanderung der ständigen Wohnbevölkerung nach Jahr, Kanton, Staatsangehörigkeit, Geschlecht und Altersklasse","url":"https://www.pxweb.bfs.admin · switzerland, canton · 2011–2025

migration/immigration-by-age-sex-cantons URI
sli://dataset/migration/immigration-by-age-sex-cantons

MIME type: application/json

migration/immigration-by-nationality-cantons — Immigration by nationality — cantons

Advertised by the server during the last successful anonymous check.

Migration and population change · {"immigration_by_nationality":{"cube":"px-x-0103020200_102","title":"Einwanderung der ständigen Wohnbevölkerung nach Jahr, Kanton, Staatsangehörigkeit, Geschlecht und Altersklasse","url":"https://www. · switzerland, canton · 2011–2025

migration/immigration-by-nationality-cantons URI
sli://dataset/migration/immigration-by-nationality-cantons

MIME type: application/json

migration/immigration-reasons — Immigration reasons

Advertised by the server during the last successful anonymous check.

Migration and population change · State Secretariat for Migration SEM, foreigner statistics (ZEMIS), table 3-30 · switzerland · 2008–2025

migration/immigration-reasons URI
sli://dataset/migration/immigration-reasons

MIME type: application/json

migration/internal-migration-cantons — Internal migration — cantons

Advertised by the server during the last successful anonymous check.

Migration and population change · {"in":{"cube":"px-x-0103010200_101","title":"Binnenzuwanderung der ständigen Wohnbevölkerung nach Jahr, Kanton, Staatsangehörigkeit (Kategorie), Geschlecht, Zivilstand und Alter","url":"https://www.px · switzerland, canton · 2011–2025

migration/internal-migration-cantons URI
sli://dataset/migration/internal-migration-cantons

MIME type: application/json

migration/migration-by-origin-cantons — Migration by origin — cantons

Advertised by the server during the last successful anonymous check.

Migration and population change · BFS px-x-0103010200_121 (Wanderung der ständigen Wohnbevölkerung) · switzerland, canton · 2011–2025

migration/migration-by-origin-cantons URI
sli://dataset/migration/migration-by-origin-cantons

MIME type: application/json

migration/migration-by-origin-communes — Migration by origin — communes

Advertised by the server during the last successful anonymous check.

Migration and population change · BFS px-x-0103010200_121 (Wanderung der ständigen Wohnbevölkerung) · switzerland, commune · 2011–2025

migration/migration-by-origin-communes URI
sli://dataset/migration/migration-by-origin-communes

MIME type: application/json

migration/migration-by-origin-switzerland — Migration by origin — switzerland

Advertised by the server during the last successful anonymous check.

Migration and population change · BFS px-x-0103010200_121 (Wanderung der ständigen Wohnbevölkerung) · switzerland · 2011–2025

migration/migration-by-origin-switzerland URI
sli://dataset/migration/migration-by-origin-switzerland

MIME type: application/json

migration/migration-cantons — Migration — cantons

Advertised by the server during the last successful anonymous check.

Migration and population change · BFS px-x-0102020000_201 (Demografische Bilanz) · switzerland, canton · 1981–2025

migration/migration-cantons URI
sli://dataset/migration/migration-cantons

MIME type: application/json

migration/migration-communes — Migration — communes

Advertised by the server during the last successful anonymous check.

Migration and population change · BFS px-x-0102020000_201 (Demografische Bilanz) · switzerland, commune · 1981–2025

migration/migration-communes URI
sli://dataset/migration/migration-communes

MIME type: application/json

migration/migration-switzerland — Migration — switzerland

Advertised by the server during the last successful anonymous check.

Migration and population change · BFS px-x-0102020000_201 (Demografische Bilanz) · switzerland · 1981–2025

migration/migration-switzerland URI
sli://dataset/migration/migration-switzerland

MIME type: application/json

migration/population-components-cantons — Population components — cantons

Advertised by the server during the last successful anonymous check.

Migration and population change · BFS px-x-0102020000_101 (Demografische Bilanz nach Kanton) · switzerland, canton · 1971–2025

migration/population-components-cantons URI
sli://dataset/migration/population-components-cantons

MIME type: application/json

migration/population-growth-cantons — Population growth — cantons

Advertised by the server during the last successful anonymous check.

Migration and population change · DERIVED from BFS px-x-0102020000_101 (Demografische Bilanz nach Kanton) — see data/migration/population-components-cantons.json · switzerland, canton · 1971–2025

migration/population-growth-cantons URI
sli://dataset/migration/population-growth-cantons

MIME type: application/json

mobility/cars-emissions-cantons — {"de":"Bestand der Personenwagen nach technischen Merkmalen (2/2)","fr":"Parc de voitures de tourisme selon des caractéristiques techniques (2/2)","it":"Parco automobili secondo caratteristiche tecnic

Advertised by the server during the last successful anonymous check.

Vehicles and mobility · ASTRA/BFS road-vehicle register (MFZ, IVZ/MOFIS) via stats.swiss SDMX CH1.MFZ_IVS/DF_MFZ_1_EMISSION/1.0.0 · switzerland, canton · 2021–2025

mobility/cars-emissions-cantons URI
sli://dataset/mobility/cars-emissions-cantons

MIME type: application/json

mobility/cars-technical-cantons — {"de":"Bestand der Personenwagen nach technischen Merkmalen (1/2)","fr":"Parc de voitures de tourisme selon des caractéristiques techniques (1/2)","it":"Parco automobili secondo caratteristiche tecnic

Advertised by the server during the last successful anonymous check.

Vehicles and mobility · ASTRA/BFS road-vehicle register (MFZ, IVZ/MOFIS) via stats.swiss SDMX CH1.MFZ_IVS/DF_MFZ_1_TECH/1.0.0 · switzerland, canton · 2021–2025

mobility/cars-technical-cantons URI
sli://dataset/mobility/cars-technical-cantons

MIME type: application/json

mobility/charging-cantons — Charging — cantons

Advertised by the server during the last successful anonymous check.

Vehicles and mobility · BFE — Ladestellen für Elektroautos (ich-tanke-strom.ch), data.geo.admin.ch ch.bfe.ladestellen-elektromobilitaet · switzerland, canton · 2026–2026

mobility/charging-cantons URI
sli://dataset/mobility/charging-cantons

MIME type: application/json

mobility/ev-share-cantons — Ev share — cantons

Advertised by the server during the last successful anonymous check.

Vehicles and mobility · DERIVED from BFS px-x-1103020200_121 (new registrations) + px-x-1103020100_111 (stock) — ASTRA IVZ · switzerland, canton · 2010–2024

mobility/ev-share-cantons URI
sli://dataset/mobility/ev-share-cantons

MIME type: application/json

mobility/goods-vehicles-cantons — {"de":"Bestand der Sachentransportfahrzeuge nach technischen Merkmalen","fr":"Parc de véhicules de transport de choses selon des caractéristiques techniques","it":"Parco veicoli per il trasporto di co

Advertised by the server during the last successful anonymous check.

Vehicles and mobility · ASTRA/BFS road-vehicle register (MFZ, IVZ/MOFIS) via stats.swiss SDMX CH1.MFZ_IVS/DF_MFZ_3/1.0.0 · switzerland, canton · 2021–2025

mobility/goods-vehicles-cantons URI
sli://dataset/mobility/goods-vehicles-cantons

MIME type: application/json

mobility/mobility-metrics-cantons — Mobility metrics — cantons

Advertised by the server during the last successful anonymous check.

Vehicles and mobility · DERIVED from BFS px-x-1103020100_111 (stock) + px-x-1103020200_121 (new registrations), ASTRA IVZ — see data/mobility/vehicles-*-cantons.json · switzerland, canton · 2010–2024

mobility/mobility-metrics-cantons URI
sli://dataset/mobility/mobility-metrics-cantons

MIME type: application/json

mobility/motorbikes-cantons — {"de":"Bestand der Motorräder nach technischen Merkmalen","fr":"Parc de motocycles selon des caractéristiques techniques","it":"Parco motoveicoli secondo caratteristiche tecniche","en":"Stock of motor

Advertised by the server during the last successful anonymous check.

Vehicles and mobility · ASTRA/BFS road-vehicle register (MFZ, IVZ/MOFIS) via stats.swiss SDMX CH1.MFZ_IVS/DF_MFZ_6/1.0.0 · switzerland, canton · 2021–2025

mobility/motorbikes-cantons URI
sli://dataset/mobility/motorbikes-cantons

MIME type: application/json

mobility/vehicles-by-make-cantons — {"de":"Bestand der Personenwagen nach Marke","fr":"Parc de voitures de tourisme selon la marque","it":"Parco automobili secondo il marchio","en":"Stock of passenger cars by make"}

Advertised by the server during the last successful anonymous check.

Vehicles and mobility · ASTRA/BFS road-vehicle register (MFZ, IVZ/MOFIS) via stats.swiss SDMX CH1.MFZ_IVS/DF_MFZ_1_MAKE/1.0.0 · switzerland, canton · 1802–2026

mobility/vehicles-by-make-cantons URI
sli://dataset/mobility/vehicles-by-make-cantons

MIME type: application/json

mobility/vehicles-holder-cantons — {"de":"Bestand der Strassenfahrzeuge nach Fahrzeuggruppe und Fahrzeugart","fr":"Parc de véhicules routiers selon le groupe et le genre de véhicule","it":"Parco veicoli stradali secondo il gruppo e il

Advertised by the server during the last successful anonymous check.

Vehicles and mobility · ASTRA/BFS road-vehicle register (MFZ, IVZ/MOFIS) via stats.swiss SDMX CH1.MFZ_IVS/DF_MFZ_0_GENERAL/1.0.0 · switzerland, canton · 2005–2025

mobility/vehicles-holder-cantons URI
sli://dataset/mobility/vehicles-holder-cantons

MIME type: application/json

mobility/vehicles-new-cantons — Vehicles new — cantons

Advertised by the server during the last successful anonymous check.

Vehicles and mobility · BFS px-x-1103020200_121 (ASTRA vehicle register IVZ) — Neue Inverkehrsetzungen nach Gemeinde, Fahrzeuggruppe, Treibstoff · switzerland, canton · 2010–2024

mobility/vehicles-new-cantons URI
sli://dataset/mobility/vehicles-new-cantons

MIME type: application/json

mobility/vehicles-new-communes — Vehicles new — communes

Advertised by the server during the last successful anonymous check.

Vehicles and mobility · BFS px-x-1103020200_121 (ASTRA vehicle register IVZ) — Neue Inverkehrsetzungen nach Gemeinde, Fahrzeuggruppe, Treibstoff · switzerland, commune · 2010–2024

mobility/vehicles-new-communes URI
sli://dataset/mobility/vehicles-new-communes

MIME type: application/json

mobility/vehicles-stock-cantons — Vehicles stock — cantons

Advertised by the server during the last successful anonymous check.

Vehicles and mobility · BFS px-x-1103020100_111 (ASTRA vehicle register IVZ) — Bestand der Strassenfahrzeuge (30 Sept) nach Gemeinde, Fahrzeuggruppe, Treibstoff · switzerland, canton · 2010–2024

mobility/vehicles-stock-cantons URI
sli://dataset/mobility/vehicles-stock-cantons

MIME type: application/json

mobility/vehicles-stock-communes — Vehicles stock — communes

Advertised by the server during the last successful anonymous check.

Vehicles and mobility · BFS px-x-1103020100_111 (ASTRA vehicle register IVZ) — Bestand der Strassenfahrzeuge (30 Sept) nach Gemeinde, Fahrzeuggruppe, Treibstoff · switzerland, commune · 2010–2024

mobility/vehicles-stock-communes URI
sli://dataset/mobility/vehicles-stock-communes

MIME type: application/json

naturalisation/country-names — Country names

Advertised by the server during the last successful anonymous check.

Naturalisations · BFS px-x-0103030100_101 metadata in DE FR IT EN (same value codes, official country names) · switzerland

naturalisation/country-names URI
sli://dataset/naturalisation/country-names

MIME type: application/json

naturalisation/naturalisation-rate-cantons — Naturalisation rate — cantons

Advertised by the server during the last successful anonymous check.

Naturalisations · naturalisations_total[year] / foreign_residents[year] * 1000, rounded to 0.1 · switzerland, canton · 2011–2025

naturalisation/naturalisation-rate-cantons URI
sli://dataset/naturalisation/naturalisation-rate-cantons

MIME type: application/json

naturalisation/naturalisations-by-country-cantons — Naturalisations by country — cantons

Advertised by the server during the last successful anonymous check.

Naturalisations · BFS px-x-0103030100_101 (Erwerb Bürgerrecht, canton, former country + type) · switzerland, canton · 2011–2025

naturalisation/naturalisations-by-country-cantons URI
sli://dataset/naturalisation/naturalisations-by-country-cantons

MIME type: application/json

naturalisation/naturalisations-by-origin-cantons — Naturalisations by origin — cantons

Advertised by the server during the last successful anonymous check.

Naturalisations · BFS px-x-0103030100_102 (Erwerb Bürgerrecht, former nationality region, commune) · switzerland, canton · 2011–2025

naturalisation/naturalisations-by-origin-cantons URI
sli://dataset/naturalisation/naturalisations-by-origin-cantons

MIME type: application/json

naturalisation/naturalisations-by-origin-communes — Naturalisations by origin — communes

Advertised by the server during the last successful anonymous check.

Naturalisations · BFS px-x-0103030100_102 (Erwerb Bürgerrecht, former nationality region, commune) · switzerland, commune · 2011–2025

naturalisation/naturalisations-by-origin-communes URI
sli://dataset/naturalisation/naturalisations-by-origin-communes

MIME type: application/json

naturalisation/naturalisations-by-origin-switzerland — Naturalisations by origin — switzerland

Advertised by the server during the last successful anonymous check.

Naturalisations · BFS px-x-0103030100_102 (Erwerb Bürgerrecht, former nationality region, commune) · switzerland · 2011–2025

naturalisation/naturalisations-by-origin-switzerland URI
sli://dataset/naturalisation/naturalisations-by-origin-switzerland

MIME type: application/json

naturalisation/naturalisations-by-type-cantons — Naturalisations by type — cantons

Advertised by the server during the last successful anonymous check.

Naturalisations · BFS px-x-0103030100_101 (Erwerb Bürgerrecht, canton, former country + type) · switzerland, canton · 2011–2025

naturalisation/naturalisations-by-type-cantons URI
sli://dataset/naturalisation/naturalisations-by-type-cantons

MIME type: application/json

pension/ahv-official — Ahv official

Advertised by the server during the last successful anonymous check.

Pension (pillar 3a) · official Swiss source · switzerland · 1961–1969

pension/ahv-official URI
sli://dataset/pension/ahv-official

MIME type: application/json

pension/ahv-pensions-cantons — Ahv pensions — cantons

Advertised by the server during the last successful anonymous check.

Pension (pillar 3a) · BSV AHV-Statistik, BFS PxWeb px-x-1305000000_102 (AHV-Renten nach Kanton), old-age pensions, all nationalities · switzerland, canton · 2001–2025

pension/ahv-pensions-cantons URI
sli://dataset/pension/ahv-pensions-cantons

MIME type: application/json

pension/pillar3a-example — Pillar3a example

Advertised by the server during the last successful anonymous check.

Pension (pillar 3a) · https://swisstaxcalculator.estv.admin.ch/ · switzerland

pension/pillar3a-example URI
sli://dataset/pension/pillar3a-example

MIME type: application/json

pension/pillar3a-official — Pillar3a official

Advertised by the server during the last successful anonymous check.

Pension (pillar 3a) · Officially verified retirement-provision parameters (Säule 3a + AHV) powering the Vorsorge explainer pages (/de/saeule-3a/ ×4 langs). Every figure OBSERVED value-level from the named official page — never estimated. Maxima change regularly (Bundesrat decision each Nov for the next tax year): scripts/check-pension-facts.mjs probes the source weekly and fails when the figures disappear or the tax year rolls over. · switzerland

pension/pillar3a-official URI
sli://dataset/pension/pillar3a-official

MIME type: application/json

permits/permit-population-cantons — Permit population — cantons

Advertised by the server during the last successful anonymous check.

Residence permits (all categories incl. asylum statuses) · BFS px-x-0103010000_101 (Wohnbevölkerung nach Anwesenheitsbewilligung) · switzerland, canton · 2010–2025

permits/permit-population-cantons URI
sli://dataset/permits/permit-population-cantons

MIME type: application/json

permits/permit-population-switzerland — Permit population — switzerland

Advertised by the server during the last successful anonymous check.

Residence permits (all categories incl. asylum statuses) · BFS px-x-0103010000_101 (Wohnbevölkerung nach Anwesenheitsbewilligung) · switzerland · 2010–2025

permits/permit-population-switzerland URI
sli://dataset/permits/permit-population-switzerland

MIME type: application/json

immigration/law-baseline — Law baseline

Advertised by the server during the last successful anonymous check.

Immigration rules (law articles) and law baseline · official Swiss source · switzerland, canton

immigration/law-baseline URI
sli://dataset/immigration/law-baseline

MIME type: application/json

immigration/naturalisation-cantons — Naturalisation — cantons

Advertised by the server during the last successful anonymous check.

Immigration rules (law articles) and law baseline · Cantonal conditions for ordinary naturalisation of foreign nationals in all 26 cantons: residence in the canton and the commune, language level, knowledge test, cantonal fee, authority and law. Each value is bound to a verbatim quote from the official cantonal law collection or the cantonal office page. Federal conditions (C permit, 10 years, integration) apply on top (BüG Art. 9 to 12). Information, not legal advice: the canton and the commune decide. · switzerland, canton

immigration/naturalisation-cantons URI
sli://dataset/immigration/naturalisation-cantons

MIME type: application/json

immigration/rules-official — Rules official

Advertised by the server during the last successful anonymous check.

Immigration rules (law articles) and law baseline · Official rules for moving to and leaving Switzerland, one entry per rule, each bound to its law article or official page. German is the master text; FR IT EN translate it. Feeds the immigration pages, the MCP tools and the permit route finder. Information, not legal advice: the cantonal migration office decides. · switzerland

immigration/rules-official URI
sli://dataset/immigration/rules-official

MIME type: application/json

immigration/work-quotas — Work quotas

Advertised by the server during the last successful anonymous check.

Immigration rules (law articles) and law baseline · VZAE (SR 142.201) Anhang 1 and 2, version of the ordinance of 19 November 2025 (AS 2025 780), in force 1 January 2026 · switzerland · 2026–2026

immigration/work-quotas URI
sli://dataset/immigration/work-quotas

MIME type: application/json

social/social-accounts — Social accounts

Advertised by the server during the last successful anonymous check.

Official social media accounts of the Confederation, the cantons and the communes (with fallback) · official Swiss source · switzerland, canton, commune

social/social-accounts URI
sli://dataset/social/social-accounts

MIME type: application/json

politics/be-grosser-rat — Be grosser rat

Advertised by the server during the last successful anonymous check.

Federal Parliament: members of both chambers with group, seat, career, committees, declared interests, official contact and own social accounts · Grosser Rat des Kantons Bern, Open Data (ogd.parl.apps.be.ch): mitglied, mitgliedschaft, ratsorgan, interessenbindung, abstimmung_tagblatt, abstimmungsliste · switzerland

politics/be-grosser-rat URI
sli://dataset/politics/be-grosser-rat

MIME type: application/json

politics/bs-grosser-rat — Bs grosser rat

Advertised by the server during the last successful anonymous check.

Federal Parliament: members of both chambers with group, seat, career, committees, declared interests, official contact and own social accounts · Kanton Basel-Stadt, Open Data (data.bs.ch): Grosser Rat 100307, 100308, 100309, 100310, 100186 · switzerland · 1804–1850

politics/bs-grosser-rat URI
sli://dataset/politics/bs-grosser-rat

MIME type: application/json

politics/business-52 — Business 52

Advertised by the server during the last successful anonymous check.

Federal Parliament: members of both chambers with group, seat, career, committees, declared interests, official contact and own social accounts · Parlamentsdienste, ws.parlament.ch (Business, BusinessStatus) · switzerland

politics/business-52 URI
sli://dataset/politics/business-52

MIME type: application/json

politics/homepage-corrections — Homepage corrections

Advertised by the server during the last successful anonymous check.

Federal Parliament: members of both chambers with group, seat, career, committees, declared interests, official contact and own social accounts · official Swiss source · switzerland

politics/homepage-corrections URI
sli://dataset/politics/homepage-corrections

MIME type: application/json

politics/nr-votes-48 — Nr votes 48

Advertised by the server during the last successful anonymous check.

Federal Parliament: members of both chambers with group, seat, career, committees, declared interests, official contact and own social accounts · Parlamentsdienste, ws.parlament.ch (Vote, Voting), National Council electronic votes · switzerland

politics/nr-votes-48 URI
sli://dataset/politics/nr-votes-48

MIME type: application/json

politics/nr-votes-49 — Nr votes 49

Advertised by the server during the last successful anonymous check.

Federal Parliament: members of both chambers with group, seat, career, committees, declared interests, official contact and own social accounts · Parlamentsdienste, ws.parlament.ch (Vote, Voting), National Council electronic votes · switzerland

politics/nr-votes-49 URI
sli://dataset/politics/nr-votes-49

MIME type: application/json

politics/nr-votes-50 — Nr votes 50

Advertised by the server during the last successful anonymous check.

Federal Parliament: members of both chambers with group, seat, career, committees, declared interests, official contact and own social accounts · Parlamentsdienste, ws.parlament.ch (Vote, Voting), National Council electronic votes · switzerland

politics/nr-votes-50 URI
sli://dataset/politics/nr-votes-50

MIME type: application/json

politics/nr-votes-51 — Nr votes 51

Advertised by the server during the last successful anonymous check.

Federal Parliament: members of both chambers with group, seat, career, committees, declared interests, official contact and own social accounts · Parlamentsdienste, ws.parlament.ch (Vote, Voting), National Council electronic votes · switzerland

politics/nr-votes-51 URI
sli://dataset/politics/nr-votes-51

MIME type: application/json

politics/nr-votes-52 — Nr votes 52

Advertised by the server during the last successful anonymous check.

Federal Parliament: members of both chambers with group, seat, career, committees, declared interests, official contact and own social accounts · Parlamentsdienste, ws.parlament.ch (Vote, Voting), National Council electronic votes · switzerland

politics/nr-votes-52 URI
sli://dataset/politics/nr-votes-52

MIME type: application/json

politics/nrw-2023 — Nrw 2023

Advertised by the server during the last successful anonymous check.

Federal Parliament: members of both chambers with group, seat, career, committees, declared interests, official contact and own social accounts · Bundesamt für Statistik BFS, Nationalratswahlen 2023 (Open Data, ogd-static.voteinfo-app.ch) · switzerland, canton, commune

politics/nrw-2023 URI
sli://dataset/politics/nrw-2023

MIME type: application/json

politics/nrw-communes-history — Nrw — communes history

Advertised by the server during the last successful anonymous check.

Federal Parliament: members of both chambers with group, seat, career, committees, declared interests, official contact and own social accounts · Bundesamt für Statistik BFS, Nationalratswahlen (Parteistimmen und Parteistärke seit 1971: Bezirke und Gemeinden) (px-x-1702020000_105) · switzerland, commune · 1971–2023

politics/nrw-communes-history URI
sli://dataset/politics/nrw-communes-history

MIME type: application/json

politics/nrw-timeseries — Nrw timeseries

Advertised by the server during the last successful anonymous check.

Federal Parliament: members of both chambers with group, seat, career, committees, declared interests, official contact and own social accounts · Bundesamt für Statistik BFS, Nationalratswahlen 2023 (Open Data, ogd-static.voteinfo-app.ch) · switzerland, canton · 1991–2023

politics/nrw-timeseries URI
sli://dataset/politics/nrw-timeseries

MIME type: application/json

politics/parliament-members — Parliament members

Advertised by the server during the last successful anonymous check.

Federal Parliament: members of both chambers with group, seat, career, committees, declared interests, official contact and own social accounts · Parlamentsdienste, open data web service ws.parlament.ch (OData), DE FR IT · switzerland

politics/parliament-members URI
sli://dataset/politics/parliament-members

MIME type: application/json

politics/parliament-social — Parliament social

Advertised by the server during the last successful anonymous check.

Federal Parliament: members of both chambers with group, seat, career, committees, declared interests, official contact and own social accounts · official Swiss source · switzerland

politics/parliament-social URI
sli://dataset/politics/parliament-social

MIME type: application/json

politics/speeches-52 — Speeches 52

Advertised by the server during the last successful anonymous check.

Federal Parliament: members of both chambers with group, seat, career, committees, declared interests, official contact and own social accounts · Parlamentsdienste, ws.parlament.ch (Session, Meeting, Transcript, SubjectBusiness) · switzerland · 1800–2027

politics/speeches-52 URI
sli://dataset/politics/speeches-52

MIME type: application/json

politics/tg-grosser-rat — Tg grosser rat

Advertised by the server during the last successful anonymous check.

Federal Parliament: members of both chambers with group, seat, career, committees, declared interests, official contact and own social accounts · Kanton Thurgau, Open Data (data.tg.ch): sk-stat-138 (Mitglieder), sk-stat-136 (Abstimmungen im Grossen Rat) · switzerland

politics/tg-grosser-rat URI
sli://dataset/politics/tg-grosser-rat

MIME type: application/json

safety/crime-accused-cantons — Crime accused — cantons

Advertised by the server during the last successful anonymous check.

Crime · BFS px-x-1903020100_102 (PKS, polizeilich registrierte Beschuldigte) · switzerland, canton · 2009–2025

safety/crime-accused-cantons URI
sli://dataset/safety/crime-accused-cantons

MIME type: application/json

safety/crime-accused-switzerland — Crime accused — switzerland

Advertised by the server during the last successful anonymous check.

Crime · BFS px-x-1903020100_102 (PKS, Beschuldigte Schweiz nach Geschlecht × Altersklasse) · switzerland · 2009–2025

safety/crime-accused-switzerland URI
sli://dataset/safety/crime-accused-switzerland

MIME type: application/json

safety/crime-cantons — Crime — cantons

Advertised by the server during the last successful anonymous check.

Crime · BFS px-x-1903020100_101 (Polizeiliche Kriminalstatistik PKS, StGB-Straftaten) · switzerland, canton · 2009–2025

safety/crime-cantons URI
sli://dataset/safety/crime-cantons

MIME type: application/json

safety/crime-offences-cantons — Crime offences — cantons

Advertised by the server during the last successful anonymous check.

Crime · BFS px-x-1903020100_101 (PKS, polizeilich registrierte Straftaten) · switzerland, canton · 2009–2025

safety/crime-offences-cantons URI
sli://dataset/safety/crime-offences-cantons

MIME type: application/json

safety/violent-crime-cantons — Violent crime — cantons

Advertised by the server during the last successful anonymous check.

Crime · BFS px-x-1903020100_101 (PKS) — SLI violent-offence selection · switzerland, canton · 2009–2025

safety/violent-crime-cantons URI
sli://dataset/safety/violent-crime-cantons

MIME type: application/json

scenarios/population-scenarios-cantons — Population scenarios — cantons

Advertised by the server during the last successful anonymous check.

Population scenarios · BFS px-x-0104020000_101 (Szenarien zur Bevölkerungsentwicklung der Kantone 2025-2055, Referenzszenario AR-00-2025) · switzerland, canton · 2024–2055

scenarios/population-scenarios-cantons URI
sli://dataset/scenarios/population-scenarios-cantons

MIME type: application/json

scenarios/population-scenarios-switzerland — Population scenarios — switzerland

Advertised by the server during the last successful anonymous check.

Population scenarios · BFS px-x-0104020000_101 (Szenarien zur Bevölkerungsentwicklung der Kantone 2025-2055, Referenzszenario AR-00-2025) · switzerland · 2024–2055

scenarios/population-scenarios-switzerland URI
sli://dataset/scenarios/population-scenarios-switzerland

MIME type: application/json

sustainability/cantons-cercle-indicateurs — — cantons cercle indicateurs

Advertised by the server during the last successful anonymous check.

Sustainability and energy · BFS DAM assets su-d-21.02.01 (Ergebnisse nach Indikator, Vergleich der Kantone — raw only), su-d-21.02.02 (Ergebnisse nach Kanton — parsed), su-d-21.02.03 (Vereinheitlichte Ergebnisse der Kantone — parsed) · switzerland, canton · 1992–2023

sustainability/cantons-cercle-indicateurs URI
sli://dataset/sustainability/cantons-cercle-indicateurs

MIME type: application/json

sustainability/cantons-environment — — cantons environment

Advertised by the server during the last successful anonymous check.

Sustainability and energy · Sustainability indicators per canton (26 + CH): organic farming, forest area, land use (Arealstatistik), commuter modal split, Mikrozensus mobility 2021 · switzerland, canton · 1975–2025

sustainability/cantons-environment URI
sli://dataset/sustainability/cantons-environment

MIME type: application/json

sustainability/cities-cercle-indicateurs — Cities cercle indicateurs

Advertised by the server during the last successful anonymous check.

Sustainability and energy · BFS DAM assets su-d-21.02.04 (Ergebnisse nach Indikator, Vergleich der Städte — raw only), su-d-21.02.05 (Ergebnisse nach Stadt — parsed), su-d-21.02.06 (Vereinheitlichte Ergebnisse der Städte — parsed) · switzerland · 1992–2024

sustainability/cities-cercle-indicateurs URI
sli://dataset/sustainability/cities-cercle-indicateurs

MIME type: application/json

sustainability/cities-environment — Cities environment

Advertised by the server during the last successful anonymous check.

Sustainability and energy · BFS PX-Web cubes px-x-2105000000_501 / _206 / _208 / _226 / _106 / _108 (City Statistics, Urban Audit) · switzerland · 1992–2023

sustainability/cities-environment URI
sli://dataset/sustainability/cities-environment

MIME type: application/json

sustainability/energy-cantons — Energy — cantons

Advertised by the server during the last successful anonymous check.

Sustainability and energy · BFE (Bundesamt für Energie / Swiss Federal Office of Energy) — Elektrizitätsproduktionsanlagen (Pronovo/BFE register), Energiestädte (EnergieSchweiz label), 2000-Watt-Areale; commune spine swisstopo swissBOUNDARIES3D + Amtliches Ortschaftenverzeichnis; population BFS STATPOP; commune mutations BFS AGVCH · switzerland, canton · 2000–2026

sustainability/energy-cantons URI
sli://dataset/sustainability/energy-cantons

MIME type: application/json

sustainability/energy-communes — Energy — communes

Advertised by the server during the last successful anonymous check.

Sustainability and energy · BFE (Bundesamt für Energie / Swiss Federal Office of Energy) — Elektrizitätsproduktionsanlagen (Pronovo/BFE register), Energiestädte (EnergieSchweiz label), 2000-Watt-Areale; commune spine swisstopo swissBOUNDARIES3D + Amtliches Ortschaftenverzeichnis; population BFS STATPOP; commune mutations BFS AGVCH · switzerland, commune · 2000–2026

sustainability/energy-communes URI
sli://dataset/sustainability/energy-communes

MIME type: application/json

sustainability/international-sdg — International sdg

Advertised by the server during the last successful anonymous check.

Sustainability and energy · Eurostat — EU SDG indicator set (Sustainable development indicators), all flows in which Switzerland is reported · switzerland · 1980–2025

sustainability/international-sdg URI
sli://dataset/sustainability/international-sdg

MIME type: application/json

sustainability/sustainability-metrics-cantons — Sustainability metrics — cantons

Advertised by the server during the last successful anonymous check.

Sustainability and energy · DERIVED (selection) from BFE plant register + Energiestadt (energy-cantons.json), BFS agriculture cube (cantons-environment.json), BFS Cercle Indicateurs cantons (cantons-cercle-indicateurs.json) · switzerland, canton · 1990–2026

sustainability/sustainability-metrics-cantons URI
sli://dataset/sustainability/sustainability-metrics-cantons

MIME type: application/json

sustainability/switzerland-national — — switzerland national

Advertised by the server during the last successful anonymous check.

Sustainability and energy · Switzerland, national totals (no canton breakdown exists in these official tables — municipal waste checked explicitly). Canton-level sustainability = Cercle Indicateurs (E), raw-archived for the next wave. · switzerland · 1970–2024

sustainability/switzerland-national URI
sli://dataset/sustainability/switzerland-national

MIME type: application/json

dataset filtered by canton or commune

Advertised by the server during the last successful anonymous check.

dataset filtered by canton or commune URI template
sli://dataset/{id}?canton={canton}&commune={commune}

MIME type: application/json

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
554 ms
95th percentile latency
554 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 554 ms · metadata changed · 72 tool(s), 192 resource(s), 1 resource template(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http swiss-living-index-mcp https://swisslivingindex.ch/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add swiss-living-index-mcp --url https://swisslivingindex.ch/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable swiss-living-index-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "swiss-living-index-mcp": {
      "url": "https://swisslivingindex.ch/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "swiss-living-index-mcp": {
      "type": "streamableHttp",
      "url": "https://swisslivingindex.ch/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start swiss-living-index-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "swiss-living-index-mcp": {
      "type": "http",
      "url": "https://swisslivingindex.ch/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http swiss-living-index-mcp https://swisslivingindex.ch/mcp

Claude Desktop

Open Claude Settings > Connectors > Add custom connector, enter this server URL and enable it for the conversation. This is a manual remote-connector handoff, not a desktop JSON configuration.
Claude Desktop configuration
https://swisslivingindex.ch/mcp

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "swiss-living-index-mcp": {
      "serverUrl": "https://swisslivingindex.ch/mcp"
    }
  }
}

Let your agent find its tools

Find servers like Swiss Living Index MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.

Do you run Swiss Living Index MCP?

Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.

Claim this listing