Download full DeviantArt galleries using the official public API
Project description
DeviantArt Downloader
Download the full gallery of any DeviantArt profile using the official public API.
- Downloads the original file when the author allows it, or the highest publicly available resolution image.
- Downloads mature content unblurred when you log in with your account (
--login, see below). Without login,--unblur/DA_UNBLUR=truestrips the blur where possible: works uploaded since ~mid-2021 have their URL token pinned to the blurred version, so for those the blurred preview is downloaded instead. - Parallel downloads with retries and API rate-limit handling.
- Detects duplicates across runs (even if the artwork's title has changed), so it is safe to re-run to sync new works.
- Files you delete manually stay deleted: the download record (
_downloaded.json) is authoritative, so deleted works are not downloaded again unless you pass--redownload-missing. - Saves the full metadata of every work to
_metadata.json.
Installation
pip install deviantart-gallery-downloader
Credentials
- Create a DeviantArt account.
- Register an application (confidential type) at https://www.deviantart.com/developers/register.
- Copy the
client_idandclient_secretfrom https://www.deviantart.com/developers/apps.
Export them as environment variables or put them in a .env file in the directory you run the command from:
DA_CLIENT_ID=your_client_id
DA_CLIENT_SECRET=your_client_secret
# Optional: simultaneous downloads (default: 4, recommended not to exceed 8)
DA_WORKERS=4
# Optional: strip the blur filter the API applies to mature-content previews
# (default: false, images are kept as the API serves them)
DA_UNBLUR=false
# Optional: output folder, absolute or relative ("~" is expanded)
DA_OUTPUT=~/Pictures/deviantart
Usage
deviantart-downloader https://www.deviantart.com/username
deviantart-downloader username
# Passing the credentials as arguments:
deviantart-downloader username --client-id XXX --client-secret YYY
# Useful options:
deviantart-downloader username -o my_folder # output folder (default: DA_OUTPUT or downloads)
deviantart-downloader username -w 8 # simultaneous downloads
deviantart-downloader username --delay 1.0 # pause after each download, per thread
deviantart-downloader username --redownload-missing # restore manually deleted files
deviantart-downloader username --unblur # strip the blur on mature-content previews
Files are saved to <output>/<username>/.
Unblurred mature content (--login)
Without a logged-in user, the API serves mature works as an anonymous visitor would see them: blurred, and with the image URL cryptographically pinned to the blurred version for works uploaded since ~mid-2021 (--unblur cannot help there). To get the real images, log in with your DeviantArt account:
- In your account settings, enable mature content.
- In https://www.deviantart.com/developers/apps, edit your application and add
http://127.0.0.1:8721/callbackto the OAuth2 Redirect URI Whitelist. - Run:
deviantart-downloader --login # one-time browser authorization
deviantart-downloader username # subsequent runs use the saved session
The browser opens once to authorize the app; the session is stored in ~/.config/deviantart-downloader/token.json and renewed automatically. If it ever expires (about 3 months without use), run --login again. While a session is saved, mature works are downloaded unblurred and --unblur is unnecessary.
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file deviantart_gallery_downloader-1.3.0.tar.gz.
File metadata
- Download URL: deviantart_gallery_downloader-1.3.0.tar.gz
- Upload date:
- Size: 12.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fc12cfc547f7dd0cd97ef138d321772983e12458db2cac1411c87900ea36ef5b
|
|
| MD5 |
fb53c4bb55433b9c36cc4bc83335ca42
|
|
| BLAKE2b-256 |
189b28cdfc8f0e7d78e4a2dcb56f8c3d306bc24f674c421cbead63e238ce1112
|
File details
Details for the file deviantart_gallery_downloader-1.3.0-py3-none-any.whl.
File metadata
- Download URL: deviantart_gallery_downloader-1.3.0-py3-none-any.whl
- Upload date:
- Size: 12.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
da5c8d354db719fd70401bec319436a20346b3553ec56cc53aac807237e52a13
|
|
| MD5 |
970594bdb356f27c77cf451130b67167
|
|
| BLAKE2b-256 |
a3f718f5d6819b848d66c390cd9a929f173ee5d1b07b732ffb789e1f1e52e8ba
|