Austrian Open Data Search (data.gv.at): Datasets by Keyword
datagvat/search-datasets
Searches the Austrian open data portal data.gv.at for datasets matching your search terms and returns the total match count plus, for each dataset on the requested page, its title, description, publisher, source catalogue, licence link, themes, keywords, formats and the first 10 files or services with their links. Catalogue records only, not the data files; titles are mostly German, descriptions are cut at 500 characters, and each dataset states its own licence. Records of Austrian public-sector publishers, served by Eden Engine; not an official data.gv.at 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
Dataset records from the Austrian open data portal data.gv.at (www.data.gv.at). Each dataset states its own licence in `license` (mostly Creative Commons Attribution); follow it and credit the publisher named in `publisher`. Served by Eden Engine; not an official data.gv.at 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: "datagvat/search-datasets" })
// 3. learn: read the usage guide at runtime
omnial_learn({ tool: "datagvat/search-datasets" })
// 4. run: price the exact call first, then run it
omnial_execute({ tool: "datagvat/search-datasets", input: { /* see input_schema */ }, dry_run: true })
omnial_execute({ tool: "datagvat/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 25, 2026
Input and output schemas
Input schema
{
"type": "object",
"required": [
"q"
],
"properties": {
"q": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Search terms, for example 'verkehr', 'luftqualitaet' or 'Wien'. German terms match best. Matching is loose: check the titles of what comes back."
},
"page": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "Page number, counting from 0, for reading further pages of limit datasets. Leave out for the first page."
},
"limit": {
"type": "integer",
"default": 5,
"maximum": 10,
"minimum": 1,
"description": "How many datasets to return, 1 to 10. Defaults to 5. count still reports the total number of matches."
}
},
"additionalProperties": false
}Output schema
{
"type": "object",
"required": [
"count",
"returned",
"credit",
"results"
],
"properties": {
"count": {
"type": "integer",
"description": "Total number of datasets matching the query, not just those returned."
},
"credit": {
"type": "string",
"description": "Source credit to carry with the data."
},
"results": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"title",
"description",
"descriptionTruncated",
"themes",
"keywords",
"formats",
"distributionCount",
"distributions"
],
"properties": {
"id": {
"type": [
"string",
"null"
],
"description": "Dataset id in the portal's search index."
},
"title": {
"type": [
"string",
"null"
],
"description": "Dataset title, German where available, else English, else the first language given."
},
"issued": {
"type": [
"string",
"null"
],
"description": "When the portal first listed the dataset. Null when not stated."
},
"themes": {
"type": "array",
"items": {
"type": "string"
},
"description": "Up to 6 theme names."
},
"catalog": {
"type": [
"string",
"null"
],
"description": "Name of the source catalogue the portal harvested the record from. Null when none is given."
},
"formats": {
"type": "array",
"items": {
"type": "string"
},
"description": "File formats offered across the distributions."
},
"license": {
"type": [
"string",
"null"
],
"description": "Link to the licence of the first distribution that names one, for example a Creative Commons deed. Null when no distribution names a licence."
},
"keywords": {
"type": "array",
"items": {
"type": "string"
},
"description": "Up to 15 keywords."
},
"modified": {
"type": [
"string",
"null"
],
"description": "When the dataset was last modified. Null when not stated."
},
"publisher": {
"type": [
"string",
"null"
],
"description": "Name of the publishing body. Null when none is given."
},
"description": {
"type": [
"string",
"null"
],
"description": "Dataset description in the same language choice as the title, cut at 500 characters; see descriptionTruncated. Null when none is given."
},
"landingPage": {
"type": [
"string",
"null"
],
"description": "The dataset's page on data.gv.at. Null when none is given."
},
"distributions": {
"type": "array",
"items": {
"type": "object",
"properties": {
"url": {
"type": [
"string",
"null"
],
"description": "Link to the file or service, on the publisher's own host."
},
"title": {
"type": [
"string",
"null"
],
"description": "Distribution title."
},
"format": {
"type": [
"string",
"null"
],
"description": "File format, for example CSV."
},
"license": {
"type": [
"string",
"null"
],
"description": "Link to this distribution's licence. Null when none is named."
}
},
"additionalProperties": false
},
"description": "The first 10 distributions of the record."
},
"updateFrequency": {
"type": [
"string",
"null"
],
"description": "How often the publisher updates the dataset, for example annual. Null when not stated."
},
"distributionCount": {
"type": "integer",
"description": "Number of distributions (files or services) the record lists."
},
"descriptionTruncated": {
"type": "boolean",
"description": "True when description was cut at 500 characters."
}
},
"additionalProperties": false
},
"description": "Datasets on this page, in the portal's relevance order. Empty when nothing matches or page is past the last page."
},
"returned": {
"type": "integer",
"description": "Number of datasets in results."
}
},
"description": "The search answer: the total number of matches, the datasets on this page and the credit line.",
"additionalProperties": false
}