diff --git a/searx/engines/peertube.py b/searx/engines/peertube.py
index 089775694..345c2f991 100644
--- a/searx/engines/peertube.py
+++ b/searx/engines/peertube.py
@@ -22,9 +22,7 @@ about = {
 categories = ["videos"]
 paging = True
 base_url = "https://peer.tube"
-supported_languages_url = (
-    'https://framagit.org/framasoft/peertube/search-index/-/raw/master/client/src/views/Search.vue'
-)
+supported_languages_url = 'https://peer.tube/api/v1/videos/languages'
 
 
 # do search-request
@@ -84,9 +82,6 @@ def response(resp):
 
 
 def _fetch_supported_languages(resp):
-    import re
-
-    # https://docs.python.org/3/howto/regex.html#greedy-versus-non-greedy
-    videolanguages = re.search(r"videoLanguages \(\)[^\n]+(.*?)\]", resp.text, re.DOTALL)
-    peertube_languages = [m.group(1) for m in re.finditer(r"\{ id: '([a-z]+)', label:", videolanguages.group(1))]
+    videolanguages = resp.json()
+    peertube_languages = list(videolanguages.keys())
     return peertube_languages
diff --git a/searx/engines/wikipedia.py b/searx/engines/wikipedia.py
index 52b1053ed..ca841e8b3 100644
--- a/searx/engines/wikipedia.py
+++ b/searx/engines/wikipedia.py
@@ -106,9 +106,9 @@ def _fetch_supported_languages(resp):
         for tr in trs:
             td = tr.xpath('./td')
             code = td[3].xpath('./a')[0].text
-            name = td[2].xpath('./a')[0].text
+            name = td[1].xpath('./a')[0].text
             english_name = td[1].xpath('./a')[0].text
-            articles = int(td[4].xpath('./a/b')[0].text.replace(',', ''))
+            articles = int(td[4].xpath('./a')[0].text.replace(',', ''))
             # exclude languages with too few articles
             if articles >= 100:
                 supported_languages[code] = {"name": name, "english_name": english_name}