diff --git a/lib/Kalamar.pm b/lib/Kalamar.pm
index 572f006..f5dd76e 100644
--- a/lib/Kalamar.pm
+++ b/lib/Kalamar.pm
@@ -174,9 +174,8 @@
   $r->get('/')->to('search#query')->name('index');
 
   # Collection route
-  # TODO: Probably rename to /corpus
-  $r->get('/collection')->to('Search#collections')->name('collections');
-  $r->get('/collection/:id')->to('Search#collection')->name('collection');
+  $r->get('/corpus')->to('Search#corpus_info')->name('corpus');
+  # $r->get('/collection/:id')->to('Search#corpus_info')->name('collection');
 
   # Documentation routes
   $r->get('/doc')->to('documentation#page', page => 'korap')->name('doc_start');
diff --git a/lib/Kalamar/API.pm b/lib/Kalamar/API.pm
index 735767a..60e04db 100644
--- a/lib/Kalamar/API.pm
+++ b/lib/Kalamar/API.pm
@@ -285,6 +285,55 @@
 };
 
 
+# Get corpus statistics
+sub statistics {
+  my $self = shift;
+  my $index = shift;
+
+  # Get controller
+  my $c = $index->controller;
+
+  # If there is a callback, do async
+  my $cb = pop if ref $_[-1] && ref $_[-1] eq 'CODE';
+
+  my %param = @_;
+
+  my $url = Mojo::URL->new($index->api);
+
+  # Use hash slice to create path
+  $url->path('statistics');
+
+  my %query;
+  $query{corpusQuery} = $param{cq};
+
+  # Add query
+  $url->query(\%query);
+
+  $c->stash('search._resource_cache' => $url->to_string);
+
+  $c->app->log->debug('Statistics info: ' . $url);
+
+  # non-blocking
+  if ($cb) {
+    $c->user->auth_request(
+      get =>
+        $url => sub {
+          my $tx = pop;
+          $self->_process_response('resource', $index, $tx);
+          weaken $index;
+          return $cb->($index);
+        });
+  }
+
+  # Statistics info blocking
+  else {
+    my $tx = $c->user->auth_request(get => $url);
+    return $self->_process_response('resource', $index, $tx);
+  };
+};
+
+
+
 # Get resource information
 sub resource {
   my $self = shift;
diff --git a/lib/Kalamar/Controller/Search.pm b/lib/Kalamar/Controller/Search.pm
index 933c7df..968402d 100644
--- a/lib/Kalamar/Controller/Search.pm
+++ b/lib/Kalamar/Controller/Search.pm
@@ -1,5 +1,6 @@
 package Kalamar::Controller::Search;
 use Mojo::Base 'Mojolicious::Controller';
+use Mojo::Util qw/deprecated/;
 
 
 # Query the KorAP backends and render a template
@@ -183,12 +184,32 @@
 
 
 # Get information about collections
-sub collections {
+sub corpus_info {
   my $c = shift;
+  my $v = $c->validation;
+
+  $v->optional('cq');
 
   # Async
   $c->render_later;
 
+  $c->search->statistics(
+    cq => $v->param('cq'),
+    sub {
+      my $notes = $c->notifications(json => $c->stash('search.resource'));
+      return $c->render(json => $notes);
+    }
+  );
+};
+
+
+sub collections {
+  my $c = shift;
+  # Async
+  $c->render_later;
+
+  deprecated 'collections() is deprecated in favour of corpus_info';
+
   # Get resource (for all)
   $c->search->resource(
     type => 'collection',
