Skip to content

Instantly share code, notes, and snippets.

@Clemv95
Forked from LimeDrive/ygg-api.yml
Last active August 2, 2025 22:26
Show Gist options
  • Save Clemv95/8bfded23ef23ec78f6678896f42a2b60 to your computer and use it in GitHub Desktop.
Save Clemv95/8bfded23ef23ec78f6678896f42a2b60 to your computer and use it in GitHub Desktop.
Indexeur ygg-api pour jackett / prowlarr
---
id: yggapi
name: YggAPI
description: Indexeur non-officiel pour YggTorrent (YGG) - MOVIES / TV
language: fr-FR
type: private
encoding: UTF-8
testlinktorrent: false
links:
- https://yggapi.eu/
caps:
categorymappings:
- {id: 2178, cat: Movies/Other, desc: "Films d'animation"}
- {id: 2183, cat: Movies, desc: "Films"}
- {id: 2145, cat: TV, desc: "Film/Vidéo"}
- {id: 2179, cat: TV/Anime, desc: "Séries d'animation / Mangas"}
- {id: 2181, cat: TV/Documentary, desc: "Film/Vidéo : Documentaire"}
- {id: 2182, cat: TV, desc: "Film/Vidéo : Emission TV"}
- {id: 2184, cat: TV, desc: "Séries"}
- {id: 2185, cat: TV, desc: "Film/Vidéo : Spectacle"}
- {id: 2186, cat: TV/Sport, desc: "Film/Vidéo : Sport"}
- {id: 2187, cat: TV/Other, desc: "Film/Vidéo : Vidéo-clips"}
- {id: 2139, cat: Audio, desc: "Audio"}
- {id: 2147, cat: Audio, desc: "Audio : Karaoké"}
- {id: 2148, cat: Audio, desc: "Audio : Musique"}
- {id: 2149, cat: Audio/Other, desc: "Audio : Samples"}
- {id: 2150, cat: Audio, desc: "Audio : Podcast Radio"}
- {id: 2151, cat: Audio/Audiobook, desc: "eBook : Audio"}
- {id: 2180, cat: Audio/Video, desc: "Film/Vidéo : Concert"}
- {id: 2140, cat: Books, desc: "eBook"}
- {id: 2152, cat: Books/EBook, desc: "eBook : Bds"}
- {id: 2153, cat: Books/Comics, desc: "eBook : Comics"}
- {id: 2154, cat: Books/EBook, desc: "eBook : Livres"}
- {id: 2155, cat: Books/Comics, desc: "eBook : Mangas"}
- {id: 2156, cat: Books/Mags, desc: "eBook : Presse"}
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q, year]
allowrawsearch: true
settings:
- name: website_domain
type: text
label: YGG website domain
default: www.yggtorrent.top
- name: passkey
type: password
label: Passkey
- name: info_key
type: info
label: About your passkey
default: "You will find your passkey on the <a href=\"https://www.yggtorrent.top/user/account\" target=\"_blank\">YGG</a> account page."
- name: sort
type: select
label: Sort requested from site
default: uploaded_at
options:
uploaded_at: publish_date
seeders: seeders
downloads: downloads
- 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: strip_season
type: checkbox
label: Strip season-only (e.g. S01) from searches, as tracker does not support partial matches
default: true
- name: tracker_domain
type: select
label: Domaine du tracker à utiliser
default: tracker.p2p-world.net
options:
tracker.p2p-world.net: tracker.p2p-world.net
connect.maxp2p.org: connect.maxp2p.org
- name: info_downloads
type: info
label: About missing Downloads
default: "If the torrent has no seeder and no leecher then the torrent file may be missing and download may fail."
search:
paths:
- path: torrents
response:
type: json
inputs:
page: 1
- path: torrents
response:
type: json
inputs:
page: 2
- path: torrents
response:
type: json
inputs:
page: 3
- path: torrents
response:
type: json
inputs:
page: 4
- path: torrents
response:
type: json
inputs:
page: 5
- path: torrents
response:
type: json
inputs:
page: 6
- path: torrents
response:
type: json
inputs:
page: 7
- path: torrents
response:
type: json
inputs:
page: 8
- path: torrents
response:
type: json
inputs:
page: 9
- path: torrents
response:
type: json
inputs:
page: 10
inputs:
$raw: "{{ range .Categories }}&category_id={{.}}{{end}}"
q: "{{ .Keywords }}"
per_page: 100
order_by: "{{ .Config.sort }}"
# https://github.com/Prowlarr/Indexers/blob/953aa766ef67c782f5aab1b563ce180f49eb9ea5/definitions/v10/yggtorrent.yml#L277
keywordsfilters:
- name: trim
# fix date search and workaround for internal YGG issues
- name: re_replace
args: ["[\\\\\\-\\.\\/!\\s]+", " "]
# strip season-only as tracker does not support partial matches
- name: re_replace
args: ["(?i)\\b(S\\d{1,3})\\b", "{{ if .Config.strip_season }}{{ else }}$1{{ end }}"]
# put each word in quotations to prevent exact phrase search
- name: re_replace
args: ["([^\\s]+)", "\"$1\""]
rows:
selector: $
missingAttributeEqualsNoResults: true
fields:
category:
selector: category_id
title_normal:
selector: title
title_multilang:
text: "{{ .Result.title_normal }}"
filters:
- name: re_replace
args: ["(?i)[\\.](MULTI(?!.*(?:FRENCH|ENGLISH|VOSTFR)))[\\.]", ".{{ .Config.multilanguage }}."]
title:
text: "{{ if .Config.multilang }}{{ .Result.title_multilang }}{{ else }}{{ .Result.title_normal }}{{ end }}"
_id:
selector: id
_slug:
selector: slug
details:
selector: link
download:
text: "torrent/{{ .Result._id }}/download?passkey={{ .Config.passkey }}&tracker_domain={{ .Config.tracker_domain }}"
year:
selector: title
filters:
- name: regexp
args: (\b(19|20)\d{2}\b)
size:
selector: size
seeders:
selector: seeders
leechers:
selector: leechers
grabs:
selector: downloads
optional: true
default: 0
date:
# unix
selector: uploaded_at
downloadvolumefactor:
text: 1
uploadvolumefactor:
text: 1
# JSON 1.0.0
---
id: yggapi
name: YggAPI
description: Indexeur non-officiel pour YggTorrent (YGG) - MOVIES / TV
language: fr-FR
type: private
encoding: UTF-8
testlinktorrent: false
links:
- https://yggapi.eu/
caps:
categorymappings:
- {id: 2178, cat: Movies/Other, desc: "Films d'animation"}
- {id: 2183, cat: Movies, desc: "Films"}
- {id: 2145, cat: TV, desc: "Film/Vidéo"}
- {id: 2179, cat: TV/Anime, desc: "Séries d'animation / Mangas"}
- {id: 2181, cat: TV/Documentary, desc: "Film/Vidéo : Documentaire"}
- {id: 2182, cat: TV, desc: "Film/Vidéo : Emission TV"}
- {id: 2184, cat: TV, desc: "Séries"}
- {id: 2185, cat: TV, desc: "Film/Vidéo : Spectacle"}
- {id: 2186, cat: TV/Sport, desc: "Film/Vidéo : Sport"}
- {id: 2187, cat: TV/Other, desc: "Film/Vidéo : Vidéo-clips"}
- {id: 2139, cat: Audio, desc: "Audio"}
- {id: 2147, cat: Audio, desc: "Audio : Karaoké"}
- {id: 2148, cat: Audio, desc: "Audio : Musique"}
- {id: 2149, cat: Audio/Other, desc: "Audio : Samples"}
- {id: 2150, cat: Audio, desc: "Audio : Podcast Radio"}
- {id: 2151, cat: Audio/Audiobook, desc: "eBook : Audio"}
- {id: 2180, cat: Audio/Video, desc: "Film/Vidéo : Concert"}
- {id: 2140, cat: Books, desc: "eBook"}
- {id: 2152, cat: Books/EBook, desc: "eBook : Bds"}
- {id: 2153, cat: Books/Comics, desc: "eBook : Comics"}
- {id: 2154, cat: Books/EBook, desc: "eBook : Livres"}
- {id: 2155, cat: Books/Comics, desc: "eBook : Mangas"}
- {id: 2156, cat: Books/Mags, desc: "eBook : Presse"}
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q, year]
allowrawsearch: true
settings:
- name: website_domain
type: text
label: YGG website domain
default: www.yggtorrent.top
- name: passkey
type: password
label: Passkey
- name: info_key
type: info
label: About your passkey
default: "You will find your passkey on the <a href=\"https://www.yggtorrent.top/user/account\" target=\"_blank\">YGG</a> account page."
- name: sort
type: select
label: Sort requested from site
default: uploaded_at
options:
uploaded_at: publish_date
seeders: seeders
downloads: downloads
- 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: strip_season
type: checkbox
label: Strip season-only (e.g. S01) from searches, as tracker does not support partial matches
default: true
- name: tracker_domain
type: select
label: Domaine du tracker à utiliser
default: tracker.p2p-world.net
options:
tracker.p2p-world.net: tracker.p2p-world.net
connect.maxp2p.org: connect.maxp2p.org
- name: info_downloads
type: info
label: About missing Downloads
default: "If the torrent has no seeder and no leecher then the torrent file may be missing and download may fail."
download:
before:
path: "torrent/{{ .DownloadUri.Query.id }}/magnet?passkey=PASSKEY_TO_BE_REPLACED_BY_REG_EX"
method: get
selectors:
- selector: body
usebeforeresponse: true
filters:
- name: regexp
args: \"magnet\"\s*:\s*"(?<magnet>magnet:[^"]+)"
- name: replace
args: ["PASSKEY_TO_BE_REPLACED_BY_REG_EX", "{{ .Config.passkey }}"]
- name: replace
args: ["tracker.p2p-world.net", "{{ .Config.tracker_domain }}"]
search:
paths:
- path: torrents
response:
type: json
inputs:
page: 1
- path: torrents
response:
type: json
inputs:
page: 2
- path: torrents
response:
type: json
inputs:
page: 3
- path: torrents
response:
type: json
inputs:
page: 4
- path: torrents
response:
type: json
inputs:
page: 5
- path: torrents
response:
type: json
inputs:
page: 6
- path: torrents
response:
type: json
inputs:
page: 7
- path: torrents
response:
type: json
inputs:
page: 8
- path: torrents
response:
type: json
inputs:
page: 9
- path: torrents
response:
type: json
inputs:
page: 10
inputs:
$raw: "{{ range .Categories }}&category_id={{.}}{{end}}"
q: "{{ .Keywords }}"
per_page: 100
order_by: "{{ .Config.sort }}"
# https://github.com/Prowlarr/Indexers/blob/953aa766ef67c782f5aab1b563ce180f49eb9ea5/definitions/v10/yggtorrent.yml#L277
keywordsfilters:
- name: trim
# fix date search and workaround for internal YGG issues
- name: re_replace
args: ["[\\\\\\-\\.\\/!\\s]+", " "]
# strip season-only as tracker does not support partial matches
- name: re_replace
args: ["(?i)\\b(S\\d{1,3})\\b", "{{ if .Config.strip_season }}{{ else }}$1{{ end }}"]
# put each word in quotations to prevent exact phrase search
- name: re_replace
args: ["([^\\s]+)", "\"$1\""]
rows:
selector: $
missingAttributeEqualsNoResults: true
fields:
category:
selector: category_id
title_normal:
selector: title
title_multilang:
text: "{{ .Result.title_normal }}"
filters:
- name: re_replace
args: ["(?i)[\\.](MULTI(?!.*(?:FRENCH|ENGLISH|VOSTFR)))[\\.]", ".{{ .Config.multilanguage }}."]
title:
text: "{{ if .Config.multilang }}{{ .Result.title_multilang }}{{ else }}{{ .Result.title_normal }}{{ end }}"
_id:
selector: id
_slug:
selector: slug
details:
selector: link
download:
text: "torrent?id={{ .Result._id }}"
year:
selector: title
filters:
- name: regexp
args: (\b(19|20)\d{2}\b)
size:
selector: size
seeders:
selector: seeders
leechers:
selector: leechers
grabs:
selector: downloads
optional: true
default: 0
download:
text: torrent?id={{ .Result._id }}
date:
# unix
selector: uploaded_at
downloadvolumefactor:
text: 1
uploadvolumefactor:
text: 1
# JSON 1.0.0
@RudyLemoine
Copy link

Bonjour Clemv95 😁

Merci énormément de nous libérer des cookies et user agent c'est un enfer ce truc !

Donc pour ma question : la tout est bien configuré pour moi sauf que sur sonarr j'ai très peu de séries et / ou Animes qui sont trouvés.

J'ai bien vérifié que dans l'indexer de sonarr que tout soit bien configuré (series et tv other tv ceci et tv cela soit bien cochées)

Du coup je ne sais pas si on peut améliorer la recherche avec sonarr ou si la config est pas bonne.

En tout cas un énorme merci parce que yggcookie c'est une tanée et surtout aussi bravo pour l'integration automatique dans Radarr et Sonarr ! Enfin un vrai script qui fonctionne super bien! (sauf mon petit souci avec sonarr ☺️)

Dis moi de quoi tu aurais besoin pour voir si tout fonctionne comme prévu parce que c'est peut etre normal :) Merci à toi

@tplizga
Copy link

tplizga commented Jul 27, 2025

Pas de souci. Avec plaisir.

Plutôt sûr que cette version fonctionnait aussi cependant 🤔 (le gist avait en + été mis à jour avec..)

Peu importe, tant mieux! (:

Effectivement ça devait être un mauvais copier/coller de ta version, Laiteux. Tout fonctionne bien désormais !
Merci à tous, c'est réglé :)

@Laiteux
Copy link

Laiteux commented Jul 29, 2025

Hey @ygg-api, possible de passer DM?

t.me/matteo

Thank you

@ygg-api
Copy link

ygg-api commented Jul 29, 2025

@Laiteux Je te contacte

@DoloresOmbrage
Copy link

Bonjour,

J’ai déjà contacté Clem, qui m’a dit ne pas comprendre d’où cela pouvait venir.
Nous avons regardé les logs, mais rien à signaler.

Je vous explique : depuis peu, plus rien ne se télécharge sur Sonarr.
Sur Radarr, en revanche, aucun souci.

Par exemple, j’avais Chicago Med et Plus belle la vie configurés, et à chaque sortie d’un épisode, il était automatiquement téléchargé, car les séries sont bien surveillées.

Je n’avais aucun problème jusque-là, mais depuis environ une semaine, plus rien ne se télécharge côté séries.
Je suis obligé de lancer manuellement une recherche interactive à chaque fois.

Si quelqu’un a une idée, je suis preneur.

Merci !

@tifo71
Copy link

tifo71 commented Jul 29, 2025

t'a fais des profils de version dans sonarr ?

@DoloresOmbrage
Copy link

t'a fais des profils de version dans sonarr ?

oui biensur comme je l'ai dit avant ca marcher sans soucis si j'en avais pas fait ca n'aurais jamais marcher je pense

@RudyLemoine
Copy link

RudyLemoine commented Jul 30, 2025

Bonjour,

J’ai déjà contacté Clem, qui m’a dit ne pas comprendre d’où cela pouvait venir. Nous avons regardé les logs, mais rien à signaler.

Je vous explique : depuis peu, plus rien ne se télécharge sur Sonarr. Sur Radarr, en revanche, aucun souci.

Par exemple, j’avais Chicago Med et Plus belle la vie configurés, et à chaque sortie d’un épisode, il était automatiquement téléchargé, car les séries sont bien surveillées.

Je n’avais aucun problème jusque-là, mais depuis environ une semaine, plus rien ne se télécharge côté séries. Je suis obligé de lancer manuellement une recherche interactive à chaque fois.

Si quelqu’un a une idée, je suis preneur.

Merci !

J'ai exactement le meme souci si quelqu'un a deja eu ce probleme je suis preneur aussi :)
Du coup j'ai du remettre YGGCookie pour sonarr uniquement mais si quelqu'un a une solution c'est top merci bcp pour le taf en tout cas c'est enorme !

@tifo71
Copy link

tifo71 commented Jul 30, 2025

Dans les profils de version l'indexeur a appliquer le profil et bien sélectionner ?

@RudyLemoine
Copy link

RudyLemoine commented Jul 30, 2025

Bonjour à tous

Je viens de trouver le souci sur sonarr :

Il faut bien choisir "SERIES" dans l'indexeur YGG API (Prowlarr) dans catégories (voir photo jointe)

et le souci que j'avais sur les animés c'etait simplement le 2eme profil indexeur dans sonarr (YGG API (Series Animes) j'avais configuré uniquement la catégorie "ANIME" en dessous de celle normale et il fallait aussi mettre les catégories animés dans catégories normales (en haut) dans les paramètres de l'indexeur.

Peut être à faire remonter aux dev parce que c'est a mon avis un souci que tout le monde doit avoir)

Si vous faites comme moi ça marchera parfaitement :)
Tout fonctionne a merveille maintenant je vous mets des photos :)

En tout cas un grand merci pour le taf car je suis libéré du cookie et user agent alors un big merci franchement les dev sont incroyables!!

(ne faites pas attention à l'URL j'utilise docker sur mon synology en circuit fermé ce sera pas la même pour vous)

Capture d’écran 2025-07-30 à 19 22 44
Capture d’écran 2025-07-30 à 19 23 07
Capture d’écran 2025-07-30 à 19 23 22
Capture d’écran 2025-07-30 à 19 24 05

@tifo71
Copy link

tifo71 commented Jul 30, 2025

ah oui effectivement faut bien prendre la bonne catégorie serie et si tu as des animé la catégorie serie animé ou animation.

Car par defaut il te mette la catégorie serie mais celle en haut qui n'est pas la bonne du coup.

Nickel

@DoloresOmbrage
Copy link

Bonjour à tous

Je viens de trouver le souci sur sonarr :

Il faut bien choisir "SERIES" dans l'indexeur YGG API (Prowlarr) dans catégories (voir photo jointe)

et le souci que j'avais sur les animés c'etait simplement le 2eme profil indexeur dans sonarr (YGG API (Series Animes) j'avais configuré uniquement la catégorie "ANIME" en dessous de celle normale et il fallait aussi mettre les catégories animés dans catégories normales (en haut) dans les paramètres de l'indexeur.

Peut être à faire remonter aux dev parce que c'est a mon avis un souci que tout le monde doit avoir)

Si vous faites comme moi ça marchera parfaitement :) Tout fonctionne a merveille maintenant je vous mets des photos :)

