Saltar al contingut principal

El servei Taules retorna dades i metadades d'un conjunt creixent d'estadístiques de l'Idescat.

La utilització d'aquest servei comporta l'acceptació de les condicions d'ús de les APIs de l'Idescat.

Resum
URI base https://api.idescat.cat/taules/v2/{estadística}/{node}/{taula}/{geo}[/data][?{filtres}]
Mètodes HTTP GET, POST
Format de la resposta json (JSON-stat)
Versió 2.00 (18/9/2023)

1. Petició

1.1 Estadístiques disponibles

https://api.idescat.cat/taules/v2

Retorna la llista d'estadístiques disponibles a través de l'API com una col·lecció JSON-stat.

1.2 Nodes disponibles

https://api.idescat.cat/taules/v2/{estadística}

Retorna la llista de nodes disponibles d'una estadística com una col·lecció JSON-stat.

Ex. 1: Nodes de l'estadística PMH (Padró municipal d'habitants)
https://api.idescat.cat/taules/v2/pmh

1.3 Taules disponibles

https://api.idescat.cat/taules/v2/{estadística}/{node}

Retorna la llista de taules disponibles en un determinat node d'una estadística com una col·lecció JSON-stat.

Ex. 2: Taules del node 1180 ("Població a 1 de gener. Per sexe i edat any a any") de l'estadística PMH (Padró municipal d'habitants)
https://api.idescat.cat/taules/v2/pmh/1180

1.4 Divisions territorials disponibles

https://api.idescat.cat/taules/v2/{estadística}/{node}/{taula}

Retorna la llista de divisions territorials disponibles per a una determinada taula com una col·lecció JSON-stat.

Ex. 3: Divisions territorials de la taula 8078 ("Població a 1 de gener. Per sexe i edat any a any (2014–)") del node 1180 de l'estadística PMH (Padró municipal d'habitants)
https://api.idescat.cat/taules/v2/pmh/1180/8078

1.5 Metadades d'una taula

https://api.idescat.cat/taules/v2/{estadística}/{node}/{taula}/{geo}

Retorna les metadades d'una taula per a una determinada divisió territorial com un conjunt de dades JSON-stat.

Ex. 4: Metadades de la taula 8078 ("Població a 1 de gener. Per sexe i edat any a any (2014–)") per comarques i Aran del node 1180 de l'estadística PMH (Padró municipal d'habitants)
https://api.idescat.cat/taules/v2/pmh/1180/8078/com

La resposta d'aquesta petició és idèntica a la petició de dades, excepte en el fet que no conté dades.

La petició de les dades de la taula s'exposa en l'element la propietat describes.

1.6 Dades d'una taula

https://api.idescat.cat/taules/v2/{estadística}/{node}/{taula}/{geo}/data

Retorna les dades i les metadades d'una taula per a una determinada divisió territorial com un conjunt de dades JSON-stat.

L'API no permet recuperar més de 10.000 20.000 dades en una única crida. Consulteu la secció 1.7 per conèixer com filtrar el nombre de cel·les retornat.

Ex. 5: Metadades de la taula 8078 ("Població a 1 de gener. Per sexe i edat any a any (2014–)") per comarques i Aran del node 1180 de l'estadística PMH (Padró municipal d'habitants)
https://api.idescat.cat/taules/v2/pmh/1180/8078/com/data

La petició només de les metadades de la taula s'exposa en la propietat describedby.

1.7 Paràmetres

1.7.1 El paràmetre general lang

Totes les crides admeten el paràmetre lang per determinar l'idioma de la resposta. Aquest paràmetre admet tres valors: ca (valor per defecte), es i en.

Ex. 6: Nodes de l'estadística PMH (Padró municipal d'habitants) en anglès
https://api.idescat.cat/taules/v2/pmh?lang=en

1.7.2 Filtres

Quan es recuperen dades o metadades és possible filtrar categories de les dimensions de la taula. Per a això, cal conèixer el nom de les categories i de les dimensions, tal com apareixen en la petició de metadades descrita a la secció 1.5. En el cas de les dimensions que apareguin com a paràmetres a la crida, només es recuperaran les categories que es passin com a valors separats per comes.

Ex. 7: Població femenina per edat any a any a l'Alt Camp i al conjunt de Catalunya
https://api.idescat.cat/taules/v2/pmh/1180/8078/com/data?SEX=F&COM=01,TOTAL
Ex. 8: Població femenina per edat any a any a l'Alt Camp el 2020 i el 2021
https://api.idescat.cat/taules/v2/pmh/1180/8078/com/data?SEX=F&COM=01&YEAR=2020,2021

Per tal d'evitar la limitació que imposa el protocol HTTP/1.1 a les adreces, aquesta API admet excepcionalment el mètode POST: només s'ha d'utilitzar aquest mètode quan la complexitat dels filtres donaria lloc a una adreça de les peticions GET superior als 2.000 caràcters. Exemple:

