API - Open Data Lazio
Evidently when talking about APIs (Application Programming Interface), in this context we are talking about web APIs, that is web services that enable other programs to interact with the open data repository. In particular, the open data portal offers RESTful web services that, in respect of classic SOAP or other technologies, are easier to be used by client application, both ordinary web app or mobile ones. RESTful APIs are resources oriented services and, for the open data portal, resources are especially "dataset" and "resources" (in the sense of the physical components of a dataset), or better the metadata that describes them. Thus we have APIs for adding new datasets to the catalog or change some attributes that describe a resource or search for a particular keyword or retrieve all the attributes of a particular dataset, just to name a few.
Generally speaking, everything that you can do with the catalog's human interface, can be done using APIs with some slightly differences, but with the same security considerations, meaning that some of the APIs require authorization. Search and visualization/download APIs are freely available.
These APIs let you interact with metadata , but is it possible to deal with dati programmatically, or I'm forced to download them in order to use them? Yes, we have APIs for data too, but since data can be very different, a correspondent variety of APIs are offered. We have RESTful APIs for tabular data, OGC Web Services for spatial data and SPARQL endpoint for linked data.
When you use tabular data APIs, you can search, filter and read data without the need to download the entire resource of the dataset. The same for the OGC services, that although they are not RESTful, follow a well-known and widely spread international standard and can be used also for producing georeferenced images. SPARQL endpoint is where you can query linked data and downloading them with filtering and subsetting operations.
Developers can access the data catalogue with an API, as an alternative to the dati.lazio.it web interface.
The base URL for accessing the catalog’s APIs is the following: https://dati.lazio.it/api/3
The base URL is the address to start from when querying the catalog via API, to be completed with the specific endpoint you want to query
For example, to obtain the list of datasets available in the catalog, the endpoint is the following: https://dati.lazio.it/api/3/action/package_list
The official CKAN documentation is available at the following link: https://docs.ckan.org/en/2.9/api/index.html