The Pokémon Showdown Users & Ladder API exposes player profiles, per-format ladder standings, and site news as straightforward JSON resources. All endpoints are served withDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/smogon/pokemon-showdown-client/llms.txt
Use this file to discover all available pages before exploring further.
Access-Control-Allow-Origin: *, meaning you can call them directly from client-side JavaScript with no server-side proxy. The general pattern throughout the PS website is that appending .json to any URL returns a machine-readable version of the same page — the endpoints documented here follow that convention.
Ladder rankings use three rating systems simultaneously: Elo (displayed
rating), GXE (Glicko X-Act Estimate — percentage chance of winning a
random rated battle), and Glicko-1 (the underlying statistical model
stored as
r ± rd with a decay factor). The rpr/rprd pair shown in the
UI are the Glicko-1 values after recent-play adjustment.User Info (with Ladder Data)
GET https://pokemonshowdown.com/users/{username}.json
Returns the public profile of a registered user, including their ladder standings across every format they have played. This is the same data shown on a user’s profile page.
Path parameters
The player’s Pokémon Showdown username. The server normalises it to a
lowercase ID internally, so capitalisation is ignored.
Response
The response includes basic profile metadata alongside an array of ladder entries (one per format the user has played rated games in).The canonical lowercase user ID (e.g.
"zarel").Display name with original capitalisation (e.g.
"Zarel").An object keyed by format ID, where each value is a ladder entry for that
format. See the LadderEntry fields section below for
the shape of each entry.
Ladder
GET https://pokemonshowdown.com/ladder/{format}.json
Returns the top-500 leaderboard for a specific battle format. The response shape is defined by the LadderData type used inside the client’s panel-ladder.tsx panel.
Path parameters
The format ID to retrieve standings for (e.g.
gen8ou, gen9randombattle,
gen7ubers). Must be an exact, canonical format ID.Optional query parameter
Filter the leaderboard to usernames beginning with this prefix (lowercased to
a user ID). Used by the in-client ladder search feature. When omitted, the
full top-500 list is returned.
Response
The canonical format ID (e.g.
"gen8ou"). Matches the path parameter.Human-readable format name (e.g.
"[Gen 8] OU").Ordered array of ranked players, highest Elo first. Up to 500 entries.
Example JSON response (abbreviated)
News
List all news articles
GET https://pokemonshowdown.com/news.json
Returns an array of news article summaries in reverse-chronological order.
curl
fetch
Response
Numeric article identifier. Use this to fetch the full article body.
Article headline.
Get a single news article
GET https://pokemonshowdown.com/news/{id}.json
Returns the full content of a single news article by ID.
The numeric news article ID (e.g.
270). Obtain valid IDs from the list
endpoint above.Response
The article’s numeric ID.
Article headline.
Full article body, typically HTML-formatted.
Quick-Reference
User Profile
GET /users/{username}.json — profile and all-format ladder stats for a playerFormat Ladder
GET /ladder/{format}.json — top-500 leaderboard with Elo, GXE, and Glicko-1News List
GET /news.json — reverse-chronological index of all news articlesSingle Article
GET /news/{id}.json — full content of one news article by ID