diff --git a/src/documents/api.py b/src/documents/api.py
index 2d741a3e7c97ad40af5e7290fd2165770cb49349..5ac88465751b8d8cf1c4b70a5be0f626aec04d28 100644
--- a/src/documents/api.py
+++ b/src/documents/api.py
@@ -48,25 +48,24 @@ class DocumentPages(ListAPIView):
         return Page.objects.get_descending(self.kwargs['pk'])
 
 
-class SearchResultSetPagination(PageNumberPagination):
-    page_size = 10
-    page_size_query_param = 'page_size'
-    max_page_size = 20
-
-
 class TranscriptionSearch(ListAPIView):
     """
     Search and list transcriptions, using pagination
     """
     serializer_class = SearchResultSerializer
-    pagination_class = SearchResultSetPagination
 
-    @lru_cache(maxsize=10)
     def get_queryset(self):
         query = self.request.query_params.get('q')
-        if query:
-            return search_transcriptions(query)
-        return None
+        if not query:
+            return
+        return search_transcriptions(query)
+
+    def add_parents(self, results):
+        ids = [trans.id for trans in results]
+        all_parents = Document.objects.get_ascendings(*ids)
+        for trans in results:
+            trans.parent_docs = all_parents[trans.id]
+        return results
 
     def list(self, request):
         queryset = self.get_queryset()
@@ -76,10 +75,10 @@ class TranscriptionSearch(ListAPIView):
         # Handle pagination, if activated
         page = self.paginate_queryset(queryset)
         if page is not None:
-            serializer = self.get_serializer(page, many=True)
+            serializer = self.get_serializer(self.add_parents(page), many=True)
             return self.get_paginated_response(serializer.data)
 
-        serializer = self.get_serializer(queryset, many=True)
+        serializer = self.get_serializer(self.add_parents(queryset), many=True)
         return Response(serializer.data)