Adreça: https://api.idescat.cat/taules/v2/pmh/1180/8078/com/data

Cos del missatge: SEX=F&COM=01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42&YEAR=2022,2020,2018,2016,2014,2012,2010,2008,2006…

1.7.3 El paràmetre temporal _LAST_

A més de filtrar les dades especificant els valors que es volen de la dimensió temporal, és possible fer-ho proporcionant el nombre de darrers períodes que es volen.

Ex. 9: Població femenina per edat any a any a l'Alt Camp en els darrers dos anys disponibles
https://api.idescat.cat/taules/v2/pmh/1180/8078/com/data?SEX=F&COM=01&_LAST_=2

2. Resposta

2.1 Classes

L'API retorna respostes de classe col·lecció (JSON-stat collection), conjunt de dades (JSON-stat dataset) i error. Per a les dues primeres, consulteu la documentació de JSON-stat.

Quan es produeix un error, la resposta pren la següent forma:

{
	version: "2.0",
	class: "error",
	status: "{Codi d'estat HTTP}",
	id: "{Codi d'error intern}",
	label: "{Text explicatiu}"
}

Per exemple, quan se supera el límit de nombre de dades, l'API retorna:

{
	version: "2.0",
	class: "error",
	status: "416",
	id: "05",
	label: "Nombre màxim de dades superat."
}
Errors previstos
Codi intern Descripció Codi d'estat HTTP
01 Identificador d'estadística incorrecte. 400
02 Identificador de node incorrecte. 400
03 Identificador de taula incorrecte. 400
04 Identificador de divisió territorial incorrecte. 400
05 Nombre màxim de dades superat. 416
06 Valor del paràmetre _LAST_ incorrecte. 400
00 Error greu de l'API. 500

2.2 Extensions

JSON-stat suporta la personalització de la resposta utilitzant la propietat extension, ja sigui associant-la al conjunt de dades o a una dimensió específica. L'API fa ús d'aquesta propietat en diferents situacions.

2.2.1 Estat

La propietat status associa un símbol (per exemple, "p") als valors amb algun estat especial. L'API utilitza una extensió a nivell de conjunt de dades per associar un text (per exemple, "Dada provisional") als símbols utilitzats.

"extension": {
	"status": {
		"label": {
			"p": "Dada provisional"
		}
	}
}

De vegades, la imputació d'un estat a un valor es deriva de l'estat associat a una categoria d'una dimensió. Per exemple, la provisionalitat de les dades sovint està associada a un determinat període temporal. L'API utilitza una extensió a nivell de dimensió per associar un estat a algunes de les seves categories.

"extension": {
	"status": {
		"2022": "p"
	}
}

2.2.2 Fonts

A més d'utilitzar la propietat source de JSON-stat (text), l'API retorna un vector amb les diferents fonts associades a la taula com a extensió del conjunt de dades.

"extension": {
	"source": [
		"Idescat, a partir del Padró continu de l'INE."
	]
}

2.2.3 Canvis en la dimensió geogràfica

Les dimensions amb rol geogràfic identifiquen la granularitat de la divisió territorial utilitzada, per exemple: "comarcal" (COM), "municipal" (MUN), etc. La versió de la divisió territorial i els possibles canvis que s'hi hagin introduït s'exposen en una extensió associada a la dimensió geogràfica en qüestió.

"COM" :
	"label" : "comarca o Aran",
	"extension" : {
	  "break" : [ {
		"time" : "2010",
		"id" : "COM41",
		"label" : "Comarques vigents en data 17/01/1990"
	}, {
		"time" : "2015",
		"id" : "COM42",
		"label" : "Comarques vigents en data 01/05/2015"
	  } ]
	}
}

Per a l'identificador del període inicial d'aplicació d'una nova versió de la divisió territorial, s'indica l'identificador intern de la classificació geogràfica i un text descriptiu. La propietat time indica la categoria de la primera dimensió amb un rol temporal.

2.2.4 Altres extensions

En el futur podrien afegir-se altres extensions a la resposta, que s'inclouran pertinentment en aquesta documentació. Vegeu també 2.3.3 Peticions relacionades.

2.3 Enllaços

JSON-stat utilitza la propietat link per oferir enllaços relacionats amb la crida a l'API, agrupats per relacions. Quan els enllaços retornen respostes en format JSON-stat, s'exposen tres propietats JSON-stat: class, href i label. Quan no és així, l'API exposa dues propietats: type (tipus de contingut) i href.

2.3.1 Dades i metadades

La vinculació entre metadades i les seves dades s'exposa en la propietat describes.

