Helen Frankenthaler Foundation

Pure API Raw Materials Wholesale

Materials Project API - Swagger UI

Materials Project API - Swagger UI

Materials Project API 0.86.4.dev10+g324115fa4 OAS 3.1

The Materials Project API allows anyone to have direct access to current, up-to-date information from the Materials Project database in a structured way.

This allows for analysis, development of automated tools, machine learning, downloading personal copies of the Materials Project database and more on a large scale.

The API is offered with the hopes of making Materials Project data more useful to you. We want you to use our data! As such, the API is offered free-of-charge and we support several tools to help you get started.

API Key

To make any request to the Materials Project API, you must use an API key. Your API key is generated for you automatically upon registering with the Materials Project website and is synced with the email you used to register.

Remember to keep your API key safe and to not share it with anyone you do not trust.

If you intend heavy API usage, you can give us a heads up by sending a message. With the exception of retrieving charge densities, this is not required, but may help us if we see unusual load on our servers.

Accessing Data

To use the API, you have three options:

  • You can use our first-party supported Python client. This is the recommend route. The mp-api package containing the client is pip installable. The MPRester client can be accessed by importing from it. This will ultimately replace the legacy MPRester available in pymatgen.
  • You can demo the API interactively on this documentation page. Click the Authorize button, paste in your API key, and then click the appropriate section to try out a query.
  • Since this is a REST API, and offers a fully-compliant OpenAPI specification, it's possible to use the API with many libraries in many languages and environments, including JavaScript, MATLAB, Mathematica, etc. However, we do not offer first-party support for explaining how to do this, and you will have to follow the specification yourself.

Authorize

Materials Summary

Route providing a large amount of amalgamated data for a material. This is constructed by combining subsets of data from many of the other API endpoints. The summary endpoint is very useful for performing queries for materials over a large property space. Note that every unique material within the Materials Project should have a set of summary data. See the SummaryDoc schema for a full list of fields returned by this route.

Materials

Route for core information associated with a given material in the Materials Project database. The unique identifier for a material is its material_id (e.g. mp-149). Core data in this context refers to the crystal structure, information associated with it such as the density and chemical formula, and the associated calculations which are identified with unique task_id values. It does not contain any materials properties such as the formation energy or band gap, please consult other property-specific endpoints for this information. See the MaterialsDoc schema for a full list of fields returned by this route.

Materials Tasks

Route for core information associated with a given calculation in the Materials Project database. Multiple calculations can ultimately be associated with a unique material, and are the source of its reported properties. The unique identifier for a calculation is its task_id. Note that the material_id chosen for a given material is sourced from one of the task_id values associated with it. Core data in this context refers to calculation quantities such as parsed input and output data (e.g. VASP input flags, atomic forces, structures) and runtime statistics. See the TaskDoc schema for a full list of fields returned by this route.

Materials Thermo

Route providing computed thermodynamic data for a material such as formation energy and energy above hull. Corrected energy values are also available that employ the schemes discussed by Jain et al. and Wang et al. See the ThermoDoc schema for a full list of fields returned by this route.

Materials Dielectric

Route providing computed dielectric data for a material following the methodology discussed by Petousis et al. Note that dielectric data has not been calculated for all materials in the Materials Project database. See the DielectricDoc schema for a full list of fields returned by this route.

Materials Magnetism

Route providing computed magnetic ordering related data for a material following the methodology discussed by Horton et al. Note that magnetic data has not been calculated for all materials in the Materials Project database. See the MagnetismDoc schema for a full list of fields returned by this route.

Materials Piezoelectric

Route providing computed piezoelectric data for a material following the methodology discussed by de Jong et al. Note that piezoelectric data has not been calculated for all materials in the Materials Project database. See the PiezoDoc schema for a full list of fields returned by this route.

Materials Phonon

Under construction Route providing computed phonon data for a material following the methodology discussed by Petretto et al. Note that phonon data has not been calculated for all materials in the Materials Project database. See the PhononBSDOSDoc schema for a full list of fields returned by this route.

Materials EOS

Route providing computed equations of state data for a material following the methodology discussed by Latimer et al. Note that equations of state data has not been calculated for all materials in the Materials Project database. See the EOSDoc schema for a full list of fields returned by this route.

Materials Similarity

Route providing a computed similarity metric between materials following the methodology discussed by Zimmerman et al. in 10.3389/fmats.2017.00034 and 10.1039/C9RA07755C. Note that similarity data has not been calculated for all materials in the Materials Project database. See the SimilarityDoc schema for a full list of fields returned by this route.

Materials XAS

Route providing computed x-ray absorption spectroscopy data for a material following the methodology discussed by Mathew et al. and Chen et al. Note that x-ray absorption spectroscopy data has not been calculated for all materials in the Materials Project database. See the XASDoc schema for a full list of fields returned by this route.

Materials Grain Boundaries

Route providing computed grain boundary data for a material following the methodology discussed by Hui et al. Note that grain boundary data has not been calculated for all materials in the Materials Project database. See the GrainBoundaryDoc schema for a full list of fields returned by this route.

Materials Electronic Structure

Routes providing computed electronic structure related data for a material such as band gap and fermi level. Python objects for line-mode band structures, density of states, and fermi surfaces are also available. This data was obtained following the methodology discussed by Munro et al. and Ganose et al. Note that full band structure, density of states, and fermi surface data has not been calculated for all materials in the Materials Project database. See the ElectronicStructureDoc and FermiDoc schema for a full list of fields returned by the associated routes.

Materials Elasticity

Route providing computed elasticity data for a material following the methodology discussed by de Jong et al. Note that elasticity data has not been calculated for all materials in the Materials Project database. See the ElasticityDoc schema for a full list of fields returned by this route.

Materials Substrates

Route providing computed suggested substrate data for a material following the methodology discussed by Ding et al. Note that substrate data has not been calculated for all materials in the Materials Project database. See the SubstratesDoc schema for a full list