diff --git a/Changes b/Changes
index 7a5b276..fad80b6 100755
--- a/Changes
+++ b/Changes
@@ -1,8 +1,9 @@
-0.39 2020-06-30
+0.39 2020-07-02
         - Add information on secret file to Readme.
         - Change default API endpoint to korap.ids-mannheim.de.
         - Fix label for toggle plugins.
         - Activate plugin registry.
+        - Forward 'pipe' parameter to backend.
 
         WARNING: If you relied on the former default API endpoint
           being http://localhost:9999/, this will break your
diff --git a/lib/Kalamar/Controller/Search.pm b/lib/Kalamar/Controller/Search.pm
index b1374ac..5508786 100644
--- a/lib/Kalamar/Controller/Search.pm
+++ b/lib/Kalamar/Controller/Search.pm
@@ -39,6 +39,7 @@
   $v->optional('p', 'trim')->num(1, undef); # Start page
   $v->optional('o', 'trim')->num(1, undef); # Offset
   $v->optional('context');
+  $v->optional('pipe', 'trim');
   # $v->optional('action'); # action 'inspect' is no longer valid
   # $v->optional('snippet');
 
@@ -103,6 +104,11 @@
     $query{count} = $items_per_page;
   };
 
+  # Forward pipe
+  if ($v->param('pipe')) {
+    $query{pipe} = $v->param('pipe');
+  };
+
   $c->stash(items_per_page => $items_per_page);
 
   # TODO:
diff --git a/t/fixtures/response_query_baum_o0_c25_pglemm.json b/t/fixtures/response_query_baum_o0_c25_pglemm.json
new file mode 100644
index 0000000..a1727e3
--- /dev/null
+++ b/t/fixtures/response_query_baum_o0_c25_pglemm.json
@@ -0,0 +1,76 @@
+{
+  "status" : 200,
+  "json" : {
+    "@context" : "http://korap.ids-mannheim.de/ns/KoralQuery/v0.3/context.jsonld",
+    "meta" :  {
+      "count" : 25,
+      "startIndex" : 0,
+      "authorized" : null,
+      "timeout" : 120000,
+      "context" : {
+        "left" : ["token",40],
+        "right" : ["token",40]
+      },
+      "fields" : ["pubDate","subTitle","author","pubPlace","title","textSigle","UID","ID","layerInfos","corpusSigle","docSigle","corpusID","textClass"],
+      "version" : "0.55.7",
+      "benchmark" : "0.120577834 s",
+      "totalResults" : 51,
+      "serialQuery" : "tokens:s:Baum",
+      "itemsPerPage" : 25
+    },
+    "query" : {
+      "@type" : "koral:token",
+      "wrap" : {
+        "@type" : "koral:term",
+        "layer" : "orth",
+        "key" : "Baum",
+        "match" : "match:eq",
+        "foundry" : "opennlp",
+        "rewrites" : [
+          {
+            "@type" : "koral:rewrite",
+            "src" : "Kustvakt",
+            "operation" : "operation:injection",
+            "scope" : "foundry"
+          }
+        ]
+      }
+    },
+    "matches" : [
+      {
+        "field" : "tokens",
+        "pubPlace" : "München",
+        "textSigle" : "GOE/AGI/00000",
+        "docSigle" : "GOE/AGI",
+        "corpusSigle" : "GOE",
+        "title" : "Italienische Reise",
+        "subTitle" : "Auch ich in Arkadien!",
+        "author" : "Goethe, Johann Wolfgang von",
+        "layerInfos" : "base/s=spans corenlp/c=spans corenlp/p=tokens corenlp/s=spans dereko/s=spans malt/d=rels mdp/d=rels opennlp/p=tokens opennlp/s=spans tt/l=tokens tt/p=tokens tt/s=spans",
+        "startMore" : true,
+        "endMore" : true,
+        "snippet" : "<span class=\"context-left\"><span class=\"more\"></span>sie etwas bedeuten zu wollen und machte mit der Oberlippe eine fatale Miene. ich sprach sehr viel mit ihr durch, sie war überall zu Hause und merkte gut auf die Gegenstände. so fragte sie mich einmal, was das für ein </span><span class=\"match\"><mark>Baum</mark></span><span class=\"context-right\"> sei. es war ein schöner großer Ahorn, der erste, der mir auf der ganzen Reise zu Gesichte kam. den hatte sie doch gleich bemerkt und freute sich, da mehrere nach und nach erschienen, daß sie auch diesen Baum unterscheiden könne<span class=\"more\"></span></span>",
+        "matchID" : "match-GOE/AGI/00000-p2030-2031",
+        "UID" : 0,
+        "pubDate" : "1982"
+      },
+      {
+        "field" : "tokens",
+        "pubPlace" : "München",
+        "textSigle" : "GOE/AGI/00001",
+        "docSigle" : "GOE/AGI",
+        "corpusSigle" : "GOE",
+        "title" : "Italienische Reise",
+        "subTitle" : "Auch ich in Arkadien!",
+        "author" : "Goethe, Johann Wolfgang von",
+        "layerInfos" : "base/s=spans corenlp/c=spans corenlp/p=tokens corenlp/s=spans dereko/s=spans malt/d=rels mdp/d=rels opennlp/p=tokens opennlp/s=spans tt/l=tokens tt/p=tokens tt/s=spans",
+        "startMore" : true,
+        "endMore" : true,
+        "snippet" : "<span class=\"context-left\"><span class=\"more\"></span>für ein Baum sei. es war ein schöner großer Ahorn, der erste, der mir auf der ganzen Reise zu Gesichte kam. den hatte sie doch gleich bemerkt und freute sich, da mehrere nach und nach erschienen, daß sie auch diesen </span><span class=\"match\"><mark>Baum</mark></span><span class=\"context-right\"> unterscheiden könne. sie gehe, sagte sie, nach Bozen auf die Messe, wo ich doch wahrscheinlich auch hinzöge. wenn sie mich dort anträfe, müsse ich ihr einen Jahrmarkt kaufen, welches ich ihr denn auch versprach. dort wollte sie auch ihre neue<span class=\"more\"></span></span>",
+        "matchID" : "match-GOE/AGI/00000-p2068-2069",
+        "UID" : 0,
+        "pubDate" : "1982"
+      }
+    ]
+  }
+}
diff --git a/t/query.t b/t/query.t
index f6e588e..4cf5a06 100644
--- a/t/query.t
+++ b/t/query.t
@@ -257,7 +257,6 @@
   ->text_is('#special', 'Funny')
   ;
 
