diff --git a/deploy/datasets/index.js b/deploy/datasets/index.js
index 88a71f09e32293f6a3632408028578a3f16885e5..42e1ad1232692e943d1b884ad8d0d78fc6770b97 100644
--- a/deploy/datasets/index.js
+++ b/deploy/datasets/index.js
@@ -2,7 +2,7 @@ const express = require('express')
 const path = require('path')
 const fs = require('fs')
 const datasetsRouter = express.Router()
-const { init, getDatasets, getPreview, getDatasetFromId, getDatasetFileAsZip, getTos } = require('./query')
+const { init, getDatasets, getPreview, getDatasetFromId, getDatasetFileAsZip, getTos, hasPreview } = require('./query')
 const url = require('url')
 const qs = require('querystring')
 
@@ -148,8 +148,15 @@ const checkKgQuery = (req, res, next) => {
   else return next()
 }
 
+datasetsRouter.get('/hasPreview', cacheMaxAge24Hr, async (req, res) => {
+  const { datasetName } = req.query
+  if (!datasetName || datasetName === '') return res.status(400).send(`datasetName as query param is required.`)
+  return res.status(200).json({
+    preview: hasPreview({ datasetName })
+  })
+})
+
 datasetsRouter.get('/kgInfo', checkKgQuery, cacheMaxAge24Hr, async (req, res) => {
-  
   const { kgId } = req.query
   const { user } = req
   const stream = await getDatasetFromId({ user, kgId, returnAsStream: true })
diff --git a/deploy/datasets/query.js b/deploy/datasets/query.js
index ee21abfd4ffeca8c35f77cdfba01387e4ad9c08f..d6298437b4d82099c41a650b93961d00d44479e2 100644
--- a/deploy/datasets/query.js
+++ b/deploy/datasets/query.js
@@ -326,6 +326,7 @@ module.exports = {
   init,
   getDatasets,
   getPreview,
+  hasPreview,
   getTos
 }
 
diff --git a/src/ui/databrowserModule/databrowser.useEffect.ts b/src/ui/databrowserModule/databrowser.useEffect.ts
index 44b5ebb5e792c27b72d8ee61f6776a87ad81325e..49b494918e5013d0b3a146e468b7791161f1ea0d 100644
--- a/src/ui/databrowserModule/databrowser.useEffect.ts
+++ b/src/ui/databrowserModule/databrowser.useEffect.ts
@@ -119,11 +119,27 @@ export class DataBrowserUseEffect implements OnDestroy{
       switchMap(arr => 
         merge(
           ...arr.map(({ id: kgId }) => 
-            from( this.kgSingleDatasetService.getInfoFromKg({ kgId }))
-              .pipe(catchError(err => {
-                  console.log(`fetchInfoFromKg error`, err)
-                  return of(null)
-              })))
+            from( this.kgSingleDatasetService.getInfoFromKg({ kgId })).pipe(
+              catchError(err => {
+                console.log(`fetchInfoFromKg error`, err)
+                return of(null)
+              }),
+              switchMap(dataset => 
+                this.kgSingleDatasetService.datasetHasPreview(dataset).pipe(
+                  catchError(err => {
+                    console.log(`fetching hasPreview error`, err)
+                    return of({})
+                  }),
+                  map(resp => {
+                    return {
+                      ...dataset,
+                      ...resp
+                    }
+                  })
+                )
+              )
+            )
+          )
         ).pipe(
           filter(v => !!v),
           scan((acc, curr) => acc.concat(curr), [])
diff --git a/src/ui/databrowserModule/kgSingleDatasetService.service.ts b/src/ui/databrowserModule/kgSingleDatasetService.service.ts
index b8fd02a17c0f5d374ea2451b1b7e170edf159452..62e94d1043906f662a971837b4b7dd461be9c9da 100644
--- a/src/ui/databrowserModule/kgSingleDatasetService.service.ts
+++ b/src/ui/databrowserModule/kgSingleDatasetService.service.ts
@@ -8,6 +8,7 @@ import { MatDialog } from "@angular/material";
 import { FileViewer } from "./fileviewer/fileviewer.component";
 import { ADD_NG_LAYER, REMOVE_NG_LAYER } from "src/services/stateStore.service";
 import { Subscription, Subject } from "rxjs";
+import { HttpClient } from "@angular/common/http";
 
 @Injectable({ providedIn: 'root' })
 export class KgSingleDatasetService implements OnDestroy{
@@ -20,7 +21,8 @@ export class KgSingleDatasetService implements OnDestroy{
   constructor(
     private constantService: AtlasViewerConstantsServices,
     private store$: Store<any>,
-    private dialog: MatDialog
+    private dialog: MatDialog,
+    private http: HttpClient
   ) {
 
     this.subscriptions.push(
@@ -39,6 +41,13 @@ export class KgSingleDatasetService implements OnDestroy{
     }
   }
 
+  public datasetHasPreview({ name } : { name: string }){
+    const _url = new URL(`${this.constantService.backendUrl}datasets/hasPreview`)
+    const searchParam = _url.searchParams
+    searchParam.set('datasetName', name)
+    return this.http.get(_url.toString())
+  }
+
   public getInfoFromKg({ kgId, kgSchema = 'minds/core/dataset/v1.0.0' }: Partial<KgQueryInterface>) {
     const _url = new URL(`${this.constantService.backendUrl}datasets/kgInfo`)
     const searchParam = _url.searchParams