For a quick visualization, check out Wolfram Alpha
http://www.wolframalpha.com/input/?i=growth+rate+of+tokyo+population
http://www.wolframalpha.com/input/?i=growth+rate+of+jakarta+population
http://www.wolframalpha.com/input/?i=growth+rate+of+ghuangzhou+population
You cannot download the data for free. Spend 5$/month, or use the trial period.
However, these short time series will have different lengths. Values will differ from official numbers, because the definition of city boundaries is arbitrary.
For urban areas grouped countrywise, wikipedia includes a link to its main source, citypopulation.de, curated by a German guy, probably a GIS expert.
He doesn't make a dump of their data available for download (Quandl does), but they add a list of the official sources, the national authorities for statistics or demographics. (Query them yourself?)
library(Quandl)
library(downloader)
library(ggplot2)
zf <- "citypop-codes.csv.zip"
if(! file.exists(zf)){
download("https://www.quandl.com/api/v3/databases/CITYPOP/codes", zf)
}
(fn <- unzip(zf, list = TRUE)$Name)
contents <- unzip(zf, files=fn[1], junkpaths = TRUE )
codes <- read.csv(contents, header = FALSE )
colnames(codes) <- c("code", "descr")
(agg <- codes[grepl("\\[Tokyo\\]", codes$descr, ignore.case = T),])
popdata = Quandl(code=as.character(agg$code), type = "xts")
plot(popdata[,1])
popdata
Pop
1995-10-01 7967614
2000-10-01 8134688
2005-10-01 8489653
2010-10-01 8945695
2014-10-01 9143041