diff --git a/data-discovery/src/main/java/vlkb/search/DbPSearch.java b/data-discovery/src/main/java/vlkb/search/DbPSearch.java
index ecb3c44cf1bb1568a89778e1cacdf6f7c69b5b1b..6eeecbb42f00394f25ee885329b5f61b531a3139 100644
--- a/data-discovery/src/main/java/vlkb/search/DbPSearch.java
+++ b/data-discovery/src/main/java/vlkb/search/DbPSearch.java
@@ -93,6 +93,13 @@ public class DbPSearch
       theQuery += appendStringMatchConstraint(coord.target, "target_name");
       theQuery += appendStringMatchConstraint(coord.format, "access_format");
 
+      if(coord.calib != null)
+         theQuery += " AND (" + coord.calib + " = calib_level)";
+
+      if(coord.maxrec != null)
+         theQuery += " LIMIT " + coord.maxrec;
+
+
       //theQuery += " ORDER BY obs_collection";
 
       LOGGER.info(theQuery);
diff --git a/data-discovery/src/main/java/vlkb/webapi/SearchServlet.java b/data-discovery/src/main/java/vlkb/webapi/SearchServlet.java
index 1b2ca2339ce26ab94ebb5a2d2620a6a6e06d4323..58d49d42134de8169118b504e27f45ea8f7c2e8e 100644
--- a/data-discovery/src/main/java/vlkb/webapi/SearchServlet.java
+++ b/data-discovery/src/main/java/vlkb/webapi/SearchServlet.java
@@ -91,12 +91,15 @@ public class SearchServlet extends javax.servlet.http.HttpServlet
          coord.target = SingleStringParam.parseSingleStringParam(params, "TARGET");
          coord.format = SingleStringParam.parseSingleStringParam(params, "FORMAT");
 
-         // coord.calib  = Integer.parseInt(SingleStringParam.parseSingleStringParam(params, "CALIB"));
-         // coord.maxrec = Integer.parseInt(SingleStringParam.parseSingleStringParam(params, "MAXREC"));
-         // FIXME implement checks (?in vlkb-volib?): 0<= calib <=5 and maxrec >= 0
-
-         // FIXME add to SQL-query params starting from fov ...
-
+         String str   = SingleStringParam.parseSingleStringParam(params, "CALIB");
+         coord.calib  = (str == null) ? null : Integer.parseInt(str);
+         if((coord.calib != null) && ((coord.calib < 0) || (coord.calib > 4)))
+            throw new IllegalArgumentException("CALIB out of range: " + coord.calib + " but allowed is 0..4");
+
+         str = SingleStringParam.parseSingleStringParam(params, "MAXREC");
+         coord.maxrec  = (str == null) ? null : Integer.parseInt(str);
+         if((coord.maxrec != null) && (coord.maxrec < 0))
+            throw new IllegalArgumentException("MAXREC must not be negative: " + coord.maxrec);
 
          /* query Obscore table */