--- id: yggreborn-api name: YggReborn (API) description: "YggReborn is a FRENCH Private Torrent Tracker for MOVIES / TV / GENERAL" language: fr-FR type: private encoding: UTF-8 requestDelay: 2.1 links: - https://www.yggreborn.org/ caps: categorymappings: # from https://www.yggreborn.org/api?t=caps&apikey=YOUR-PASSKEY - {id: 1000, cat: PC/Games, desc: "PC/Games"} - {id: 1100, cat: PC/Games, desc: "PC/Games/Windows"} - {id: 1101, cat: Console, desc: "PC/Games/Nintendo"} - {id: 1102, cat: Console, desc: "PC/Games/Sony"} - {id: 1103, cat: PC/Games, desc: "PC/Games/Microsoft"} - {id: 1104, cat: PC/Games, desc: "PC/Games/Linux"} - {id: 1105, cat: PC/Games, desc: "PC/Games/macOS"} - {id: 1106, cat: Console, desc: "PC/Games/Smartphone"} - {id: 1107, cat: Console, desc: "PC/Games/Tablette"} - {id: 1108, cat: Console, desc: "PC/Games/Autre"} - {id: 1110, cat: PC/Games, desc: "PC/Games/Émulateurs"} - {id: 1111, cat: PC/Games, desc: "PC/Games/ROMs"} - {id: 2000, cat: Movies, desc: "Movies"} - {id: 2100, cat: Movies, desc: "Movies/Film"} - {id: 2101, cat: Movies, desc: "Movies/Animation"} - {id: 2102, cat: Movies, desc: "Movies/Documentaire"} - {id: 2103, cat: Movies, desc: "Movies/Concert"} - {id: 2104, cat: Movies, desc: "Movies/Sport"} - {id: 2105, cat: Movies, desc: "Movies/Spectacle"} - {id: 2106, cat: Movies, desc: "Movies/Vidéoclips"} - {id: 3000, cat: Audio, desc: "Audio"} - {id: 3100, cat: Audio, desc: "Audio/Musique"} - {id: 3101, cat: Audio, desc: "Audio/Podcast / Radio"} - {id: 3102, cat: Audio, desc: "Audio/Samples"} - {id: 3103, cat: Audio, desc: "Audio/Karaoké"} - {id: 4000, cat: PC, desc: "PC"} - {id: 4100, cat: PC, desc: "PC/Windows"} - {id: 4101, cat: PC, desc: "PC/macOS"} - {id: 4102, cat: PC, desc: "PC/Linux"} - {id: 4103, cat: PC, desc: "PC/Smartphone"} - {id: 4104, cat: PC, desc: "PC/Tablette"} - {id: 4105, cat: PC, desc: "PC/Formation"} - {id: 4106, cat: PC, desc: "PC/Autre"} - {id: 4110, cat: PC, desc: "PC/GPS Applications"} - {id: 4111, cat: PC, desc: "PC/GPS Cartes"} - {id: 4112, cat: PC, desc: "PC/GPS Divers"} - {id: 5000, cat: TV, desc: "TV"} - {id: 5100, cat: TV, desc: "TV/Série TV"} - {id: 5101, cat: TV, desc: "TV/Animation série"} - {id: 5102, cat: TV, desc: "TV/Émission TV"} - {id: 6000, cat: XXX, desc: "XXX"} - {id: 6100, cat: XXX, desc: "XXX/Films"} - {id: 6101, cat: XXX, desc: "XXX/Images"} - {id: 6102, cat: XXX, desc: "XXX/Hentai"} - {id: 6103, cat: XXX, desc: "XXX/Ebooks"} - {id: 6104, cat: XXX, desc: "XXX/Jeux"} - {id: 7000, cat: Books, desc: "Books"} - {id: 7100, cat: Books, desc: "Books/Livres"} - {id: 7101, cat: Books, desc: "Books/Presse"} - {id: 7102, cat: Books, desc: "Books/Bandes dessinées"} - {id: 7103, cat: Books, desc: "Books/Mangas"} - {id: 7104, cat: Books, desc: "Books/Comics"} - {id: 7105, cat: Books, desc: "Books/Livres audio"} - {id: 8000, cat: Other, desc: "Other"} - {id: 8100, cat: Other, desc: "Other/Objets 3D"} - {id: 8101, cat: Other, desc: "Other/Personnages 3D"} - {id: 8110, cat: Other, desc: "Other/Scripts PHP / CMS"} - {id: 8111, cat: Other, desc: "Other/WordPress"} - {id: 8112, cat: Other, desc: "Other/Divers"} modes: search: [q] tv-search: [q, season, ep] movie-search: [q] 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 Key by accessing the YggReborn Guide API page and scrolling down to the Authentification section." - name: apiurl label: API URL type: text default: api.yggreborn.org - 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 login: path: "https://{{ .Config.apiurl }}/api" method: get inputs: t: search apikey: "{{ .Config.passkey }}" limit: 1 error: - selector: ":contains(\"invalid api key\")" search: paths: # docs at https://www.yggreborn.org/guide-api - path: "https://{{ .Config.apiurl }}/api" response: type: xml inputs: apikey: "{{ .Config.passkey }}" t: "{{ if .Keywords }}{{ .Query.Type }}{{ else }}search{{ end }}" q: "{{ .Keywords }}" cat: "{{ join .Categories \",\" }}" season: "{{ .Query.Season }}" ep: "{{ .Query.Ep }}" limit: 50 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 download: selector: enclosure attribute: url infohash: selector: "[name=infohash]" attribute: value date: # e.g. Tue, 31 Mar 2026 20:06:13 +0100 selector: pubDate filters: - name: dateparse args: "ddd, dd MMM yyyy HH:mm:ss zzz" size: selector: "[name=size]" attribute: value seeders: selector: "[name=seeders]" attribute: value leechers: selector: "[name=leechers]" attribute: value grabs: selector: "[name=grabs]" attribute: value downloadvolumefactor: selector: "[name=downloadvolumefactor]" attribute: value uploadvolumefactor: selector: "[name=uploadvolumefactor]" attribute: value minimumratio: text: 1.0 # torznab xml