En tout cas un grand merci pour le taf car je suis libéré du cookie et user agent alors un big merci franchement les dev sont incroyables!!

(ne faites pas attention à l'URL j'utilise docker sur mon synology en circuit fermé ce sera pas la même pour vous)

Capture d’écran 2025-07-30 à 19 22 44 Capture d’écran 2025-07-30 à 19 23 07 Capture d’écran 2025-07-30 à 19 23 22 Capture d’écran 2025-07-30 à 19 24 05

moi je vois séries nul part je capte pas trop ou tu as été puis je pense que ca vienne de la car j'ai jamais eu de soucis avant donc c'est que mes paramètres été bon de base en principe

@RudyLemoine
Copy link

RudyLemoine commented Jul 30, 2025

Bonjour à tous
Je viens de trouver le souci sur sonarr :
Il faut bien choisir "SERIES" dans l'indexeur YGG API (Prowlarr) dans catégories (voir photo jointe)
et le souci que j'avais sur les animés c'etait simplement le 2eme profil indexeur dans sonarr (YGG API (Series Animes) j'avais configuré uniquement la catégorie "ANIME" en dessous de celle normale et il fallait aussi mettre les catégories animés dans catégories normales (en haut) dans les paramètres de l'indexeur.
Peut être à faire remonter aux dev parce que c'est a mon avis un souci que tout le monde doit avoir)
Si vous faites comme moi ça marchera parfaitement :) Tout fonctionne a merveille maintenant je vous mets des photos :)
En tout cas un grand merci pour le taf car je suis libéré du cookie et user agent alors un big merci franchement les dev sont incroyables!!
(ne faites pas attention à l'URL j'utilise docker sur mon synology en circuit fermé ce sera pas la même pour vous)
Capture d’écran 2025-07-30 à 19 22 44 Capture d’écran 2025-07-30 à 19 23 07 Capture d’écran 2025-07-30 à 19 23 22 Capture d’écran 2025-07-30 à 19 24 05

