diff --git a/src/libs/routes/api.js b/src/libs/routes/api.js
index 609a2ad326a6dbd8609b3c68923eee61263f8993..43fec48396eb4731d4d4e112b35aa4c617955ead 100644
--- a/src/libs/routes/api.js
+++ b/src/libs/routes/api.js
@@ -44,6 +44,8 @@ const oauth2 = require(`${libs}/middlewares/oauth2`);
 
 const verifyToken = require(`${libs}/routes/verifyToken`);
 
+const educationYears = require(`${libs}/routes/educationYears`);
+
 api.get('/', (req, res) => {
     res.json({ msg: 'SimCAQ API is running' });
 });
@@ -68,5 +70,6 @@ api.use('/population', population);
 api.use('/idhml', idhml);
 api.use('/auth/token', oauth2.token);
 api.use('/verify', verifyToken);
+api.use('/education_years', educationYears);
 
 module.exports = api;
diff --git a/src/libs/routes/educationYears.js b/src/libs/routes/educationYears.js
new file mode 100644
index 0000000000000000000000000000000000000000..0d103883f53fc53dbd8770fa983dc5fe568564dd
--- /dev/null
+++ b/src/libs/routes/educationYears.js
@@ -0,0 +1,46 @@
+const express = require('express');
+
+const educationYearsApp = express.Router();
+
+const libs = `${process.cwd()}/libs`;
+
+const log = require(`${libs}/log`)(module);
+
+const response = require(`${libs}/middlewares/response`);
+
+const config = require(`${libs}/config`);
+
+const id2str = require(`${libs}/middlewares/id2str`);
+
+const cache = require('apicache').options({ debug: config.debug, statusCodes: {include: [200]} }).middleware;
+
+educationYearsApp.use(cache('15 day'));
+
+educationYearsApp.get('/', (req, res, next) => {
+    req.result = [];
+    for(let i = 1; i <= 7; ++i) {
+        let edLvlShort = {
+            id: i,
+            name: id2str.educationLevelShort(i),
+            schoolYears: []
+        };
+
+        for(let j = i*10; j <= (i*10 + 9); ++j) {
+
+            let schoolYear = {
+                id: j,
+                name: id2str.schoolYear(j)
+            };
+
+            if(schoolYear.name !== id2str.schoolYear(99)) {
+                edLvlShort.schoolYears.push(schoolYear);
+            }
+        }
+        if(edLvlShort.name !== id2str.schoolYear(99)) {
+            req.result.push(edLvlShort);
+        }
+    }
+    next();
+}, response('educationYears'));
+
+module.exports = educationYearsApp;
diff --git a/src/libs/routes/pibpercapita.js b/src/libs/routes/pibpercapita.js
index d8b7f37b1f0338b0e2a88875f7f90ae20f3c371b..868d8c184d99c916833e7c0f4cad1d549143cc9a 100644
--- a/src/libs/routes/pibpercapita.js
+++ b/src/libs/routes/pibpercapita.js
@@ -16,7 +16,7 @@ const ReqQueryFields = require(`${libs}/middlewares/reqQueryFields`);
 
 const id2str = require(`${libs}/middlewares/id2str`);
 
-const config = require(`${libs}/config`); 
+const config = require(`${libs}/config`);
 
 const cache = require('apicache').options({ debug: config.debug, statusCodes: {include: [200]} }).middleware;
 
@@ -59,8 +59,8 @@ rqf.addField({
 }).addValue({
     name: 'city',
     table: 'municipio',
-    tableField: 'nome',
-    resultField: 'city_name',
+    tableField: ['nome', 'id'],
+    resultField: ['city_name', 'city_id'],
     where: {
         relation: '=',
         type: 'integer',
diff --git a/src/libs/routes/population.js b/src/libs/routes/population.js
index 4c90963a60fb28ec5e7732ba93e68a67a4c7224d..c362941be6a1f07c129e64eaa60f104423a714d0 100644
--- a/src/libs/routes/population.js
+++ b/src/libs/routes/population.js
@@ -16,7 +16,7 @@ const ReqQueryFields = require(`${libs}/middlewares/reqQueryFields`);
 
 const id2str = require(`${libs}/middlewares/id2str`);
 
-const config = require(`${libs}/config`); 
+const config = require(`${libs}/config`);
 
 const cache = require('apicache').options({ debug: config.debug, statusCodes: {include: [200]} }).middleware;
 
@@ -61,8 +61,8 @@ rqf.addField({
 }).addValue({
     name: 'city',
     table: 'municipio',
-    tableField: 'nome',
-    resultField: 'city_name',
+    tableField: ['nome', 'id'],
+    resultField: ['city_name', 'city_id'],
     where: {
         relation: '=',
         type: 'integer',