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 data 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 the API is: http://dati.lazio.it/catalog/api/3
The API is provided by the CKAN software and full instructions are provided here: http://docs.ckan.org/en/ckan-2.0.2/api.html.