Client Distribution

While mobile clients can be distributed through most system app stores, desktop clients require a custom solution for downloading and updating. Discord provides various APIs for downloading clients, their native modules, and keeping everything up-to-date. Visit the downloads page to learn more about the clients currently offered.

Distribution Base URLs

These URLs, provided for convenience, provide access to all client downloads (and redirect access to CDN-hosted ones), but are NOT used for the API requests below. For those, see the API Base URL.

https://dl.discordapp.net/
https://dl-ptb.discordapp.net/
https://dl-canary.discordapp.net/
https://dl-development.discordapp.net/

Clients

Web

Discord offers a web client that can be used in a browser. This same web client is also used in the desktop client in tandem with native modules to provide a richer experience.

Web Release Channel
ValueURLDescription
stablehttps://discord.com/appStable build
ptb 1https://ptb.discord.com/appPublic test build
canary 1https://canary.discord.com/appAlpha test build

1 See the Help Center article for more information on Discord testing clients.

Desktop

Discord offers Electron desktop clients for Windows, macOS, and Linux.

Windows

The Windows application uses a separate install and update stack from the other desktop platforms. See Get Latest Distributed Application Installer for more information on getting the latest application installer, and Get Latest Distributed Application Manifest for more information on getting the latest application updates.

macOS

See Get Latest Application Installer for more information on getting the latest application installer, and Get Application Updates for more information on getting the latest application updates.

Linux

See Get Latest Application Installer for more information on getting the latest application installer, and Get Application Updates for more information on getting the latest application updates. Note that the Linux application is not auto-updated.

Desktop Release Channel

Desktop release channels follow web release channels when rendering the client. However, the application host and native modules are updated separately from the client itself.

ValueDescription
stableStable build
ptb 1Public test build
canary 1Alpha test build
development 2Development build

1 See the Help Center article for more information on Discord testing clients.

2 The development build follows the canary web release channel and is not recommended for use. It may be unstable or broken at any time.

Desktop Platform Type
ValueDescription
winWindows
osxmacOS
linuxLinux
Desktop Architecture Type
ValueDescription
x8632-bit build
x6464-bit build
Desktop Executable Format
ValueDescription
debDebian software package file
tar.gzCompressed archive file

Mobile

Discord maintains stable and beta mobile clients for both Android and iOS.

Android Release Channel

1 See the Help Center article for more information on Discord testing clients.

iOS Release Channel
ValueURLDescription
stablehttps://apps.apple.com/us/app/discord-talk-chat-hang-out/id985746746Stable application build
beta 1https://testflight.apple.com/join/gdE4pRzIBeta application build
alpha 1<private>Internal application builds

1 See the Help Center article for more information on Discord testing clients.

Endpoints

Get Latest Application Installer

GET/download/{release_channel}

Redirects to the latest application installer for the provided release channel and selected platform.

Query String Params
NameTypeDescription
platformstringThe platform to get the installer for
format? 1stringThe executable format to get the installer for (default deb)

1 Only applicable to the Linux platform.

Get Application Updates

GET/updates/{release_channel}

Returns information about the latest application host update for the provided release channel and selected platform.

Query String Params
NameTypeDescription
platform?stringThe platform to get update information for (default osx)
Response Body
NameTypeDescription
namestringThe latest host version
pub_dateISO8601 timestampWhen the update was published
url? 1stringThe URL to the corresponding installer
notes? 1stringAny extra notes for the update

1 Only provided if auto updates are available for the selected platform.

Example Response
{
"name": "0.0.75",
"pub_date": "2023-07-05T17:16:10",
"url": "https://dl-ptb.discordapp.net/apps/osx/0.0.75/DiscordPTB.zip",
"notes": ""
}

Get Native Module Versions

GET/modules/{release_channel}/versions.json

Returns a mapping of module names to integer versions representing the found native module versions for the provided release channel and selected platform.

Query String Params
NameTypeDescription
platform?stringThe platform to get update information for (default osx)
host_version?stringThe host version to get update information for (default 0)
Example Response
{
"discord_cloudsync": 1,
"discord_desktop_core": 1,
"discord_dispatch": 1,
"discord_erlpack": 1,
"discord_game_utils": 1,
"discord_krisp": 1,
"discord_modules": 1,
"discord_rpc": 1,
"discord_spellcheck": 1,
"discord_utils": 1,
"discord_voice": 1
}

