{
  "id": "streamrip",
  "name": "Streamrip",
  "homepage": "https://github.com/nathom/streamrip",
  "description": "Streamrip: the all in one music downloader.",
  "executables": [
    "rip"
  ],
  "dotfiles": {
    "paths": [
      "[appData]/streamrip/config.toml"
    ],
    "secret": [],
    "secret_paths": [
      {
        "file": "[appData]/streamrip/config.toml",
        "format": "toml",
        "match": {
          "key_path": [
            "qobuz.email_or_userid",
            "qobuz.password_or_token",
            "tidal.access_token",
            "tidal.refresh_token",
            "deezer.arl",
            "soundcloud.client_id"
          ]
        }
      }
    ],
    "machine_lines": [
      {
        "file": "[appData]/streamrip/config.toml",
        "format": "toml",
        "match": {
          "key_path": [
            "downloads.folder",
            "database.downloads_path",
            "database.failed_downloads_path",
            "youtube.video_downloads_folder"
          ]
        }
      }
    ]
  },
  "commands": {
    "format": 1,
    "label": "Download music",
    "description": "Global download options for rip (folder, quality, codec) plus the url and search subcommands. Needs logged-in accounts in the streamrip config; config, database and lastfm subcommands are not covered.",
    "quality": "ai-draft",
    "parser": {
      "end_of_options": "--",
      "interleave": "permute",
      "long_equals": true,
      "short_attached": true,
      "short_bundles": false
    },
    "source": [
      {
        "id": "cli",
        "kind": "manual",
        "url": "https://github.com/nathom/streamrip/blob/dev/streamrip/rip/cli.py",
        "revision": "2026-10-27",
        "evidence": "\"-f\", \"--folder\", help=\"The folder to download items into.\"\n\"-q\", \"--quality\", help=\"The maximum quality allowed to download\", type=click.IntRange(min=0, max=4)\n\"-c\", \"--codec\", help=\"Convert the downloaded files to an audio codec (ALAC, FLAC, MP3, AAC, or OGG)\"\n\"--no-progress\", help=\"Do not show progress bars\"\n\"-v\", \"--verbose\", help=\"Enable verbose output (debug mode)\"\nrip --codec mp3 url https://open.qobuz.com/album/0060253780968\nrip --quality 3 url https://tidal.com/browse/album/147569387\n"
      }
    ],
    "field": [
      {
        "id": "folder",
        "label": "Download folder",
        "type": "path",
        "option": [
          "--folder",
          "-f"
        ],
        "path": {
          "kind": "directory",
          "role": "output"
        },
        "sources": [
          "cli"
        ]
      },
      {
        "id": "quality",
        "label": "Maximum quality",
        "description": "0 = 128 kbps, 1 = 320 kbps, 2 = CD 16-bit, 3 = 24-bit up to 96 kHz, 4 = 24-bit up to 192 kHz (Qobuz only).",
        "type": "enum",
        "option": [
          "--quality",
          "-q"
        ],
        "choices": [
          {
            "value": "0",
            "label": "0 - 128 kbps"
          },
          {
            "value": "1",
            "label": "1 - 320 kbps"
          },
          {
            "value": "2",
            "label": "2 - CD (16 bit, 44.1 kHz)"
          },
          {
            "value": "3",
            "label": "3 - 24 bit, up to 96 kHz"
          },
          {
            "value": "4",
            "label": "4 - 24 bit, up to 192 kHz"
          }
        ],
        "sources": [
          "cli"
        ]
      },
      {
        "id": "codec",
        "label": "Convert to codec",
        "type": "string",
        "option": [
          "--codec",
          "-c"
        ],
        "suggestions": [
          {
            "value": "flac",
            "label": "FLAC"
          },
          {
            "value": "alac",
            "label": "ALAC"
          },
          {
            "value": "mp3",
            "label": "MP3"
          },
          {
            "value": "aac",
            "label": "AAC"
          },
          {
            "value": "ogg",
            "label": "OGG"
          }
        ],
        "sources": [
          "cli"
        ]
      },
      {
        "id": "no_progress",
        "label": "No progress bars",
        "type": "boolean",
        "option": [
          "--no-progress"
        ],
        "sources": [
          "cli"
        ]
      },
      {
        "id": "verbose",
        "label": "Verbose (debug)",
        "type": "boolean",
        "option": [
          "--verbose",
          "-v"
        ],
        "sources": [
          "cli"
        ]
      }
    ],
    "task": [
      {
        "id": "options",
        "label": "Set download options",
        "fields": [
          "folder",
          "quality",
          "codec"
        ]
      }
    ],
    "group": [
      {
        "id": "basic",
        "label": "Basic",
        "fields": [
          "folder",
          "quality",
          "codec"
        ]
      },
      {
        "id": "advanced",
        "label": "Advanced",
        "fields": [
          "no_progress",
          "verbose"
        ]
      }
    ],
    "subcommand": [
      {
        "path": [
          "url"
        ],
        "label": "Download from URLs",
        "description": "Download albums, tracks, playlists or artists from Qobuz, Tidal, Deezer or SoundCloud URLs.",
        "source": [
          {
            "id": "cli",
            "kind": "manual",
            "url": "https://github.com/nathom/streamrip/blob/dev/streamrip/rip/cli.py",
            "revision": "2026-10-27",
            "evidence": "@click.argument(\"urls\", nargs=-1, required=True)\nrip url https://www.qobuz.com/us-en/album/rumours-fleetwood-mac/0603497941032\n"
          }
        ],
        "field": [
          {
            "id": "urls",
            "label": "URLs",
            "type": "url",
            "position": 0,
            "min": 1,
            "multiple": true,
            "sources": [
              "cli"
            ]
          }
        ],
        "task": [
          {
            "id": "download",
            "label": "Download",
            "fields": [
              "urls"
            ],
            "required": [
              "urls"
            ]
          }
        ],
        "group": [
          {
            "id": "basic",
            "label": "Basic",
            "fields": [
              "urls"
            ]
          }
        ]
      }
    ]
  }
}
