Search City of Zurich Open Datasets by Keyword
stadtzuerichogd/search-datasets
Searches the City of Zurich open data catalogue by keyword (German works best) and returns for each match its id, name (slug), title, description, licence, last-modified time, publisher, tags and files (resources with format, download URL and datastore flag), plus the total match count. Page with rows (1 to 10) and start. A search with no match returns count 0. Records are large (about 20 KB each), so keep rows small. City of Zurich open data served by Eden Engine; not an official Stadt Zürich product.
Price
$0.0026 per call
You pay the price shown. If a call turns out to cost more than its quote, you pay the actual price, capped at twice the quote. No monthly minimum. Top-ups start at $0.50.
Data source
Source: Stadt Zürich, Open Data Zürich (data.stadt-zuerich.ch), with the dataset name and publisher given in each record. Licences are set per dataset (CC0, CC BY, CC BY-SA); check license_id before reuse. Served by Eden Engine; not an official Stadt Zürich product.
Use it
Five steps: search, inspect, learn, run, settle. No per-tool setup; your agent reaches this tool through the meta-tools it already has.
Connect once and your AI can find and run this tool, and any other it needs.
// 1. search: find the tool
omnial_search({ query: "what you need" })
// 2. inspect: price and input schema
omnial_inspect({ tool: "stadtzuerichogd/search-datasets" })
// 3. learn: read the usage guide at runtime
omnial_learn({ tool: "stadtzuerichogd/search-datasets" })
// 4. run: price the exact call first, then run it
omnial_execute({ tool: "stadtzuerichogd/search-datasets", input: { /* see input_schema */ }, dry_run: true })
omnial_execute({ tool: "stadtzuerichogd/search-datasets", input: { /* ... */ } })
// 5. settle: the call is charged when it finishes, nothing to doNot connected yet? Point your MCP client at https://mcp.eden-engine.com/mcp, then copy a config for your client.
Pricing
Every charge this tool can incur.
| Charge | Price |
|---|---|
Per call | $0.0026 |
- Updated
- Oct 21, 2026
Input and output schemas
Input schema
{
"type": "object",
"required": [
"q"
],
"properties": {
"q": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Search words, for example verkehr or fussgaenger."
},
"rows": {
"type": "integer",
"default": 3,
"maximum": 10,
"minimum": 1,
"description": "How many matches to return, 1 to 10. Defaults to 3."
},
"start": {
"type": "integer",
"minimum": 0,
"description": "Number of matches to skip, for paging. Leave out for the first page."
}
},
"additionalProperties": false
}Output schema
{
"type": "object",
"required": [
"count",
"results"
],
"properties": {
"sort": {
"type": "string"
},
"count": {
"type": "integer",
"description": "Total number of datasets matching the search, not only the rows returned."
},
"facets": {
"type": "object",
"additionalProperties": true
},
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string",
"description": "The dataset slug; pass it to the get-dataset tool."
},
"tags": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
}
},
"notes": {
"type": [
"string",
"null"
],
"description": "The dataset description as published."
},
"title": {
"type": "string"
},
"resources": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
},
"description": "The dataset's files and services: name, format, url, id and datastore_active."
},
"license_id": {
"type": [
"string",
"null"
],
"description": "The dataset's licence id."
},
"organization": {
"type": [
"object",
"null"
],
"description": "The publishing organisation.",
"additionalProperties": true
},
"license_title": {
"type": [
"string",
"null"
]
},
"metadata_created": {
"type": "string"
},
"metadata_modified": {
"type": "string",
"description": "When the catalogue record last changed."
}
},
"additionalProperties": true
},
"description": "The matching datasets in relevance order, at most rows of them."
},
"search_facets": {
"type": "object",
"additionalProperties": true
}
},
"description": "The portal's search result: the total count and one record per returned match.",
"additionalProperties": true
}