diff --git a/src/invidious.cr b/src/invidious.cr
index e36f28f1..9e12de40 100644
--- a/src/invidious.cr
+++ b/src/invidious.cr
@@ -425,7 +425,7 @@ get "/search" do |env|
   page ||= 1
 
   search_params = build_search_params(sort_by: "relevance", content_type: "video")
-  videos = search(query, page, search_params)
+  count, videos = search(query, page, search_params).as(Tuple)
 
   templated "search"
 end
@@ -2365,7 +2365,7 @@ get "/api/v1/search" do |env|
 
   response = JSON.build do |json|
     json.array do
-      search_results = search(query, page, search_params)
+      count, search_results = search(query, page, search_params).as(Tuple)
       search_results.each do |video|
         json.object do
           json.field "title", video.title
diff --git a/src/invidious/jobs.cr b/src/invidious/jobs.cr
index a85244a3..1bc550ad 100644
--- a/src/invidious/jobs.cr
+++ b/src/invidious/jobs.cr
@@ -2,13 +2,13 @@ def crawl_videos(db)
   ids = Deque(String).new
   random = Random.new
 
-  search(random.base64(3)).each do |video|
+  search(random.base64(3)).as(Tuple)[1].each do |video|
     ids << video.id
   end
 
   loop do
     if ids.empty?
-      search(random.base64(3)).each do |video|
+      search(random.base64(3)).as(Tuple)[1].each do |video|
         ids << video.id
       end
     end
diff --git a/src/invidious/search.cr b/src/invidious/search.cr
index 8ed18437..04db3098 100644
--- a/src/invidious/search.cr
+++ b/src/invidious/search.cr
@@ -23,7 +23,7 @@ def search(query, page = 1, search_params = build_search_params(content_type: "v
   nodeset = html.xpath_nodes(%q(//ol[@class="item-section"]/li))
   videos = extract_videos(nodeset)
 
-  return videos
+  return {nodeset.size, videos}
 end
 
 def build_search_params(sort_by = "relevance", date : String = "", content_type : String = "", duration : String = "", features : Array(String) = [] of String)
diff --git a/src/invidious/views/search.ecr b/src/invidious/views/search.ecr
index 192db364..85b6e416 100644
--- a/src/invidious/views/search.ecr
+++ b/src/invidious/views/search.ecr
@@ -18,6 +18,8 @@
     </div>
     <div class="pure-u-1 pure-u-md-3-5"></div>
     <div style="text-align:right;" class="pure-u-1 pure-u-md-1-5">
+    <% if count == 20 %>
         <a href="/search?q=<%= query %>&page=<%= page + 1 %>">Next page</a>
+    <% end %>
     </div>
 </div>