diff --git a/lib/docs/filters/express/clean_html.rb b/lib/docs/filters/express/clean_html.rb
index 0d9c5127..01a63909 100644
--- a/lib/docs/filters/express/clean_html.rb
+++ b/lib/docs/filters/express/clean_html.rb
@@ -3,7 +3,7 @@ module Docs
class CleanHtmlFilter < Filter
def call
i = 1
- n = at_css("#navmenu a[href='#{result[:path].split('/').last}']").parent
+ n = at_css("#navmenu .submenu-content a[href='#{result[:path].split('/').last}']").parent
i += 1 while n && n = n.previous_element
at_css('h1')['data-level'] = i
diff --git a/lib/docs/scrapers/express.rb b/lib/docs/scrapers/express.rb
index 2f0a93ce..724b771f 100644
--- a/lib/docs/scrapers/express.rb
+++ b/lib/docs/scrapers/express.rb
@@ -2,7 +2,7 @@ module Docs
class Express < UrlScraper
self.name = 'Express'
self.type = 'express'
- self.release = '4.18.1'
+ self.release = '4.21.2'
self.base_url = 'https://expressjs.com/en/'
self.root_path = '4x/api.html'
self.initial_paths = %w(