The results file
Every bracket hosted on Smashy has a public results file: its players, seeds, placements and every set. It is written in the Open Bracket Format (version 1.0), a shared JSON format for bracket data, so a ranking site or any other tool can read results straight from Smashy.
The basics
- Where it isAt the event's address with /results.json on the end. Finished events link to it, and the event page names it in its head as an alternate in JSON.
- When it existsFrom the moment the bracket starts. While the bracket runs it shows what is known so far; placements appear once it is finished. Before that, and for canceled events, the address answers 404.
- Who can read itAnyone, from any site, without an account or a key. It allows requests from every origin. It holds only what a signed-out visitor sees on the bracket page.
- How fresh it isIt may be up to about a minute old once a bracket is finished, and about 15 seconds old while one runs. Please fetch it when you need it, not on a tight loop.
/host/<event id>/results.json
What it looks like
Shortened. A real file lists every entrant and every set.
{
"version": "v1.0",
"event": {
"name": "Tuesday Night Melee 12",
"date": "2026-11-10",
"gameName": "Super Smash Bros. Melee",
"tournamentStructure": "double-elim",
"numberEntrants": 23,
"originURL": "https://…/host/<event id>",
"other": { "source": "Smashy", "status": "completed" }
},
"entrants": [
{ "entrantID": "…", "entrantTag": "Bjorn", "initialSeed": 1, "finalPlacement": 1,
"other": { "smashyHandle": "bjornfox" } }
],
"sets": [
{ "setID": "…", "entrant1ID": "…", "entrant2ID": "…", "status": "completed",
"entrant1Result": "win", "entrant2Result": "lose",
"entrant1Score": 2, "entrant2Score": 1,
"setFormat": "bestof3", "roundID": "Winners Semi-Final" }
]
}Good to know when reading it
- Players with a Smashy account keep the same entrantID at every event, so you can follow one person across brackets. Their handle is in "other".
- A walk-in (added by the TO by name, no account) is marked "walkIn" in "other". Their id is only good for that one event; match them by tag.
- A player whose profile is hidden from signed-out visitors has an id like "hidden-1", no tag and "nameHidden" in "other". Their sets still count.
- Byes are not sets, so they are left out. So is a grand final reset that was not played.
- A DQ is the result "dq" for that player and "win" for the other, with no scores.
- For elimination brackets each set names the next and the previous set of both players, so the bracket can be rebuilt. Round robins have a phase per pool instead.
- Seeds are the ones the bracket was built from. Game-by-game data (stage, who won) is included when players recorded it and it adds up to the set's score.
- Anything specific to Smashy sits under "other", as the format asks. The rest follows the format's official schema exactly.
For ranking sites
Scenes that run their brackets on Smashy still want them counted in their rankings. Today a TO can copy a finished bracket to Challonge for sites that import Challonge links. Reading this file directly is simpler for everyone: one address per event, no copy step, and stable player ids.
If you maintain a ranking tool and something in the file would make it easier to use, the TO who sent you here can pass it on.