diff --git a/app/controllers/concerns/publisher_controller.rb b/app/controllers/concerns/publisher_controller.rb
index 5199dca2fe3c0f7e14ea3425539bdaa8e35e962b..27b20e105048c4527efd68500422359d39927fa3 100644
--- a/app/controllers/concerns/publisher_controller.rb
+++ b/app/controllers/concerns/publisher_controller.rb
@@ -19,6 +19,7 @@
 
 module PublisherController
   extend ActiveSupport::Concern
+  include Paginator
 
   included do
     before_action :authenticate, only: [:show_all_drafts, :show_liked_learning_objects, :show_submitted_learning_objects, :show_liked_collections]
@@ -27,20 +28,24 @@ module PublisherController
   end
 
   def show_all_drafts
-    render json: LearningObject.where(publisher: @publisher, state: LearningObject.states[:draft])
+    learning_objects = paginate LearningObject.where(publisher: @publisher, state: LearningObject.states[:draft])
+    render json: learning_objects
   end
 
   # GET /v1/users/1/learning_objects
   def show_all_learning_objects
-    render json: LearningObject.where(publisher: @publisher, state: LearningObject.states[:published])
+    learning_objects = paginate LearningObject.where(publisher: @publisher, state: LearningObject.states[:published])
+    render json: learning_objects
   end
 
   def show_submitted_learning_objects
-    render json: LearningObject.where(publisher: @publisher, state: LearningObject.states[:submitted])
+    learning_objects = paginate LearningObject.where(publisher: @publisher, state: LearningObject.states[:submitted])
+    render json: learning_objects
   end
 
   def show_all_collections
-    render json: ::UserPolicy::Scope.new(current_user, @publisher, Collection).resolve.where(owner: @publisher)
+    collections = paginate ::UserPolicy::Scope.new(current_user, @publisher, Collection).resolve.where(owner: @publisher)
+    render json: collections
   end
 
   def show_liked_learning_objects