-
 my $match = {
   matchID => 'match-FOLK/00070-SE-01/T-04-p5441-5442',
   textSigle => 'FOLK/00070-SE-01/T-04'
@@ -267,6 +266,13 @@
 
 is($match->{matchID}, 'p5441-5442');
 
+# Query with pipe
+$t->get_ok('/?q=baum&pipe=glemm')
+  ->status_is(200)
+  ->text_is('#error','')
+  ->content_like(qr/\"pipe\":"glemm"/)
+  ;
+
 
 done_testing;
 __END__
diff --git a/t/server/mock.pl b/t/server/mock.pl
index 38a3300..7d49de3 100644
--- a/t/server/mock.pl
+++ b/t/server/mock.pl
@@ -129,6 +129,7 @@
   $v->optional('count');
   $v->optional('context');
   $v->optional('offset');
+  $v->optional('pipe');
   $v->optional('cutoff')->in(qw/true false/);
 
   $c->app->log->debug('Receive request');
@@ -152,6 +153,7 @@
   push @slug_base, 'c' . $v->param('count') if defined $v->param('count');
   push @slug_base, 'co' . $v->param('cutoff') if defined $v->param('cutoff');
   push @slug_base, 'cq' if defined $v->param('cq');
+  push @slug_base, 'p' . $v->param('pipe') if defined $v->param('pipe');
 
   # Get response based on query parameter
   my $response = $c->load_response('query_' . slugify(join('_', @slug_base)));
@@ -195,6 +197,10 @@
     }
   };
 
+  if ($v->param('pipe')) {
+    $response->{json}->{meta}->{pipe} = $v->param('pipe');
+  };
+
   # Set page parameter
   if ($v->param('page')) {
     $response->{json}->{meta}->{startIndex} = $v->param("startIndex");
