Skip to content

AnimeSaturn

AnimeSaturn-API

Version Python Versions License

AnimeSaturn-API is an unofficial, high-performance, and feature-complete Python library designed for scraping, querying, and downloading anime from AnimeSaturn and all its official mirrors.

Modeled with the familiar syntax and architectural philosophy of AnimeWorld-API.


Key Features

  • ⚡ Fast Search & Discovery: Direct access to AnimeSaturn's internal JSON API endpoints (/api/search, /api/home/episodes) with automatic fallback to HTML filters.
  • 🪐 Multi-Domain & Mirrors Support: Automatically checks and resolves active official domains via https://www.animesaturn.me/ (animesaturn.net, animesaturn.tv, animesaturn.in, animemars.org, etc.).
  • 🎬 Rich Metadata: Extract titles, alternate Romaji/Japanese names, full Italian synopses, genres, release seasons, ratings, MAL/AniList links, and cover images.
  • 🔓 Built-In Video Decryption: Pure Python XOR decrypter for SaturnCDN / SaturnStream player links—no Selenium, Puppeteer, or headless browsers needed.
  • 📥 Robust Downloader: High-speed chunked streaming downloads with resume support, range requests, customizable progress bars (tqdm), and interruptible callbacks.
  • 💻 Full CLI Tool: Built-in animesaturn command-line utility for search, inspecting anime, and direct downloads.

Installation

Install the package via pip:

pip install animesaturn

To include documentation building tools:

pip install "animesaturn[docs]"

Quick Example

import animesaturn as asaturn

# Search for an anime
results = asaturn.find("Chainsaw Man")
print("First match:", results[0]["name"], results[0]["link"])

# Load anime details
anime = asaturn.Anime(results[0]["link"])
print(f"Title: {anime.name}")
print(f"Episodes count: {anime.episodes_num}")
print(f"Synopsis: {anime.story[:150]}...")

# Get episodes & stream link
episodes = anime.getEpisodes()
first_ep = episodes[0]
servers = first_ep.getServer()

print(f"Using server: {servers[0].name}")
direct_mp4_url = servers[0].fileLink()
print(f"Direct video stream: {direct_mp4_url}")

# Download episode 1
first_ep.download(folder="./downloads")

License

This project is licensed under the MIT License.