{"ok":true,"site":{"host":"parlhub.com","url":"https://parlhub.com/","type":"live","desc":"Browse the parliaments of Switzerland and Liechtenstein: members, votes, speeches, lobbying ties and more. Non-profit, open source.","tools":[{"name":"home_search","kind":"act","impl":"imperative","description":"Search parlhub's parliamentary data by section. Navigates to the chosen section's catalogue with the query applied (this is what the homepage search box does — there is no global search backend, so no rows are returned here). After the navigation the catalogue registers its own <dimension>_filter and <dimension>_query_state tools: re-read the tool list and use those to refine, sort, page or export the results. Scopes (each with what its query matches): people (People) — Searches name, place and postcode. votings (Votings) — Searches the voting title and the title of the affiliated affair. affairs (Affairs) — Searches the affair title and the affair number. speeches (Speeches) — Searches the wording of the speeches. bodies (Parliaments) — Searches the name of a country, canton, city or town. groups (Committees & groups) — Searches name, abbreviation and description of committees and parliamentary groups. meetings (Meetings) — Searches name, location and description. texts (Texts) — Searches the text type and the wording. documents (Documents) — Searches the document name and category. interests (Interests) — Searches organization name, function and parliamentary group. organizations (Organizations) — Searches the organization name.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"q":{"type":"string","minLength":1,"description":"Free-text query, e.g. a person or party name."},"scope":{"description":"Which section catalogue to search. Defaults to the scope the page shows.","type":"string","enum":["people","votings","affairs","speeches","bodies","groups","meetings","texts","documents","interests","organizations"]}},"required":["q"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/"]},{"name":"home_search","kind":"act","impl":"declarative","description":"Search parlhub's Swiss and Liechtenstein parliamentary data; submitting navigates to the selected section's catalogue with the query applied.","inputSchema":{"type":"object","properties":{"q":{"type":"string","description":"e.g. Müller, Bern, 3000"}}},"__source":"spec","__declarative":true,"page":"/","pages":["/"]},{"name":"people_filter","kind":"act","impl":"imperative","description":"Search, filter, sort and page the person's people list (operates over the whole dataset, not just the visible page) by updating the URL. Call people_query_state first to see the current state and the legal sort keys, filter values and page sizes.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"dir":{"type":"string","enum":["asc","desc"]},"reset":{"type":"boolean"},"sort":{"type":"string","enum":["name","firstname","active"]},"q":{"type":"string"},"party":{"type":"string"},"body":{"type":"string","enum":["42","250","252","253","265","268","272","276","313","351","353","383","392","408","419"]},"active":{"type":"boolean"},"gender":{"type":"string","enum":["m","f"]},"deceased":{"type":"boolean"},"district":{"type":"string"},"country":{"type":"string","enum":["CHE","LIE"]},"limit":{"anyOf":[{"type":"number","const":20},{"type":"number","const":50},{"type":"number","const":100}]}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/people","pages":["/people"]},{"name":"people_query_state","kind":"answer","impl":"imperative","description":"Current search/filter/sort/page state for the person's people list, plus the available sort keys, filter options and page sizes. Read before calling people_filter.","annotations":{"title":"Context: people_query_state","readOnlyHint":true,"idempotentHint":true,"destructiveHint":false,"openWorldHint":false},"inputSchema":{"type":"object","properties":{}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/people","pages":["/people"]},{"name":"people_export","kind":"act","impl":"imperative","description":"Get a paginated DOWNLOAD URL for all people full list datasets (people) as JSON, CSV or Excel — 500 rows per page. Returns the URL for the chosen page plus total row/page counts and a small JSON preview (columns + first rows) so you can inspect the shape before downloading; fetch the URL to get the file. Honors the active filters/sort. Pass `langs` (e.g. [\"fr\",\"de\"]) to prioritize localized fields. Available: people (26955).","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"dataset":{"type":"string","enum":["people"]},"format":{"type":"string","enum":["json","csv","xlsx"]},"page":{"type":"integer","minimum":1,"maximum":9007199254740991},"langs":{"type":"array","items":{"type":"string","enum":["de","fr","it","rm","en"]}}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/people","pages":["/people"]},{"name":"people_filter","kind":"act","impl":"declarative","description":"Search the people list by free text; submitting filters the full result set, not just the current page.","inputSchema":{"type":"object","properties":{}},"__source":"spec","__declarative":true,"page":"/people","pages":["/people"]},{"name":"catalog_votings_filter","kind":"act","impl":"imperative","description":"Search, filter, sort and page all votings list (operates over the whole dataset, not just the visible page) by updating the URL. Call catalog_votings_query_state first to see the current state and the legal sort keys, filter values and page sizes.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"dir":{"type":"string","enum":["asc","desc"]},"reset":{"type":"boolean"},"sort":{"type":"string","enum":["date","title"]},"q":{"type":"string"},"body":{"type":"string"},"from":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"to":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"limit":{"anyOf":[{"type":"number","const":20},{"type":"number","const":50},{"type":"number","const":100}]}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/votings","pages":["/votings"]},{"name":"catalog_votings_query_state","kind":"answer","impl":"imperative","description":"Current search/filter/sort/page state for all votings list, plus the available sort keys, filter options and page sizes. Read before calling catalog_votings_filter.","annotations":{"title":"Context: catalog_votings_query_state","readOnlyHint":true,"idempotentHint":true,"destructiveHint":false,"openWorldHint":false},"inputSchema":{"type":"object","properties":{}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/votings","pages":["/votings"]},{"name":"votings_export","kind":"act","impl":"imperative","description":"Get a paginated DOWNLOAD URL for all votings full list datasets (votings) as JSON, CSV or Excel — 500 rows per page. Returns the URL for the chosen page plus total row/page counts and a small JSON preview (columns + first rows) so you can inspect the shape before downloading; fetch the URL to get the file. Honors the active filters/sort. Pass `langs` (e.g. [\"fr\",\"de\"]) to prioritize localized fields. Available: votings (78926).","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"dataset":{"type":"string","enum":["votings"]},"format":{"type":"string","enum":["json","csv","xlsx"]},"page":{"type":"integer","minimum":1,"maximum":9007199254740991},"langs":{"type":"array","items":{"type":"string","enum":["de","fr","it","rm","en"]}}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/votings","pages":["/votings"]},{"name":"catalog_votings_filter","kind":"act","impl":"declarative","description":"Search the votings list by free text; submitting filters the full result set, not just the current page.","inputSchema":{"type":"object","properties":{}},"__source":"spec","__declarative":true,"page":"/votings","pages":["/votings"]},{"name":"catalog_affairs_filter","kind":"act","impl":"imperative","description":"Search, filter, sort and page all affairs list (operates over the whole dataset, not just the visible page) by updating the URL. Call catalog_affairs_query_state first to see the current state and the legal sort keys, filter values and page sizes.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"dir":{"type":"string","enum":["asc","desc"]},"reset":{"type":"boolean"},"sort":{"type":"string","enum":["begin_date","title","number"]},"q":{"type":"string"},"type":{"type":"string"},"state":{"type":"string"},"body":{"type":"string"},"from":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"to":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"limit":{"anyOf":[{"type":"number","const":20},{"type":"number","const":50},{"type":"number","const":100}]}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/affairs","pages":["/affairs"]},{"name":"catalog_affairs_query_state","kind":"answer","impl":"imperative","description":"Current search/filter/sort/page state for all affairs list, plus the available sort keys, filter options and page sizes. Read before calling catalog_affairs_filter.","annotations":{"title":"Context: catalog_affairs_query_state","readOnlyHint":true,"idempotentHint":true,"destructiveHint":false,"openWorldHint":false},"inputSchema":{"type":"object","properties":{}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/affairs","pages":["/affairs"]},{"name":"affairs_export","kind":"act","impl":"imperative","description":"Get a paginated DOWNLOAD URL for all affairs full list datasets (affairs) as JSON, CSV or Excel — 500 rows per page. Returns the URL for the chosen page plus total row/page counts and a small JSON preview (columns + first rows) so you can inspect the shape before downloading; fetch the URL to get the file. Honors the active filters/sort. Pass `langs` (e.g. [\"fr\",\"de\"]) to prioritize localized fields. Available: affairs (326397).","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"dataset":{"type":"string","enum":["affairs"]},"format":{"type":"string","enum":["json","csv","xlsx"]},"page":{"type":"integer","minimum":1,"maximum":9007199254740991},"langs":{"type":"array","items":{"type":"string","enum":["de","fr","it","rm","en"]}}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/affairs","pages":["/affairs"]},{"name":"catalog_affairs_filter","kind":"act","impl":"declarative","description":"Search the affairs list by free text; submitting filters the full result set, not just the current page.","inputSchema":{"type":"object","properties":{}},"__source":"spec","__declarative":true,"page":"/affairs","pages":["/affairs"]},{"name":"catalog_speeches_filter","kind":"act","impl":"imperative","description":"Search, filter, sort and page all speeches list (operates over the whole dataset, not just the visible page) by updating the URL. Call catalog_speeches_query_state first to see the current state and the legal sort keys, filter values and page sizes.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"dir":{"type":"string","enum":["asc","desc"]},"reset":{"type":"boolean"},"sort":{"type":"string","enum":["date_start","date_end"]},"q":{"type":"string"},"body":{"type":"string"},"type":{"type":"string","enum":["SEGMENT_TYPE_SPEAKER","Abstimmung"]},"lang":{"type":"string","enum":["de","fr","it"]},"video":{"type":"boolean"},"from":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"to":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"case":{"type":"boolean"},"word":{"type":"boolean"},"limit":{"anyOf":[{"type":"number","const":10},{"type":"number","const":25},{"type":"number","const":50}]}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/speeches","pages":["/speeches"]},{"name":"catalog_speeches_query_state","kind":"answer","impl":"imperative","description":"Current search/filter/sort/page state for all speeches list, plus the available sort keys, filter options and page sizes. Read before calling catalog_speeches_filter.","annotations":{"title":"Context: catalog_speeches_query_state","readOnlyHint":true,"idempotentHint":true,"destructiveHint":false,"openWorldHint":false},"inputSchema":{"type":"object","properties":{}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/speeches","pages":["/speeches"]},{"name":"speeches_export","kind":"act","impl":"imperative","description":"Get a paginated DOWNLOAD URL for all speeches full list datasets (speeches) as JSON, CSV or Excel — 500 rows per page. Returns the URL for the chosen page plus total row/page counts and a small JSON preview (columns + first rows) so you can inspect the shape before downloading; fetch the URL to get the file. Honors the active filters/sort. Pass `langs` (e.g. [\"fr\",\"de\"]) to prioritize localized fields. Available: speeches (552563).","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"dataset":{"type":"string","enum":["speeches"]},"format":{"type":"string","enum":["json","csv","xlsx"]},"page":{"type":"integer","minimum":1,"maximum":9007199254740991},"langs":{"type":"array","items":{"type":"string","enum":["de","fr","it","rm","en"]}}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/speeches","pages":["/speeches"]},{"name":"catalog_speeches_filter","kind":"act","impl":"declarative","description":"Search the speeches list by free text; submitting filters the full result set, not just the current page.","inputSchema":{"type":"object","properties":{}},"__source":"spec","__declarative":true,"page":"/speeches","pages":["/speeches"]}],"favicon":"/favicons/parlhub.com.png","apiSurface":"spec","category":"Productivity & Business","toolCount":18}}