pykhinsider
Command line tool to download entire albums or individual songs from KHInsider in both MP3 and FLAC format.
It also works as a python package and you can use it directly in your own scripts.
Notes:
- If you get
403 Client Error: Forbidden, then you can use the--flaresolverroption to specify a flaresolverr server to bypass the cloudflare bot challenge. - this repository used to be called
khinsider-streamer. It has since been completely overhauled from the ground up, and the streaming feature has been deprecated.
Features
- Download any MP3 or FLAC track from KHInsider
- Download any album from KHInsider
- Dump direct download links to stdout
How To Install
Windows:
- Simply download the most recent
.exefile from the Releases tab.
Linux
- Simply download the most recent binary from the Releases tab.
Command-Line Use
Command to download an album (in FLAC format)
pykhinsider "https://downloads.khinsider.com/game-soundtracks/album/wii-music-collection/" --format flac
Command to download an individual track (defaults to MP3)
pykhinsider "https://downloads.khinsider.com/game-soundtracks/album/wii-music-collection/03.%2520Mii%2520Channel.mp3"
usage: pykhinsider [-h] [-f {mp3,flac}] [-o OUTPUT] [--flaresolverr FLARESOLVERR] [--dump-links] url
Download music from KHInsider.
positional arguments:
url KHInsider album/song URL or direct download link
options:
-h, --help show this help message and exit
-f, --format {mp3,flac}
audio format to download
-o, --output OUTPUT output directory
--flaresolverr, -fs FLARESOLVERR
URL of the FlareSolverr service
--dump-links, --print-links
print direct download links only
Install as a package
Make sure you have Python 3.10 or later installed. Then, run:
pip install pykhinsider
Or, clone the repository and install locally:
git clone https://github.com/fenwaypowers/pykhinsider
cd pykhinsider
pip install -e .
Example Python use:
from pykhinsider import Album, Track
# download track
track = Track(
"https://downloads.khinsider.com/game-soundtracks/album/wii-music-collection/03.%2520Mii%2520Channel.mp3"
)
track.download(format="flac", dest=".")
# download album
album = Album(
"https://downloads.khinsider.com/game-soundtracks/album/wii-music-collection/"
)
album.download_all(format="mp3", dest=".")
# print direct download links
track.resolve() # retrieves direct download links
print(track.mp3_url)
print(track.flac_url)
License
Reporting Issues
When reporting bugs, please include:
- the command/code you ran
- the expected behavior
- the actual behavior
- the full error message
Notice
Metadata
Release files for pykhinsider 2.2.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| pykhinsider-2.2.1.tar.gz | 8.2 kB | With provenance | Details for pykhinsider-2.2.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| pykhinsider-2.2.1-py3-none-any.whl | Python 3 | none | any | Details for pykhinsider-2.2.1-py3-none-any.whl |
Total release size: 16.7 kB
Release files / pykhinsider-2.2.1.tar.gz
| Download URL | pykhinsider-2.2.1.tar.gz |
|---|---|
| Size | 8.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
fe5464e4ca5ad7c0377c7c8c41642a9a4cd59250e563b9c2011d40cb05f83e3c
|
|
BLAKE2b-256 checksum How to use checksums |
e07abc4b0d0da21dd41e432d694813970216595c5678fe2d03f6c724e9235171
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 5, 2026.
Transparency logRelease files / pykhinsider-2.2.1-py3-none-any.whl
| Download URL | pykhinsider-2.2.1-py3-none-any.whl |
|---|---|
| Size | 8.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
0df275f63f498bce1c3c5411613a1aa9cedba245328736a98d600645c1cf977c
|
|
BLAKE2b-256 checksum How to use checksums |
6e547f600e59f15f5268529ff7961760820c9b06c90ea9ff65a449ba5c875490
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 5, 2026.
Transparency logSecurity for pykhinsider 2.2.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for pykhinsider-2.2.1.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 5, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.