{
	"version" : "2.0",
	"class" : "dataset",
	"href" : "https://api.idescat.cat/taules/v2/pmh/446/477/com",
	"link" : {
		"describes" : [ {
			"class" : "dataset",
			"href" : "https://api.idescat.cat/taules/v2/pmh/446/477/com/data",
			"label" : "Població a 1 de gener. Per sexe. Comarques i Aran"
		} ],
		…
	},
	…
}

La vinculació entre dades i les seves metadades s'exposa en la propietat describedby.

{
	"version" : "2.0",
	"class" : "dataset",
	"href" : "https://api.idescat.cat/taules/v2/pmh/446/477/com/data",
	"link" : {
		"describedby" : [ {
			"class" : "dataset",
			"href" : "https://api.idescat.cat/taules/v2/pmh/446/477/com",
			"label" : "Població a 1 de gener. Per sexe. Comarques i Aran"
		} ],
		…
	},
	…
}

2.3.2 Rectificacions

La informació sobre possibles rectificacions recents que s'hagin introduït en les dades s'exposa en la propietat monitor.

"link" : {
	"monitor" : [ {
		"type" : "application/json",
		"href" : "https://api.idescat.cat/rectificacions/v1/rectificacions/cerca.json?id=485"
	} ],
	…
}

Aquest enllaç amb l'API de Rectificacions pot incloure una rectificació o més d'una.

2.3.3 Peticions relacionades

Altres peticions relacionades s'exposen amb propietats de tipus related. En aquest apartat es poden trobar les crides a les metadades de la mateixa taula per a diferents divisions territorials (mateix identificador de node, mateix identificador de taula, identificador geogràfic diferent):

"related" : [ {
	"class" : "dataset",
	"href" : "https://api.idescat.cat/taules/v2/pmh/446/477/prov",
	"label" : "Població a 1 de gener. Per sexe. Províncies"
	}, {
	"class" : "dataset",
	"href" : "https://api.idescat.cat/taules/v2/pmh/446/477/at",
	"label" : "Població a 1 de gener. Per sexe. Àmbits del Pla territorial"
	}, {
	"class" : "dataset",
	"href" : "https://api.idescat.cat/taules/v2/pmh/446/477/com",
	"label" : "Població a 1 de gener. Per sexe. Comarques i Aran"
	}, {
	"class" : "dataset",
	"href" : "https://api.idescat.cat/taules/v2/pmh/446/477/mun",
	"label" : "Població a 1 de gener. Per sexe. Municipis"
	}, {
	"class" : "dataset",
	"href" : "https://api.idescat.cat/taules/v2/pmh/446/477/ac",
	"label" : "Població a 1 de gener. Per sexe. Per agrupacions censals"
	}, {
	"class" : "dataset",
	"href" : "https://api.idescat.cat/taules/v2/pmh/446/477/dis",
	"label" : "Població a 1 de gener. Per sexe. Districtes censals"
	}, {
	"class" : "dataset",
	"href" : "https://api.idescat.cat/taules/v2/pmh/446/477/sec",
	"label" : "Població a 1 de gener. Per sexe. Seccions censals"
} ]

També s'hi poden trobar les crides a les metadades de les diferents taules que el mateix node ha tingut al llarg del temps (mateix identificador de node, identificador de taula diferent, mateix identificador geogràfic):

{
	"class" : "dataset",
	"href" : "https://api.idescat.cat/taules/v2/censph/10/1/cat",
	"label" : "Població. Per sexe i edat any a any. Catalunya (1981–2001)"
}, {
	"class" : "dataset",
	"href" : "https://api.idescat.cat/taules/v2/censph/10/5464/cat",
	"label" : "Població. Per sexe i edat any a any. Catalunya (1975)"
}

Excepcionalment, poden compartir identificador de node taules de naturalesa diferent que acostumen a presentar-se conjuntament. Aquest cas es pot distingir de l'anterior gràcies a l'existència d'una extensió group amb valor true.

{
	"version" : "2.0",
	"class" : "dataset",
	"href" : "https://api.idescat.cat/taules/v2/pibt/13077/15840/cat/data",
	"link" : {
		"describedby" : [ {
			"class" : "dataset",
			"href" : "https://api.idescat.cat/taules/v2/pibt/13077/15840/cat",
			"label" : "Producte interior brut a preus corrents. Oferta. Dades corregides d'estacionalitat. Catalunya"
		} ],
		"related" : [ {
			"class" : "dataset",
			"href" : "https://api.idescat.cat/taules/v2/pibt/13077/15841/cat",
			"label" : "Producte interior brut a preus corrents. Demanda. Dades corregides d'estacionalitat. Catalunya",
			"extension" : {
				"group" : true
			}
		} ]
	},
	…
}

2.3.4 Altres enllaços

En el futur podrien afegir-se altres enllaços a la resposta, que s'inclouran pertinentment en aquesta documentació.