diff --git a/src/main/java/de/landsh/opendata/catalogproxy/FilterController.java b/src/main/java/de/landsh/opendata/catalogproxy/FilterController.java
index 4b0c83ce9d8dd8acc8c0221a722e3ae4e9c3927c..4b171c500af0a039fdb64fe1e31781ed5b9269cb 100644
--- a/src/main/java/de/landsh/opendata/catalogproxy/FilterController.java
+++ b/src/main/java/de/landsh/opendata/catalogproxy/FilterController.java
@@ -1,5 +1,6 @@
 package de.landsh.opendata.catalogproxy;
 
+import org.apache.commons.lang3.StringUtils;
 import org.apache.jena.rdf.model.Model;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -14,6 +15,7 @@ import java.io.IOException;
 import java.io.InputStream;
 import java.io.Writer;
 import java.net.URL;
+import java.net.URLEncoder;
 
 @Controller
 public class FilterController {
@@ -26,13 +28,33 @@ public class FilterController {
     private CatalogFilter catalogFilter;
 
     @RequestMapping(value = "/catalog.xml", produces = "application/rdf+xml")
-    public void catalog(@RequestParam(required = false) Integer page, HttpServletResponse response) throws IOException {
+    public void catalog(@RequestParam(required = false) Integer page,
+                        @RequestParam(required = false) String  q,
+                        @RequestParam(required = false) String  fq,
+                        @RequestParam(required = false, name="modified_since") String  modifiedSince,
+                        HttpServletResponse response) throws IOException {
         if (page == null)
             page = 1;
 
         log.debug("catalog.xml?page={}", page);
 
-        final InputStream is = new URL(remoteURL + "catalog.xml?page=" + page).openStream();
+        final StringBuilder url = new StringBuilder(remoteURL);
+        url.append("catalog.xml?page=");
+        url.append(page);
+        if(StringUtils.isNotBlank(modifiedSince)) {
+            url.append("&modified_since=");
+            url.append(URLEncoder.encode(modifiedSince, "utf-8"));
+        }
+        if(StringUtils.isNotBlank(q)) {
+            url.append("&q=");
+            url.append(URLEncoder.encode(q, "utf-8"));
+        }
+        if(StringUtils.isNotBlank(fq)) {
+            url.append("&fq=");
+            url.append(URLEncoder.encode(fq, "utf-8"));
+        }
+
+        final InputStream is = new URL(url.toString()).openStream();
         final Model model = catalogFilter.work(is);
         is.close();