{"export_date":"2026-05-06T00:00:21Z","export_version":"v2.0.2","sql_url":"https://www.worldcubeassociation.org/export/results/v2/sql","sql_filesize_bytes":368668546,"tsv_url":"https://www.worldcubeassociation.org/export/results/v2/tsv","tsv_filesize_bytes":356567227,"developer_url":"https://assets.worldcubeassociation.org/export/developer/wca-developer-database-dump.zip","readme":"# World Cube Association – Results Database Export\n\n- Encoding: UTF-8\n- Date: May  6, 2026\n- Export Format Version: 2.0.2\n- Contact: WCA Results Team (https://www.worldcubeassociation.org/contact?contactRecipient=wrt)\n- Website: https://www.worldcubeassociation.org/export/results\n\nOpt in to the WCA Software Mailing List via [your profile preferences](https://www.worldcubeassociation.org/profile/edit?section=preferences) if you would like to receive email notifications about version changes.\n\n## V2.0.0 Changelog\n\n- Solved snake_case/CamelCase inconsistency by changing all table names to snake_case (this matches the WCA codebase's convention)\n- In addition to the above change in naming convention, the following column names have been changed:\n  - `competitions.wcaDelegate` -> `competitions.delegates`\n  - `competitions.organiser` -> `competitions.organizers`\n  - `competitions.latitude` -> `competitions.latitude_microdegrees`\n  - `competitions.longitude` -> `competitions.longitude_microdegrees`\n  - `persons.id` -> `persons.wca_id`\n  - `persons.subid` -> `persons.sub_id`\n  - `scrambles.scramble_id` -> `scrambles.id`\n  - ``\n- The following columns have been removed:\n  - `continents.latitude`\n  - `continents.longitude`\n  - `continents.zoom`\n  - `eligible_country_iso2s_for_championship.id`\n  - `events.cellName`\n  - `results.value{1-5}`\n- The following columns have been added:\n  - `results.id`\n\n- Changes to recording of attempts\n  - Added `result_attempts` SQL table / TSV export file, and removed `value1-5` in `results` table\n  - See [results and result_attempts](#results-and-resultattempts) for more information on how this data interacts\n\n## V2.0.1 Changelog\n- Fixed missing `results.id` and `result_attempts.id` keys\n- Fixed SQL error rendering in `WCA_exports_scrambles.tsv`\n\n## V2.0.2 Changelog\n- Removed the following fields from `result_attempts` to reduce filesize:\n  - `id`\n  - `created_at`\n  - `updated_at`\n- Changed `result_attempts.attempt_number` to an unsigned tinyint, also to reduce filesize\n\n## Description\n\nThis database export contains public information about all official WCA\ncompetitions, WCA members, and WCA competition results.\n\n## Goal\n\nThe goal of this database export is to provide members of the speedcubing\ncommunity a practical way to perform analysis on competition information for\nstatistical and personal purposes.\n\n## Allowed Use\n\nThe information in this file may be re-published, in whole or in part, as long\nas users are clearly notified of the following:\n\n> This information is based on competition results owned and maintained by the\n> World Cube Assocation, published at https://worldcubeassociation.org/results\n> as of May  6, 2026.\n\n## Acknowledgements\n\nThe WCA database was originally created and maintained by:\n\n- Clément Gallet, France\n- Stefan Pochmann, Germany\n- Josef Jelinek, Czech Republic\n- Ron van Bruchem, Netherlands\n\nThe database contents are now maintained by the WCA Results Team, and the\nsoftware for the database is maintained by the WCA Software Team:\nhttps://www.worldcubeassociation.org/about\n\n## Date and Format Version\n\nThe export contains a `metadata.json` file, with the following fields:\n\n| Field                   | Sample Value              |\n|-------------------------|---------------------------|\n| `export_date`           | `\"2026-05-06T15:40:57+00:00\"` |\n| `export_format_version` | `\"2.0.2\"` |\n\nIf you regularly process this export, we recommend that you check the\n`export_format_version` value in your program and and review your code if the\nmajor part of the version (the part before the first `.`) changes.\n\nIf you are processing the exported data using an automated system, we recommend\nusing a cron job to check the API endpoint at:\nhttps://www.worldcubeassociation.org/api/v0/export/public\nYou can use the `export_date` to detect if there is a new export, and the\n`sql_url` and `tsv_url` will contain the URLs for the corresponding downloads.\n\n## Format (version 2.0.2)\n\nThe database export consists of these tables:\n\n| Table                                   | Contents                                           |\n|-----------------------------------------|----------------------------------------------------|\n| persons                                 | WCA competitors                                    |\n| competitions                            | WCA competitions                                   |\n| events                                  | WCA events (3x3x3 Cube, Megaminx, etc)             |\n| results                                 | WCA results per competition+event+round+person     |\n| result_attempts                         | Individual attempts which make up a given `result` |\n| ranks_single                            | Best single result per competitor+event and ranks  |\n| ranks_average                           | Best average result per competitor+event and ranks |\n| round_types                             | The round types (first, final, etc)                |\n| formats                                 | The round formats (best of 3, average of 5, etc)   |\n| countries                               | Countries                                          |\n| continents                              | Continents                                         |\n| scrambles                               | Scrambles                                          |\n| championships                           | Championship competitions                          |\n| eligible_country_iso2s_for_championship | See explanation below                              |\n\nMost of the tables should be self-explanatory, but here are a few specific details:\n\n### countries\n\n`countries` stores include those from the Wikipedia list of countries at\nhttp://en.wikipedia.org/wiki/List_of_countries, and may include some countries\nthat no longer exist. The ISO2 column should reflect ISO 3166-1 alpha-2\ncountry codes, for countries that have them. Custom codes may be used in some\ncircumstances.\n\n### scrambles\n\n`scrambles` stores all scrambles.\n\nFor `333mbf`, an attempt is comprised of multiple newline-separated scrambles.\nHowever, newlines can cause compatibility issues with TSV parsers. Therefore, in\nthe TSV version of the data we replace each newline in a `333mbf` scramble with\nthe `|` character.\n\n### eligible_country_iso2s_for_championship\n\n`eligible_country_iso2s_for_championship` stores information about which\ncitizenships are eligible to win special cross-country championship types.\n\nFor example, `greater_china` is a special championship type which contains 4\n`iso2` values: `CN`, `HK`, `MO` and `TW`. This means that any competitor from\nChina, Hong Kong, Macau, or Taiwan is eligible to win a competition with\nchampionship type `greater_china`.\n\n### results and result_attempts\n\nPlease see https://www.worldcubeassociation.org/regulations/#article-9-events\nfor information about how results are measured.\n\nValues of the `results` and `result_attempts` tables can be interpreted as follows:\n\n- A `result` entry indicates the overall result achieved by a competitor in a given `round`.\n- `result.best` indicates the best single solve in a round, `result.average` indicates the average\n  achieved in the round.\n- The individual attempt/solve values which make up a result are in the `result_attempts` table,\n  and can be looked up using a given `result`'s `id` in the `result_attempt.result_id` column\n- The value `-1` means DNF (Did Not Finish).\n- The value `-2` means DNS (Did Not Start).\n- The value `0` means \"no result\". For example a result in a `best-of-3` round\n  has a value of `0` for the `average` field.\n- Positive values depend on the event; see the column \"format\" in Events.\n\n  - Most events have the format \"time\", where the value represents centiseconds.\n    For example, 8653 means 1 minute and 26.53 seconds.\n  - The format \"number\" means the value is a raw number, currently only used by\n    \"fewest moves\" for number of moves.\n    - Fewest moves averages are stored as 100 times the average, rounded.\n  - The format \"multi\" is for old and new multi-blind, encoding the time as well\n    as the number of cubes attempted and solved. This is a decimal value,\n    which can be interpreted (\"decoded\") as follows:\n\n        old: 1SSAATTTTT\n             solved        = 99 - SS\n             attempted     = AA\n             timeInSeconds = TTTTT (99999 means unknown)\n        new: 0DDTTTTTMM\n             difference    = 99 - DD\n             timeInSeconds = TTTTT (99999 means unknown)\n             missed        = MM\n             solved        = difference + missed\n             attempted     = solved + missed\n\n    In order to encode data, use the following procedure:\n\n             solved        = # cubes solved\n             attempted     = # cubes attempted\n             missed        = # cubes missed = attempted - solved\n             DD            = 99 - (solved - missed)\n             TTTTT         = solve time in seconds\n             MM            = missed\n\n    Note that this is designed so that a smaller decimal value means a better\n    result. This format does not support more than 99 attempted cubes, or times\n    greater than 99999 seconds (about 27.7 hours).\n"}