diff --git a/app/controllers/concerns/paginator.rb b/app/controllers/concerns/paginator.rb
index 305e5d82e0669029c94ffec8e5976f8263cccc0d..6d43c864ec23abb2abf307355e7b25e57d16df47 100644
--- a/app/controllers/concerns/paginator.rb
+++ b/app/controllers/concerns/paginator.rb
@@ -30,7 +30,7 @@ module Paginator
 
   def limit
     return params[:limit].to_i if !params[:limit].blank?
-    return (offset + params[:results_per_page].to_i - 1) if !params[:results_per_page].blank?
+    return params[:results_per_page].to_i if !params[:results_per_page].blank?
     return 12
   end
 
diff --git a/app/controllers/v1/search_controller.rb b/app/controllers/v1/search_controller.rb
index 824fdef67fd2ee6dead8756e06e72f7cddf01d1b..4fb417204753b8cef74d9a4a5cc9683ff44c91f9 100644
--- a/app/controllers/v1/search_controller.rb
+++ b/app/controllers/v1/search_controller.rb
@@ -44,8 +44,13 @@ class V1::SearchController < ApplicationController
   # GET v1/search/tag
   # GET v1/search/tag.json
   def tag
-    results = TagSearchService.search(Tag.find(tag_search_params[:id]))
-    render json: paginate(results)
+    t = Tag.find_by_name(tag_search_params[:name])
+    if t.nil?
+      render json: {"error": "Tag not found."}, status: :unprocessable_entity
+    else    
+      results = TagSearchService.search(t)
+      render json: paginate(results), status: :ok
+    end
   end
 
   private
@@ -60,6 +65,6 @@ class V1::SearchController < ApplicationController
   end
 
   def tag_search_params
-    params.permit(:page, :results_per_page, :id)
+    params.permit(:page, :results_per_page, :name)
   end
 end