Question from a beginner - check all materials

Dear MP admin,

I would like to collect materials in materials project database.
To do this I try to use the API to check all the materials in the database, but I am very confused by the number of mp-IDs and the number of inorganic databases.
*Inorganic compounds : 83,989 (
*mp-ID : I can’t count the end of this. This is very large. ex) mp-569600

and what is the difference [‘mp-790’, ‘mp-991675’, ‘mp-993585’, ‘mp-994897’] - I think they are same materials but they have different mp-ID.

I wonder how the number of mp-IDs is set (especially the last number of mp-IDs)

Thank you very much for your attention

※ Oh, I just saw the security part of the API.
There is " You agree not to use automated scripts to collect large fractions of the database and disseminate them. You may collect large fractions of the database for analysis and to present processed results with proper attribution"
If I collect this database, I will send the email mentioned in the security. " [email protected]"

Hi Fred,

Any material can be referenced by any of the ids of the computational tasks associated with it. In the case of our stable cubic LuPt3 compound, we have performed a structure optimization task to obtain a relaxed structure, and the task id for this calculation is mp-790.

We customarily use the id of the lowest-energy structure optimization run as the “canonical” id for the material. For this material, the task id for the band structure (line-mode) calculation is mp-994897 (task detail page at When you navigate to, you should see that the ID at the top of the page for the material is in fact mp-790, as that is the canonical ID for the material.

If you obtain an mp-id and use it to refer to a material, that ID will always “resolve” to that material, even if advances in our calculation methods result in a new task ID being assigned as canonical for a material. I hope this helps.

MP team

1 Like