Section: User Commands (1)
Updated: October 2011
Page Index


clamz - download MP3 music files from  


clamz [ options ] amz-file ...



clamz is a little command-line program to download MP3 files from's music store. It is intended to serve as a substitute for Amazon's official MP3 Downloader, which is not free software (and therefore is only available in binary form for a limited set of platforms.) clamz can be used to download either individual songs or complete albums that you have purchased from Amazon.

In order to use clamz, you must first enable the ``MP3 dowloader mode'' by visiting the following URL:

If you are outside the US, replace `' with the corresponding domain for your country (e.g., for the UK, or for France.) Amazon does not allow anyone to purchase MP3 files from outside their country of residence.

To download the contents of an AMZ file into the current directory, just run

clamz some-file-name.amz

More advanced options are listed below.



-o name-format, --output=name-format
Set the name of the downloaded file(s). This may contain any of several variables which are derived from the input AMZ file; see FORMAT VARIABLES below. Note that the format string should be enclosed in single quotes, to stop the shell from expanding variables itself.
-d directory-format, --output-dir=directory-format
Set the directory where the downloaded files should be placed. (If this directory does not exist, it will be created.) This may also contain format variables.
-r, --resume
Resume downloading a partially-downloaded album. (By default, if you are downloading a file named foo.mp3, and the file foo.mp3 already exists in the destination directory, clamz will rename the new file to foo.mp3.1 to avoid overwriting the old file. If the -r option is used, clamz will instead assume that the first part of the file has already been downloaded, and will resume downloading from where it left off.)
-i, --info
Rather than downloading anything, just display detailed information about the given AMZ file(s) to standard output.
-x, --xml
Rather than downloading anything, print the raw, decrypted XML data from the AMZ file to standard output.
-v, --verbose
Display detailed information while downloading.
-q, --quiet
Turn off the normal progress display; display only error messages.
Do not allow the given characters to be used in output filenames. Note that control characters and slashes may never be used in filenames.
Opposite of the above; remove the given characters from the set of disallowed characters.
Allow uppercase letters in filenames.
Do not allow uppercase letters in filenames.
Use UTF-8 when writing filenames (the default behavior is to use UTF-8 if the system locale says so, otherwise ASCII.)
Use only ASCII characters in filenames.
Print out a summary of options.
Print out version information.



As part of a name-format or directory-format option, you may include references to environment variables (e.g., $HOME) or to the `xdg-user-dirs' configuration variables (e.g., $XDG_MUSIC_DIR or $XDG_DESKTOP_DIR.)

In addition, the following special variables are defined for each track, based on the information provided in the AMZ file, and subject to the above configuration options (--forbid-chars, --forbid-uppercase, etc.)

${title}, ${creator}, ${tracknum}, ${discnum}, ${genre}, ${asin}
Title, creator, track number, disc number, genre, and ASIN (Amazon Standard Identification Number) of each individual track.
${album}, ${album_artist}, ${album_asin}
Title, primary artist, and ASIN of the album the track comes from. (This information is available both for single-track and full-album downloads.)
Suffix of the output file (currently only `mp3'.)
${amz_title}, ${amz_creator}, ${amz_genre}, ${amz_asin}
These variables formerly contained metadata for the AMZ file as a whole; current AMZ files do not contain this information. Using these variables is not recommended.

Similar to shell variable expansion, you can also use the following conditional expressions:

Expands to the value of variable var if it is defined and non-empty; otherwise, expands to string (which may itself contain variable references.)
Expands to string if the variable var is defined and non-empty; otherwise, expands to an empty string.

Note that when you include format variables in a command-line argument, you will usually need to enclose the argument in single quotes ('...'), or insert a backslash before the `$', to prevent the shell from trying to expand the variables itself.



General configuration file, providing default settings for the --output, --forbid-chars, --allow-uppercase and --utf8-filenames options.
Directory containing backup copies of AMZ files.
Directory containing log files.



HTTP proxy to use for downloading files; use `server:port' to specify a port number.



Benjamin Moody <>