Open Government, Luxembourg

Open Government, Luxembourg — free-tier JSON endpoint

🏛 GovernmentUNMONITORED
AUTH APIKEYCORS AGENT ?HTTPS COMMERCIAL ?

Open Government, Luxembourg offers a free API tier. We verified JSON on a sample GET (Government). Check provider docs for key requirements and limits.

HOW IT'S SCORED ⓘ
Status badge · for your READMEshipapis health badge: — · unmonitored
ON PROBE SCHEDULE

We probe a documented GET and expect 2xx JSON — full uptime and health score. Open provider docs ↗

Uptime historystarts after first probe

On our probe schedule. Uptime charts appear after the first check lands.

Example responsefrom provider docs — not verified by us
GET https://data.public.lu/api/1/swagger.json

{
  "basePath": "/api/1",
  "consumes": [
    "application/json"
  ],
  "definitions": {
    "Activity": {
      "properties": {
        "actor": {
          "allOf": [
            {
              "$ref": "#/definitions/UserReference"
            }
          ],
          "description": "The user who performed the action",
          "readOnly": true
        },
        "created_at": {
          "description": "When the action has been performed",
          "format": "date-time",
          "readOnly": true,
          "type": "string"
        },
        "extras": {
          "description": "Extras attributes as key-value pairs",
          "type": "object"
        },
        "icon": {
          "description": "The icon of the activity",
          "type": "string"
        },
        "key": {
          "description": "The key of the activity",
          "type": "string"
        },
        "label": {
          "description": "The label of the activity",
          "type": "string"
        },
        "organization": {
          "allOf": [
            {
              "$ref": "#/definitions/OrganizationReference"
            }
          ],
          "description": "The organization who performed the action",
          "readOnly": true
        },
        "related_to": {
          "description": "The activity target name",
          "type": "string"
        }
      },
      "required": [
        "icon",
        "key"
      ],
      "type": "object"
    },
    "ActivityPage": {
      "properties": {
        "data": {
          "description": "The page data",
          "items": {
            "$ref": "#/definitions/Activity"
          },
          "type": "array"
        },
        "next_page": {
          "description": "The next page URL if exists",
          "type": "string"
        },
        "page": {
          "description": "The current page",
          "minimum": 1,
          "type": "integer"
        },
        "page_size": {
          "description": "The page size used for pagination",
          "minimum": 0,
          "type": "integer"
        },
        "previous_page": {
          "description": "The previous page URL if exists",
          "type": "string"
        },
        "total": {
          "description": "The total paginated items",
          "minimum": 0,
          "type": "integer"
        }
      },
      "required": [
        "page",
        "page_size"
      ],
      "type": "object"
    },
    "ApiKey": {
      "properties": {
        "apikey": {
          "description": "The user API Key",
          "readOnly": true,
          "type": "string"
        }
      },
      "type": "object"
    },
    "Badge": {
      "properties": {
        "kind": {
          "description": "Kind of badge (certified, etc), specific to each model",
          "type": "string"
        }
      },
      "required": [
        "kind"
      ],
      "type": "object"
    },
    "BaseReference": {
      "discriminator": "class",
      "properties": {
        "class": {
          "description": "The object class",
          "type": "string"
        },
        "id": {
          "description": "The object unique identifier",
          "type": "string"
        }
      },
      "required": [
        "class",
        "id"
      ],
      "type": "object"
    },
    "CatalogSchema": {
      "properties": {
        "consolidation_dataset_id": {
          "type": "string"
        },
        "contact": {
          "type": "string"
        },
        "datapackage_description": {
          "description": "Only present if the schema is inside a datapackage",
          "type": "string"
        },
        "datapackage_name": {
          "description": "Only present if the schema is inside a datapackage",
          "type": "string"
        },
        "datapackage_title": {
          "description": "Only present if the schema is inside a datapackage",
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "examples": {
          "items": {
            "$ref": "#/definitions/CatalogSchemaExample"
          },
          "type": "array"
        },
        "external_doc": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "CatalogSchemaExample": {
      "properties": {
        "path": {
          "type": "string"
        },
        "title": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "CatalogSchemaVersion": {
      "properties": {
        "schema_url": {
          "type": "string"
        },
        "version_name": {
          "type": "string"
        }
      },
      "type": "object"
    }
  },
  "host": "data.public.lu",
  "info": {
    "description": "uData API",
    "title": "uData API",
    "version": "1.0"
  },
  "paths": {
    "/activity": {
      "get": {
        "operationId": "activity",
        "parameters": [
          {
            "default": 1,
            "description": "The page to fetch",
            "in": "query",
            "name": "page",
            "type": "integer"
          },
          {
            "default": 20,
            "description": "The page size to fetch",
            "in": "query",
            "name": "page_size",
            "type": "integer"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/ActivityPage"
            }
          }
        },
        "summary": "Fetch site activity, optionally filtered by user of org",
        "tags": [
          "site"
        ]
      }
    },
    "/avatars/{identifier}/{size}": {
      "get": {
        "operationId": "avatars",
        "responses": {
          "200": {
            "description": "Success"
          }
        },
        "summary": "Get a deterministic avatar given an identifier at a given size",
        "tags": [
          "avatars"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "identifier",
          "required": true,
          "type": "string"
        },
        {
          "in": "path",
          "name": "size",
          "required": true,
          "type": "integer"
        }
      ]
    },
    "/contacts/": {
      "post": {
        "operationId": "create_contact_point",
        "parameters": [
          {
            "in": "body",
            "name": "payload",
            "required": true,
            "schema": {
              "$ref": "#/definitions/ContactPoint"
            }
          },
          {
            "description": "An optional fields mask",
            "format": "mask",
            "in": "header",
            "name": "X-Fields",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/ContactPoint"
            }
          },
          "400": {
            "description": "Validation error"
          }
        },
        "summary": "Creates a contact point",
        "tags": [
          "contacts"
        ]
      }
    },
    "/contacts/{contact_point}/": {
      "delete": {
        "operationId": "delete_contact_point",
        "responses": {
          "204": {
            "description": "Contact point deleted"
          },
          "404": {
            "description": "Contact point not found"
          }
        },
        "summary": "Deletes a contact point given its identifier",
        "tags": [
          "contacts"
        ]
      },
      "get": {
        "operationId": "get_contact_point",
        "parameters": [
          {
            "description": "An optional fields mask",
            "format": "mask",
            "in": "header",
            "name": "X-Fields",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/ContactPoint"
            }
          },
          "404": {
            "description": "Contact point not found"
          }
        },
        "summary": "Get a contact point given its identifier",
        "tags": [
          "contacts"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "contact_point",
          "required": true,
          "type": "string"
        }
      ],
      "put": {
        "operationId": "update_contact_point",
        "parameters": [
          {
            "in": "body",
            "name": "payload",
            "required": true,
            "schema": {
              "$ref": "#/definitions/ContactPoint"
            }
          },
          {
            "description": "An optional fields mask",
            "format": "mask",
            "in": "header",
            "name": "X-Fields",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/ContactPoint"
            }
          },
          "400": {
            "description": "Validation error"
          },
          "404": {
            "description": "Contact point not found"
          }
        },
        "summary": "Updates a contact point given its identifier",
        "tags": [
          "contacts"
        ]
      }
    },
    "/dataservices/": {
      "get": {
        "operationId": "list_dataservices",
        "parameters": [
          {
            "default": 1,
            "description": "The page to display",
            "in": "query",
            "name": "page",
            "type": "integer"
          },
          {
            "default": 20,
            "description": "The page size",
            "in": "query",
            "name": "page_size",
            "type": "integer"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/DataservicePage"
            }
          }
        },
        "summary": "List or search all dataservices",
        "tags": [
          "dataservices"
        ]
      },
      "post": {
        "operationId": "create_dataservice",
        "parameters": [
          {
            "in": "body",
            "name": "payload",
            "required": true,
            "schema": {
              "$ref": "#/definitions/Dataservice%20%28write%29"
            }
          },
          {
            "description": "An optional fields mask",
            "format": "mask",
            "in": "header",
            "name": "X-Fields",
            "type": "string"
          }
        ],
        "responses": {
          "201": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/Dataservice%20%28read%29"
            }
          },
          "400": {
            "description": "Validation error"
          }
        },
        "tags": [
          "dataservices"
        ]
      }
    },
    "/dataservices/{dataservice}/": {
      "delete": {
        "operationId": "delete_dataservice",
        "responses": {
          "204": {
            "description": "dataservice deleted"
          }
        },
        "tags": [
          "dataservices"
        ]
      },
      "get": {
        "operationId": "get_dataservice",
        "parameters": [
          {
            "description": "An optional fields mask",
            "format": "mask",
            "in": "header",
            "name": "X-Fields",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/Dataservice%20%28read%29"
            }
          }
        },
        "tags": [
          "dataservices"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "dataservice",
          "required": true,
          "type": "string"
        }
      ],
      "patch": {
        "operationId": "update_dataservice",
        "parameters": [
          {
            "in": "body",
            "name": "payload",
            "required": true,
            "schema": {
              "$ref": "#/definitions/Dataservice%20%28write%29"
            }
          },
          {
            "description": "An optional fields mask",
            "format": "mask",
            "in": "header",
            "name": "X-Fields",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/Dataservice%20%28read%29"
            }
          },
          "400": {
            "description": "Validation error"
          }
        },
        "tags": [
          "dataservices"
        ]
      }
    },
    "/dataservices/{dataservice}/datasets/": {
      "parameters": [
        {
          "description": "The dataservice ID or slug",
          "in": "path",
          "name": "dataservice",
          "required": true,
          "type": "string"
        }
      ],
      "post": {
        "operationId": "dataservice_datasets_create",
        "parameters": [
          {
            "in": "body",
            "name": "payload",
            "required": true,
            "schema": {
              "items": {
                "$ref": "#/definitions/DataserviceDatasetsAdd"
              },
              "type": "array"
            }
          },
          {
            "description": "An optional fields mask",
            "format": "mask",
            "in": "header",
            "name": "X-Fields",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/Dataservice%20%28read%29"
            }
          },
          "400": {
            "description": "Malformed object id(s) in request"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Dataservice not found"
          },
          "410": {
            "description": "Dataservice has been deleted"
          }
        },
        "tags": [
          "dataservices"
        ]
      }
    },
    "/dataservices/{dataservice}/datasets/{dataset}/": {
      "delete": {
        "operationId": "delete_dataservice_dataset_api_/dataservices/<dataservice:dataservice>/datasets/<dataset:dataset>/",
        "responses": {
          "404": {
            "description": "Dataservice not found"
          }
        },
        "tags": [
          "dataservices"
        ]
      },
      "parameters": [
        {
          "description": "The dataservice ID or slug",
          "in": "path",
          "name": "dataservice",
          "required": true,
          "type": "string"
        },
        {
          "in": "path",
          "name": "dataset",
          "required": true,
          "type": "string"
        }
      ]
    }
  },
  "produces": [
    "application/json"
  ],
  "responses": {
    "FieldValidationError": {
      "description": "A validation error",
      "schema": {
        "$ref": "#/definitions/ValidationError"
      }
    },
    "MaskError": {
      "description": "When any error occurs on mask"
    },
    "ParseError": {
      "description": "When a mask can't be parsed"
    },
    "PermissionDenied": {
      "description": "Error occuring when the user does not have the required permissions",
      "schema": {
        "$ref": "#/definitions/Error"
      }
    },
    "UnauthorizedFileType": {
      "description": "Error occuring when the user try to upload a non-allowed file type",
      "schema": {
        "$ref": "#/definitions/Error"
      }
    },
    "UploadError": {
      "description": "API Upload response handler",
      "schema": {
        "$ref": "#/definitions/UploadStatus"
      }
    },
    "UploadProgress": {
      "description": "API Upload response handler",
      "schema": {
        "$ref": "#/definitions/UploadStatus"
      }
    },
    "UploadStatus": {
      "description": "API Upload response handler",
      "schema": {
        "$ref": "#/definitions/UploadStatus"
      }
    }
  }
}
Call itcurl · fetch · python
curl "https://data.public.lu/api/1/swagger.json"
const res = await fetch("https://data.public.lu/api/1/swagger.json");
const data = await res.json();
console.log(data);
import requests