Get Native Module

GET/modules/{release_channel}/{module_name}/{module_version}

Redirects to a ZIP archive of the native module for the provided release channel, module name, and module version, if found.

Query String Params
NameTypeDescription
platform?stringThe platform to get update information for (default osx)
host_version?stringThe host version to get update information for (default 0)

Get Latest Distributed Application Installer

GET/downloads/distributions/app/installers/latest

Redirects to the latest application installer for the selected platform.

Query String Params
NameTypeDescription
channelstringThe release channel to get the installer for
platformstringThe platform to get the installer for
archstringThe architecture to get the installer for

Get Latest Distributed Application Manifest

GET/updates/distributions/app/manifests/latest

Returns information about the latest application updates for the selected platform.

Query String Params
NameTypeDescription
install_id?stringA client-generated UUID unique to the current installation
channelstringThe release channel to get the manifest for
platformstringThe platform to get the manifest for
archstringThe architecture to get the manifest for
platform_version?stringThe version of the client's operating system (e.g. 10.0.19045 on Windows)
Response Body
NameTypeDescription
fullmanifest package version objectThe full host package for the latest host version
deltasarray[manifest package version object]The delta host packages for previous host versions
modulesmap[string, manifest package object]The available native modules to download/update
required_modulesarray[string]The names of the native modules that the client requires
metadata_version? 1?integerThe version of the manifest metadata

1 This field is only provided via the above rehosted updates endpoint, and requires install_id and platform_version to be set and supported.

Manifest Package Structure
NameTypeDescription
fullmanifest package version objectThe full package for the latest host version
deltasarray[manifest package version object]The delta package for previous host versions
Manifest Package Version Structure
NameTypeDescription
host_versionarray[integer, integer, integer]The host version that the package targets
module_version?integerThe version of the module included in the package
package_sha256stringThe SHA256 hash of the package file
urlstringThe download URL to the Brotli-compressed package tarball
Example Response
{
"modules": {
"discord_overlay2": {
"full": {
"host_version": [1, 0, 9015],
"module_version": 1,
"package_sha256": "baa1196292f888c8a90413ea19201849c7a8b7be1a52f2d6b9a185e04ab1b49a",
"url": "https://dl.discordapp.net/distro/app/stable/win/x86/1.0.9015/discord_overlay2/1/full.distro"
},
"deltas": [
{
"host_version": [1, 0, 9014],
"module_version": 1,
"package_sha256": "7634e584b90bb0315fff0b69dd19712c1acbb0687657548e698e5348dc59c824",
"url": "https://dl.discordapp.net/distro/app/stable/win/x86/1.0.9015/discord_overlay2/1/from/1.0.9014/1"
},
{
"host_version": [1, 0, 9013],
"module_version": 2,
"package_sha256": "60b2876b144d918cf8f1ba61110162782c9dc52def8d64b97222cd607989c211",
"url": "https://dl.discordapp.net/distro/app/stable/win/x86/1.0.9015/discord_overlay2/1/from/1.0.9013/2"
}
]
}
},
"full": {
"host_version": [1, 0, 9015],
"package_sha256": "bde31e984e70465fcc9dc01241e3fd8bbb3f84cb49567b8b9930a6a7bc193b7b",
"url": "https://dl.discordapp.net/distro/app/stable/win/x86/1.0.9015/full.distro"
},
"deltas": [
{
"host_version": [1, 0, 9014],
"package_sha256": "48b8f905c7a40ca588e02db4b2903926bc62dbc9e3c9f38f8548882724fac6fa",
"url": "https://dl.discordapp.net/distro/app/stable/win/x86/1.0.9015/from/1.0.9014"
},
{
"host_version": [1, 0, 9013],
"package_sha256": "357914897b025320fe139e3ddb9bc8b81c8d4747947026b83d0627f282d35aff",
"url": "https://dl.discordapp.net/distro/app/stable/win/x86/1.0.9015/from/1.0.9013"
}
],
"required_modules": [
"discord_desktop_core",
"discord_erlpack",
"discord_spellcheck",
"discord_utils",
"discord_voice"
]
}