diff --git a/README.md b/README.md
index 863a59a00..818c8e3c5 100644
--- a/README.md
+++ b/README.md
@@ -631,7 +631,6 @@ Prior versions of Jackett are no longer supported.
* Toca Share
* Tormac
* Tornado
- * Torr9
* Torrent Heaven (Dutch)
* Torrent Network (TN)
* Torrent Trader [![(invite needed)][inviteneeded]](#)
diff --git a/src/Jackett.Common/Definitions/torr9.yml b/src/Jackett.Common/Definitions/torr9.yml
deleted file mode 100644
index 0971fc6e2..000000000
--- a/src/Jackett.Common/Definitions/torr9.yml
+++ /dev/null
@@ -1,151 +0,0 @@
----
-id: torr9
-name: Torr9
-description: "Torr9 is a FRENCH Private Torrent Tracker for MOVIES / TV / GENERAL"
-language: fr-FR
-type: private
-encoding: UTF-8
-requestDelay: 4 # 15 request per minute limitation
-links:
- - https://torr9.net/
-legacylinks:
- - https://torr9.xyz/
- - https://torr9.com/
-
-caps:
- categorymappings:
- # from https://api.torr9.xyz/api/v1/torznab?apikey=YOUR-PASSKEY&t=caps
- - {id: 1000, cat: Console, desc: "Console/Games"}
- - {id: 2000, cat: Movies, desc: "Movies"}
- - {id: 3000, cat: Audio, desc: "Audio"}
- - {id: 4000, cat: PC, desc: "PC/Applications"}
- - {id: 5000, cat: TV, desc: "TV"}
- - {id: 5000, cat: TV/Anime, desc: "Animes"}
- - {id: 6000, cat: XXX, desc: "XXX"}
- - {id: 7000, cat: Books, desc: "Books/eBook"}
- - {id: 8000, cat: Other, desc: "Other"}
-
- modes:
- search: [q]
- tv-search: [q, season, ep, tvdbid]
- movie-search: [q, imdbid]
- music-search: [q]
- book-search: [q]
-
-settings:
- - name: passkey
- type: text
- label: PassKey
- - name: info_key
- type: info
- label: About your PassKey
- default: "You can find the API PassKey by accessing your Torr9 Profile page and scrolling down to the Passkey Tracker section."
- - name: apiurl
- label: API URL
- type: text
- default: api.torr9.net
- - name: multilang
- type: checkbox
- label: Replace MULTi by another language in release name
- default: false
- - name: multilanguage
- type: select
- label: Replace MULTi by this language
- default: FRENCH
- options:
- FRENCH: FRENCH
- MULTi.FRENCH: MULTi.FRENCH
- ENGLISH: ENGLISH
- MULTi.ENGLISH: MULTi.ENGLISH
- VOSTFR: VOSTFR
- MULTi.VOSTFR: MULTi.VOSTFR
- - name: vostfr
- type: checkbox
- label: Replace VOSTFR and SUBFRENCH with ENGLISH
- default: false
- - name: info_3x
- type: info
- label: Including 3X
- default: "IF you want to see 3x torrents access your Torr9 Profile page and enabling the Contenu adulte option."
-
-login:
- # returns "401 Unauthorized, check your credentials" if passkey is invalid
- path: "https://{{ .Config.apiurl }}/api/v1/torznab?apikey={{ .Config.passkey }}&t=caps"
- method: get
-
-search:
- paths:
- - path: "https://{{ .Config.apiurl }}/api/v1/torznab"
- response:
- type: xml
-
- inputs:
- apikey: "{{ .Config.passkey }}"
- t: "{{ if .Query.IMDBID }}movie{{ else }}{{ end }}{{ if .Query.TVDBID }}tvsearch{{ else }}{{ end }}{{ if or .Query.TVDBID .Query.IMDBID }}{{ else }}search{{ end }}"
- q: "{{ .Keywords }}"
- cat: "{{ join .Categories \",\" }}"
-# season: "{{ .Query.Season }}"
-# ep: "{{ .Query.Ep }}"
- imdbid: "{{ .Query.IMDBID }}"
- tvdbid: "{{ .Query.TVDBID }}"
- limit: 100
-
- keywordsfilters:
- # replace spaces between words with percent wildcard
- - name: re_replace
- args: ["\\W+", "%"]
-
- rows:
- selector: rss > channel > item
-
- fields:
- category:
- selector: "[name=category]"
- attribute: value
- title_phase1:
- selector: title
- title_vostfr:
- text: "{{ .Result.title_phase1 }}"
- filters:
- - name: re_replace
- args: ["(?i)\\b(vostfr|subfrench)\\b", "ENGLISH"]
- title_phase2:
- text: "{{ if .Config.vostfr }}{{ .Result.title_vostfr }}{{ else }}{{ .Result.title_phase1 }}{{ end }}"
- title_multilang:
- text: "{{ .Result.title_phase2 }}"
- filters:
- - name: re_replace
- args: ["(?i)\\b(MULTI(?!.*(?:FRENCH|ENGLISH|VOSTFR|VF2|VFF|VFQ|VOQ|VFI|VOF)))\\b", "{{ .Config.multilanguage }}"]
- title:
- text: "{{ if .Config.multilang }}{{ .Result.title_multilang }}{{ else }}{{ .Result.title_phase2 }}{{ end }}"
- details:
- selector: comments
- filters:
- - name: replace
- args: ["//api.", "//"]
- download:
- selector: link
- infohash:
- selector: "[name=infohash]"
- attribute: value
- date:
- # Thu, 15 Jan 2026 16:24:34 +0000
- selector: pubDate
- filters:
- - name: dateparse
- args: "ddd, dd MMM yyyy HH:mm:ss zzz"
- size:
- selector: size
- seeders:
- selector: "[name=seeders]"
- attribute: value
- leechers:
- selector: "[name=peers]"
- attribute: value
- downloadvolumefactor:
- text: 1
- uploadvolumefactor:
- text: 1
- minimumratio:
- text: 1.0
-# torznab xml
diff --git a/src/Jackett.Updater/Program.cs b/src/Jackett.Updater/Program.cs
index 173620803..4fdc9f674 100644
--- a/src/Jackett.Updater/Program.cs
+++ b/src/Jackett.Updater/Program.cs
@@ -807,6 +807,7 @@ namespace Jackett.Updater
"Definitions/torlock.yml",
"Definitions/torlook.yml",
"Definitions/toros.yml", // renamed to bulltorrent
+ "Definitions/torr9.yml",
"Definitions/torrent-explosiv.yml", // renamed to explosiv-world #6183
"Definitions/torrent9-tel.yml", // renamed to NorTorrent #15217
"Definitions/torrent911.yml", // renamed to oxtorrent-vip #15411