res = requests.get("https://data.public.lu/api/1/swagger.json")
print(res.json())
Endpoints · 5On scheduleFULL DOCS ↗
On schedule — GET /api/1/swagger.json awaits first probe
GET/api/1/swagger.jsonPROBED

Open Government, Luxembourg — free-tier JSON endpoint

GET/api

Api — documented GET route.

GET/api/1

Api details by ID (example: 1).

GET/api?limit=10

Api — documented GET route.

GET/api/search?q=test

Search by query parameters.

Machine-readable spec

We probe a documented GET and expect 2xx JSON — full uptime and health score. Export includes every documented route below.

Response-shape history

Not tracked yet. Shape-change history starts once this API joins our probe schedule.

Open Government, Luxembourg: common questions

Is Open Government, Luxembourg free to use?

Yes — Open Government, Luxembourg is a free government API. Free tier: Free tier — API key may be required for production. Whether the free tier allows commercial use is unclear — check the provider docs.

Does Open Government, Luxembourg need an API key?

Yes — Open Government, Luxembourg needs a free API key, which you pass on each request. Rate limits: Unpublished.

Can I call Open Government, Luxembourg from the browser?

Yes — Open Government, Luxembourg returns CORS headers over HTTPS, so front-end code can fetch it directly with no backend proxy. Use the fetch snippet on this page, or hit "Run live" to try it now.

Is Open Government, Luxembourg up right now?

Open Government, Luxembourg is catalogued but not yet on our probe schedule, so we don't publish a live status for it. Check the provider's own status page or docs for its current state.