A. Background:

Under Mobeus Zoom's suggestion here: List of records for youngest superGMs since 1950? (or 1970 or whenever FIDE started rating people. or basically after 2700s after Fischer) (this is about reaching specific ratings though rather than attaining a specific title) re variations for List of youngest grandmasters since 1950, I am now asking how to go about answering these types of questions:

List of records for youngest international masters since 1950?

List of records for youngest female international masters since 1950?

List of records for youngest WIMs (woman international masters) since 1950?

B. Questions:

  1. From what site can I download some kind of spreadsheet with this kind of data?

player X - date of birth - date IM title obtained (if any) - (among other such data)

  • Update 1: Given so far: https://ratings.fide.com/download_lists.phtml

  • i'm able to extract all females, all WFM, female IM, WGM, female CM, etc but where is date title obtained please? so far i think all i can do is pick who is youngest currently but not youngest in records

  • i don't think it has everything i was looking for. for the title part i think it shows their highest title soooo a female/male GM could've had the record for youngest female/IM but i wouldn't even know that this female/GM got IM before GM and even if e did, i wouldn't necessarily know when the female/GM became an IM.

  • Update 2: Damn it Mobeus Zoom https://ratings.fide.com/download_lists.phtml is different from https://ratings.fide.com/download.phtml ! lol

  1. Then is the ff the right procedure/algorithm assuming I obtain such data?

A - Let column 4 be the subtraction of column 2 from column 3.

B - Sort by column 3.

C - Let column 5 check if corresponding entry in column 4 is minimum among all the column 4 entries up to it

  • 1
    Comments are not for extended discussion; this conversation has been moved to chat.
    – Brian Towers
    Commented Sep 19, 2021 at 17:05
  • 2
    I'm in favour of keeping this post open (it's a teach a man to fish post); it's best to leave the other ones for Roomba and not try to 'improve' them anymore. The Community has made clear they don't like that kind of questions and reacts badly on superfluous bumps and meta-information in questions. If you disagree, it's best to take it to Chess Meta.
    – Glorfindel
    Commented Oct 16, 2021 at 6:33
  • ok fine Roomba it is. thank you for both your honesty and empathy @Glorfindel
    – BCLC
    Commented Oct 16, 2021 at 8:28
  • 1
    @Glorfindel i don't see why i have to learn to fish though. i'd think FIDE or someone else would be interested in these kind of statistics. i was actually thinking initially that all these statistics were already readily available. after all they were even saying about how alekhine nouri was youngest FM, Abhimanyu Mishra was youngest IM and then youngest GM, Wei Yi was youngest superGM, etc. so surely they must've known the youngest before them and so on. i of course expect to have to learn to fish if i wanted to be specific like youngest female Philippine-German WIM. am i wrong?
    – BCLC
    Commented Oct 16, 2021 at 8:30

3 Answers 3


I am the Reddit user, 'AnujDahiya24' mentioned by the user, Mobeus Zoom, in his/her answer above. I wanted to add onto it a bit.

  1. Emailing FIDE is indeed useless since they will not respond back: they didn't respond back to me when I sent them a couple of emails years ago.

  2. FIDE/Chessbase aren't data savvy surprisingly when it comes to metadata statistics about playerbase demographics, records, achievements, etc. Much of the milestones & information you're looking for has be to done by random people who take on the challenge. Hopefully the data & research is made open sourced.

  3. I will eventually republish the deleted GitHub repository containing all of the data & scripts prior to 2020(?). There isn't timetable on this as I have to adjust a few things before republishing it. Please check back in a month or two as this is something in my backlog, but I just don't have the time to do it currently. When I republish the repository though, feel free to ask the OP on the GitHub Issue tab and I will answer it there.

My apologies about the inconvenience here.

Edit: I have made the repository public here: https://github.com/anujdahiya24/FIDE-Data

  • 1
    Welcome to Chess.SE, and looking forward to it! Commented Oct 29, 2021 at 0:15
  • 'Please check back in a month or two as this is something in my backlog, but I just don't have the time to do it currently.' :)
    – BCLC
    Commented Jan 23, 2022 at 10:49
  • 1
    @BCLC github.com/anujdahiya24/FIDE-Data Commented Jan 29, 2022 at 4:17
  • 1
    @MobeusZoom see link above too Commented Jan 29, 2022 at 4:31
  • 1
    @AnujDahiya Great work! Commented Jan 29, 2022 at 19:08

A rather half-fledged answer but here goes:

Check out https://ratings.fide.com/download.phtml. Download the data files for each month from the archive and parse them into a single database or dataframe. If interested in Rapid and Blitz ratings, these have to be downloaded separately from Standard (= classical). Each month's data contains , <player_ID>, <D.o.b.>, , . It should be clear that refers to the player's highest title achieved by that month. e.g. in Jan 2003 Carlsen's is 'f' = FM because his highest title by Jan 2003 was FM; but check Jan 2005 and his is 'g' = GM because by Jan 2005 he had achieved GM title. Hence, if you parse each month from Jan 2003 to Jan 2005, you can easily query for the first month in which Carlsen was an IM ('the month he received IM title') and the first in which he was a GM ('the month he received GM title').

If you put in the work to parse the separate data files into a single dataframe/database, open-source it and if necessary you can then ask what queries to use for the results you want. Suggesting these queries would be unreasonable before the data source has been prepared.

Your results will be limited in precision of course by the frequency with which the data was published and in scope by the oldest ratings lists made available (2001+). There may be someone with a more complete database for this sort of thing (e.g., try asking at 2700chess.com).


Further data sources I found:

https://www.mark-weeks.com/chess/ratings/ - the annual FIDE ratings lists 1975 to 2000 including titles

Try reaching out to:

https://www.reddit.com/r/chess/comments/em03o4/fide_chess_data/ Reddit user 'AnujDahiya24' seemed to compile all available data 2 years ago but his Github repository seems to be deleted

https://core.ac.uk/download/pdf/205518195.pdf the writer of this paper prepared a Microsoft Access database with the available FIDE data to 2000, but the database is no longer available

2700chess - the maintainer of this website presumably has compiled all historical FIDE data into his database.


Titles are pretty tough but rating is less tough. Just go here


You can see the month and year a certain player got a certain rating. Then subtract from their date of birth to see the age at which the rating was obtained. (A possible problem here is the if the month they obtain a certain rating is the same as their month of birth. But...the ratings come out every 1st of the month?)

For instance you can verify records for youngest to reach 2800+ (kasparov, kramnik, carlsen, firouzja) or youngest female to reach 2600+ (polgar, hou).

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.