---
id: anthelion-api
name: Anthelion (API)
description: "Anthelion is a Private MOVIES tracker"
language: en-US
type: private
encoding: UTF-8
links:
- https://anthelion.me/
caps:
categorymappings:
- {id: 2000, cat: Movies}
- {id: 2030, cat: Movies/SD}
- {id: 2040, cat: Movies/HD}
- {id: 2045, cat: Movies/UHD}
- {id: 2050, cat: Movies/BluRay}
- {id: 2080, cat: Movies/WEB-DL}
- {id: 8000, cat: Other}
modes:
search: [q]
movie-search: [q, imdbid, tmdbid]
# note: the api any supports movie search so there is no tv season/episode support.
# not using year search because torznab adds it to the q= which results in &q=keyword+2022&year=2022 sent to api !?!
settings:
- name: apikey
type: text
label: APIKey
- name: info_key
type: info
label: About your API key
default: "Find or Generate a new API Key by accessing your Anthelion account Settings page and scrolling down to the API Key section.
Tick the Search and Download checkboxes and click the save profile button to generate the key."
- name: info_activity
type: info
label: Account Inactivity
default: "Activity is defined as actually using your account, including the snatch/grab/seeding of torrents. You are also required to sign-in to the web frontend of Anthelion at least once per 3mo (90 days) (Note, using autodl/ARR does not satisfy this)."
login:
path: api.php
method: get
inputs:
api_key: "{{ .Config.apikey }}"
error:
- selector: ":root:contains(\"Unrecognized key\")"
message:
text: "The API key was not accepted by {{ .Config.sitelink }}."
- selector: ":root:contains(\"No API_KEY provided\")"
message:
text: "You did not enter an API key."
search:
paths:
# docs: https://anthelion.me/forums.php?action=viewthread&threadid=1026
- path: api.php
response:
type: json
inputs:
api_key: "{{ .Config.apikey }}"
o: json
t: movie
q: "{{ .Keywords }}"
tmdb: "{{ .Query.TMDBID }}"
imdb: "{{ .Query.IMDBIDShort }}"
# category filtering is disabled since it seems to rely on the AND operator that prevents some releases to show on search.
# cat: "{{ join .Categories \",\" }}"
limit: 100
offset: 0
rows:
selector: item
count:
selector: response.total
fields:
category:
selector: category
filters:
- name: split
args: [",", -1]
year:
selector: year
optional: true
_codec:
selector: codec
_container:
selector: container
_media:
selector: media
filters:
- name: replace
args: ["WEB", "WEB-DL"]
_resolution:
selector: resolution
_audioFormat:
selector: audioFormat
_subbing:
selector: subbing
optional: true
_flags:
selector: flags
optional: true
filters:
- name: replace
args: [",", " "]
_language:
selector: language
optional: true
_releaseGroup:
selector: releaseGroup
optional: true
filters:
- name: trim
title_optional:
selector: title
filters:
- name: htmldecode
- name: append
args: " {{ .Result.year }} {{ .Result._codec }} {{ .Result._container }} {{ .Result._media }} {{ .Result._resolution }} {{ .Result._audioFormat }}{{ if .Result._subbing }} Subs{{ else }}{{ end }}{{ if .Result._flags }} {{ .Result._flags }}{{ else }}{{ end }}{{ if .Result._language }} {{ .Result._language }}{{ else }}{{ end }}{{ if and (.Result._releaseGroup) (ne .Result._releaseGroup \"NULL\") }}-{{ .Result._releaseGroup }}{{ else }}{{ end }}"
details:
selector: guid
download:
selector: link
filters:
- name: htmldecode
infohash:
selector: infohash
imdbid:
selector: imdb
tmdbid:
selector: tmdb
genre:
selector: tags
filters:
- name: replace
args: [".", "_"]
description:
text: "{{ .Result.genre }}"
files:
selector: fileCount
seeders:
selector: seeders
leechers:
selector: leechers
grabs:
selector: grabs
date:
# 2022-08-07T20:56:06+0200
selector: pubDate
size:
selector: size
downloadvolumefactor:
text: 1
uploadvolumefactor:
text: 1
minimumratio:
text: 1.0
minimumseedtime:
# 3 day (as seconds = 3 x 24 x 60 x 60)
text: 259200
_filename:
selector: "files[0].name"
filters:
- name: htmldecode
optional: true
title:
text: "{{ if and (eq .Result.files \"1\") (.Result._filename) }}{{ .Result._filename }}{{ else }}{{ .Result.title_optional }}{{ end }}"
# json api