diff --git a/deploy/app.js b/deploy/app.js
index a07d5438a6f2ae37ef985fe97e22a0327d6dd322..d83356e4e85ce5a77b4ef57bd9c60b8caede9e24 100644
--- a/deploy/app.js
+++ b/deploy/app.js
@@ -8,6 +8,7 @@ const crypto = require('crypto')
 const cookieParser = require('cookie-parser')
 
 const { router: regionalFeaturesRouter, regionalFeatureIsReady } = require('./regionalFeatures')
+const { router: datasetRouter, ready: datasetRouteIsReady } = require('./datasets')
 
 const LOCAL_CDN_FLAG = !!process.env.PRECOMPUTED_SERVER
 
@@ -167,9 +168,11 @@ app.use('/logo', require('./logo'))
 app.get('/ready', async (req, res) => {
   const authIsReady = await authReady()
   const regionalFeatureReady = await regionalFeatureIsReady()
+  const datasetReady = await datasetRouteIsReady()
   const allReady = [ 
     authIsReady,
     regionalFeatureReady,
+    datasetReady,
     /**
      * add other ready endpoints here
      * call sig is await fn(): boolean
@@ -205,7 +208,6 @@ const jsonMiddleware = (req, res, next) => {
 const atlasesRouter = require('./atlas')
 const templateRouter = require('./templates')
 const nehubaConfigRouter = require('./nehubaConfig')
-const datasetRouter = require('./datasets')
 const pluginRouter = require('./plugins')
 const previewRouter = require('./preview')
 
diff --git a/deploy/datasets/index.js b/deploy/datasets/index.js
index 502a4c3500f702740814cfc136cc3137f3553605..b5aa755c55717af63100e2f21ae079e7c0c766fe 100644
--- a/deploy/datasets/index.js
+++ b/deploy/datasets/index.js
@@ -15,13 +15,19 @@ const bodyParser = require('body-parser')
 datasetsRouter.use(bodyParser.urlencoded({ extended: false }))
 datasetsRouter.use(bodyParser.json())
 
+let readyFlag = false
 init()
-  .then(() => console.log(`dataset init success`))
+  .then(() => {
+    console.log(`dataset init success`)
+    readyFlag = true
+  })
   .catch(e => {
     console.warn(`dataset init failed`, e)
     retry(() => init())
   })
 
+const ready = async () => readyFlag
+
 const cacheMaxAge24Hr = (_req, res, next) => {
   const oneDay = 24 * 60 * 60
   res.setHeader('Cache-Control', `max-age=${oneDay}`)
@@ -243,4 +249,7 @@ datasetsRouter.post('/bulkDownloadKgFiles', bodyParser.urlencoded({ extended: fa
   }
 })
 
-module.exports = datasetsRouter
+module.exports = {
+  router: datasetsRouter,
+  ready
+}