Portuguese Government Open Data Dataset Search (dados.gov.pt)
dadosgovpt/dataset-search
Searches the dados.gov.pt dataset catalogue (the Portuguese government's open data portal) and returns up to 10 datasets per call: id, slug, title, short and full description, publisher (organization), licence id, update frequency, created and last-modified dates, tags, page link and the list of resources (title, format, download URL). Filter by plain text `q`, `license` (open licences only: cc-by default, cc-zero, cc-by-sa, odc-by, odc-odbl, odc-pddl, other-open, other-pd, other-at), publisher id, tag and sort order. `total` is the number of matching datasets; page with `page` until `next_page` is null (a page past the end is an error). Text is mostly Portuguese. Data from dados.gov.pt as served by Eden Engine, not an official Portuguese government 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
dados.gov.pt (Portuguese Government Open Data Portal)
Data from dados.gov.pt, the Portuguese government's open data portal. State-body data is published under Creative Commons CC BY 4.0 unless otherwise specified; credit the publisher named in each record and cite dados.gov.pt as the source. Only datasets under open licences are returned, and each record's licence id is passed through. Passed through unmodified. Served by Eden Engine; not an official Portuguese government 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: "dadosgovpt/dataset-search" })
// 3. learn: read the usage guide at runtime
omnial_learn({ tool: "dadosgovpt/dataset-search" })
// 4. run: price the exact call first, then run it
omnial_execute({ tool: "dadosgovpt/dataset-search", input: { /* see input_schema */ }, dry_run: true })
omnial_execute({ tool: "dadosgovpt/dataset-search", 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": [
"page_size"
],
"properties": {
"q": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Optional plain-text search, for example saude, transportes or população residente. Portuguese terms work best. Leave out to list every dataset in the chosen order."
},
"tag": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "Optional tag, as shown on a dataset's tags, for example saude. Leave out for any tag."
},
"page": {
"type": "integer",
"minimum": 1,
"description": "Page number, starting at 1. Stop when `next_page` is null: a page past the last one is refused. Leave out for page 1."
},
"sort": {
"enum": [
"-created",
"created",
"-last_update",
"last_update",
"-reuses",
"-followers",
"-views",
"title",
"-title"
],
"type": "string",
"description": "Optional order: a leading minus means descending. Created is when the dataset was published, last_update when its data last changed. Leave out for best match (or the portal's default order without q)."
},
"license": {
"enum": [
"cc-by",
"cc-zero",
"cc-by-sa",
"odc-by",
"odc-odbl",
"odc-pddl",
"other-open",
"other-pd",
"other-at"
],
"type": "string",
"default": "cc-by",
"description": "Only datasets under this open licence are returned. Defaults to cc-by (Creative Commons Attribution), the portal's licence for state-body data. cc-by-sa, odc-odbl carry share-alike."
},
"page_size": {
"type": "integer",
"maximum": 10,
"minimum": 1,
"description": "How many datasets to return per page, 1 to 10. Required."
},
"organization": {
"type": "string",
"pattern": "^[0-9a-f]{24}$",
"description": "Optional publisher id: 24 hexadecimal characters, as returned in `id` by organization-search. Leave out for all publishers."
}
},
"additionalProperties": false
}Output schema
{
"type": "object",
"required": [
"data",
"total"
],
"properties": {
"data": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"title"
],
"properties": {
"id": {
"type": "string",
"description": "Dataset id."
},
"page": {
"type": "string",
"description": "Dataset page on dados.gov.pt."
},
"slug": {
"type": "string",
"description": "Dataset slug; the page is dados.gov.pt/datasets/<slug>."
},
"tags": {
"type": "array",
"items": {
"type": "string"
},
"description": "Tags."
},
"title": {
"type": "string",
"description": "Dataset title."
},
"license": {
"type": [
"string",
"null"
],
"description": "Licence id."
},
"frequency": {
"type": [
"string",
"null"
],
"description": "Stated update frequency."
},
"resources": {
"type": "array",
"items": {
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Address of the publisher's file."
},
"title": {
"type": "string",
"description": "Resource title."
},
"format": {
"type": [
"string",
"null"
],
"description": "File format, for example csv."
}
},
"additionalProperties": true
},
"description": "Files and links attached to the dataset."
},
"created_at": {
"type": "string",
"description": "When the dataset was published."
},
"description": {
"type": "string",
"description": "Full description, Markdown."
},
"organization": {
"type": [
"object",
"null"
],
"properties": {
"id": {
"type": "string",
"description": "Publisher id, usable as `organization`."
},
"name": {
"type": "string",
"description": "Publisher name."
},
"slug": {
"type": "string",
"description": "Publisher slug."
}
},
"description": "The publisher; null for a dataset published by a person.",
"additionalProperties": true
},
"last_modified": {
"type": "string",
"description": "When the record last changed."
},
"description_short": {
"type": [
"string",
"null"
],
"description": "Short description, often null."
}
},
"additionalProperties": true
},
"description": "The datasets on this page; empty when nothing matches."
},
"page": {
"type": "integer",
"description": "This page's number."
},
"total": {
"type": "integer",
"description": "Number of datasets matching the search."
},
"next_page": {
"type": [
"string",
"null"
],
"description": "API address of the next page, or null on the last page."
},
"page_size": {
"type": "integer",
"description": "Datasets per page."
}
},
"description": "One page of datasets, as the portal returns it, with the fields trimmed to the listed ones.",
"additionalProperties": true
}