moi je vois séries nul part je capte pas trop ou tu as été puis je pense que ca vienne de la car j'ai jamais eu de soucis avant donc c'est que mes paramètres été bon de base en principe

Moi je suis dans sonarr la dolores :) pas dans prowlarr
Dans sonarr dans indexeur tu as l'indexeur qui s'est ajouté tout seul (merci au dev 😉) donc tu auras acces a categories à cet endroit

@DoloresOmbrage
Copy link

Bonjour à tous
Je viens de trouver le souci sur sonarr :
Il faut bien choisir "SERIES" dans l'indexeur YGG API (Prowlarr) dans catégories (voir photo jointe)
et le souci que j'avais sur les animés c'etait simplement le 2eme profil indexeur dans sonarr (YGG API (Series Animes) j'avais configuré uniquement la catégorie "ANIME" en dessous de celle normale et il fallait aussi mettre les catégories animés dans catégories normales (en haut) dans les paramètres de l'indexeur.
Peut être à faire remonter aux dev parce que c'est a mon avis un souci que tout le monde doit avoir)
Si vous faites comme moi ça marchera parfaitement :) Tout fonctionne a merveille maintenant je vous mets des photos :)
En tout cas un grand merci pour le taf car je suis libéré du cookie et user agent alors un big merci franchement les dev sont incroyables!!
(ne faites pas attention à l'URL j'utilise docker sur mon synology en circuit fermé ce sera pas la même pour vous)
Capture d’écran 2025-07-30 à 19 22 44 Capture d’écran 2025-07-30 à 19 23 07 Capture d’écran 2025-07-30 à 19 23 22 Capture d’écran 2025-07-30 à 19 24 05

moi je vois séries nul part je capte pas trop ou tu as été puis je pense que ca vienne de la car j'ai jamais eu de soucis avant donc c'est que mes paramètres été bon de base en principe

Moi je suis dans sonarr la dolores :) pas dans prowlarr Dans sonarr dans indexeur tu as l'indexeur qui s'est ajouté tout seul (merci au dev 😉) donc tu auras acces a categories à cet endroit

oui j'ai cocher série mais rien ne change j'ai été obliger de faire une recherche a la main pour un épisode qui est sortie par exemple y a deux heures sur ygg pour que ca le download ... donc perso moi ca ne change rien

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment