diff --git a/script/derekovecs-server b/script/derekovecs-server
index c69ef28..ea9fbd4 100755
--- a/script/derekovecs-server
+++ b/script/derekovecs-server
@@ -1,6 +1,6 @@
 #!/usr/bin/env perl
 
-our $VERSION = '0.99';
+our $VERSION = '1.00';
 
 use IDS::DeReKoVecs::Read;
 use Mojolicious::Lite;
@@ -435,6 +435,14 @@
   my $res;
 	my @lists;
 	my @collocations;
+  # The words the query vectors were actually built from and the tokens that
+  # are not in the vocabulary, both reported back by get_neighbours().
+  my @added;
+  my @unknown;
+  # How many operands the first query part has. The count based collocators are
+  # looked up per node in the co-occurrence database, so they only exist for a
+  # query that is one word.
+  my $operands = 0;
 	if(defined($word) && $word !~ /^\s*$/) {
 		$c->inactivity_timeout(300);
 		$word =~ s/\s+/ /g;
@@ -463,12 +471,16 @@
         $cache->set($key => $res) unless $opt_C;
       }
       push(@lists, $res->{paradigmatic});
+      push(@added, $res->{added}) if defined $res->{added} && $res->{added} ne '';
+      $operands = $res->{operands} // 0 unless @lists > 1;
+      push(@unknown, $res->{unknown}) if defined $res->{unknown} && $res->{unknown} ne '';
     }
   }
   
 	$word =~ s/ *\| */ | /g;
   if($json) {
-    return $c->render(json => {word => $word, list => \@lists, collocators=>$res->{syntagmatic}});
+    return $c->render(json => {word => $word, list => \@lists, collocators=>$res->{syntagmatic},
+                               unknown => join(" ", @unknown), operands => $operands});
   } elsif($csv) {
     my $csv_data="";
     for (my $i=0; $i <= $no_nbs; $i++) {
@@ -505,6 +517,9 @@
       dedupe               => $dedupe,
       marked               => \%marked,
       lists                => \@lists,
+      added                => join(" ", @added),
+      unknown              => join(" ", @unknown),
+      operands             => $operands,
       collocators          => $res->{syntagmatic},
       version              => $VERSION,
       korap_url            => $KORAP_URL,
