Skip to main content

AnimeSaturn

AnimeSaturn-API

PyPI - Version PyPI - Python Version PyPI - Downloads PyPI - Format License Publish to PyPI Deploy MkDocs

Language - English Language - Italiano

AnimeSaturn-API is an unofficial, modern, and high-performance Python package for searching, extracting metadata, and downloading anime from AnimeSaturn and all its official mirrors.

Built to provide the same ease of use and clean architecture as AnimeWorld-API.

Read this in:


Features

  • 🔍 Instant Search: Direct query through AnimeSaturn's fast JSON search endpoint.
  • 🌐 Multi-Domain & Official Mirrors: Auto-discovers and resolves working mirrors via https://www.animesaturn.me/ (animesaturn.net, animesaturn.tv, animesaturn.in, etc.).
  • 📑 Comprehensive Metadata: Title, Romaji/alternate name, plot, genres, season, language, rating, MAL/AniList links, cover image.
  • 🔓 SaturnCDN Video Decryption: Built-in pure Python XOR decryption for SaturnCDN video streams—no browser automation needed.
  • 📥 Built-in Downloader: High-performance chunked file downloads with auto-resume, progress bar support (tqdm), and custom progress hooks.
  • ⌨️ CLI Utility: Built-in animesaturn command line interface for direct searching, info inspection, and downloading.

Installation

pip install animesaturn

To install with MkDocs documentation dependencies:

pip install "animesaturn[docs]"

Quick Usage

Search Anime

import animesaturn as asaturn

# Search for anime by keyword
results = asaturn.find("One Piece")
for item in results[:5]:
    print(f"{item['name']} ({item['year']}) -> {item['link']}")

Anime Details & Metadata

import animesaturn as asaturn

# Initialize anime from link or slug
anime = asaturn.Anime("one-piece-PmTvj")

print(f"Title:       {anime.name}")
print(f"Alt Title:   {anime.jtitle}")
print(f"Category:    {anime.category}")
print(f"Season/Year: {anime.season} ({anime.release})")
print(f"Status:      {anime.status}")
print(f"Rating:      {anime.rating}/10")
print(f"Genres:      {', '.join(anime.genres)}")
print(f"MAL Link:    {anime.mal_url}")
print(f"Synopsis:    {anime.story}")
# Get list of episodes
episodes = anime.getEpisodes()
print(f"Total episodes: {len(episodes)}")

first_ep = episodes[0]
print(f"Episode: {first_ep.number}")

# Retrieve server providers
servers = first_ep.getServer()
server = servers[0] # Server principale (SaturnStream)

# Get direct .mp4 streaming link
stream_url = server.fileLink()
print(f"Direct stream URL: {stream_url}")

# File info
info = server.fileInfo()
print(f"File size: {info['total_bytes'] / (1024*1024):.2f} MB")

Downloading Episodes

# Simple download with terminal progress bar
first_ep.download(folder="./downloads")

# Custom progress hook callback
def my_hook(current, total, percentage):
    print(f"Progress: {percentage:.1f}% ({current}/{total} bytes)", end="\r")
    return True # Return False to abort download

first_ep.download(folder="./downloads", hook=my_hook)

Multi-Domain Management

import animesaturn as asaturn

# View current active domain
print("Active domain:", asaturn.get_domain())

# Fetch all official mirrors from animesaturn.me
domains = asaturn.fetch_official_domains()
print("Official mirrors:", domains)

# Automatically find and switch to the fastest active domain
active = asaturn.discover_active_domain()
print("Fastest active domain set to:", active)

# Manually pin a custom domain
asaturn.set_domain("https://www.animesaturn.tv")

CLI Usage

# Search anime
animesaturn search "Naruto"

# Show anime info
animesaturn info "naruto-shippuden-ita-PjvU1"

# Show latest released episodes
animesaturn latest --page 1

# Download episode 1
animesaturn download "naruto-shippuden-ita-PjvU1" --ep 1 --folder ./downloads

# Check official domains and mirrors
animesaturn domains

Documentation

Full documentation is available at https://animesaturn.lawliet.lol/ or locally with:

mkdocs serve

Disclaimer

This is an unofficial library. It is not affiliated with, endorsed by, or connected to AnimeSaturn.

License

Released under the MIT License.


Star History

Star History Chart

Release files for animesaturn 1.0.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for animesaturn 1.0.2
File Size Uploaded
animesaturn-1.0.2.tar.gz 27.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for animesaturn 1.0.2
File Interpreter ABI Platform
animesaturn-1.0.2-py3-none-any.whl Python 3 none any Details

Total release size: 57.7 kB

Release files / animesaturn-1.0.2.tar.gz

Download URL animesaturn-1.0.2.tar.gz
Size 27.7 kB
Tags Source
SHA-256 checksum
How to use checksums
46f360fc518686bd6d7bd321ff45828507355ec6f5c1e6ecdca498742787ec10
BLAKE2b-256 checksum
How to use checksums
dfa853fabd46abb3be2c2149a4234202dda462b8b8573f14a654339365c63dde
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.3

Release files / animesaturn-1.0.2-py3-none-any.whl

Download URL animesaturn-1.0.2-py3-none-any.whl
Size 30.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0c03555768ea3262f6a48a9c5ce3e9f9ef5b004d1bdd7beceda3baa89a718a2a
BLAKE2b-256 checksum
How to use checksums
888c162532a84f42c73de490edb97e189982a904c664425dfb98a257307a8866
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.3

Release history Release notifications | RSS feed

1.0.3

2 release files

This release

1.0.2 This release

2 release files

1.0.1

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page