Portugal Municipalities of a District: Codes, NUTS Regions, Area (DGT CAOP)
dgtportugal/municipalities-in-district
The municipalities (concelhos) of one mainland Portuguese district: official 4-digit code, name, NUTS 1 to 3 regions, area in hectares, perimeter in kilometres and number of parishes, from the Direção-Geral do Território's CAOP 2025 map. Give the district name exactly as listed (with accents, for example Évora or Setúbal). Up to 50 per call (a district has at most 24), with an offset to page. Mainland only: the Azores and Madeira are not covered. Boundaries are never returned (geometry is null). DGT data under CC BY 4.0, passed through unmodified and served by Eden Engine; not an official DGT 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 $5.
Data source
Direção-Geral do Território (DGT)
Fonte: Direção-Geral do Território (DGT), CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Official administrative map of Portugal (CAOP 2025), mainland only, boundaries not returned. Served by Eden Engine; not an official DGT 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: "dgtportugal/municipalities-in-district" })
// 3. learn: read the usage guide at runtime
omnial_learn({ tool: "dgtportugal/municipalities-in-district" })
// 4. run: price the exact call first, then run it
omnial_execute({ tool: "dgtportugal/municipalities-in-district", input: { /* see input_schema */ }, dry_run: true })
omnial_execute({ tool: "dgtportugal/municipalities-in-district", 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 20, 2026
Input and output schemas
Input schema
{
"type": "object",
"required": [
"district"
],
"properties": {
"limit": {
"type": "integer",
"default": 50,
"maximum": 50,
"minimum": 1,
"description": "Most municipalities to return, 1 to 50. A district has at most 24."
},
"offset": {
"type": "integer",
"default": 0,
"maximum": 300,
"minimum": 0,
"description": "How many municipalities to skip, for paging."
},
"district": {
"enum": [
"Aveiro",
"Beja",
"Braga",
"Bragança",
"Castelo Branco",
"Coimbra",
"Évora",
"Faro",
"Guarda",
"Leiria",
"Lisboa",
"Portalegre",
"Porto",
"Santarém",
"Setúbal",
"Viana do Castelo",
"Vila Real",
"Viseu"
],
"type": "string",
"description": "A mainland district, spelled as listed, with accents: for example Évora, Setúbal, Lisboa."
}
},
"additionalProperties": false
}Output schema
{
"type": "object",
"required": [
"features"
],
"properties": {
"type": {
"type": "string"
},
"links": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
},
"description": "OGC API links (self, alternate formats, collection)."
},
"features": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The official code of the area."
},
"type": {
"type": "string"
},
"geometry": {
"description": "Always null: geometry is not requested."
},
"properties": {
"type": "object",
"properties": {
"dtmn": {
"type": "string",
"description": "Municipality code, district digits then municipality digits."
},
"nuts1": {
"type": "string"
},
"nuts2": {
"type": "string"
},
"nuts3": {
"type": "string"
},
"area_ha": {
"type": "number",
"description": "Area in hectares."
},
"municipio": {
"type": "string"
},
"nuts3_cod": {
"type": "string"
},
"n_freguesias": {
"type": "number",
"description": "Number of parishes."
},
"perimetro_km": {
"type": "number",
"description": "Perimeter in kilometres."
},
"distrito_ilha": {
"type": "string"
}
},
"additionalProperties": true
}
},
"additionalProperties": true
},
"description": "The matching areas. Empty when the point is outside the area the map covers."
},
"timeStamp": {
"type": "string"
},
"numberMatched": {
"type": "number"
},
"numberReturned": {
"type": "number"
}
},
"description": "An OGC API Features collection of the district's municipalities, without geometry.",
"additionalProperties": true
}