Bulk modulus data returned from mp-api missing from webapp

Hi Team, I downloaded bulk modulus data from mp-api using the command below:

with MPRester(API_KEY) as mpr:
    docs = mpr.materials.summary.search(k_vrh=(20000, 4000000), fields=["bulk_modulus", "material_id", "formula_pretty"])
    
# Process the retrieved data (e.g., print or save to a file)
for doc in docs:
    print(f"Material ID: {doc.material_id}, Formula: {doc.formula_pretty}, Bulk Modulus: {doc.bulk_modulus} GPa")

The first line that was printed was mp-3597 (BaRuO3) with 1442373.521 GPa K_VRH.

Material ID: mp-3597, Formula: BaRuO3, Bulk Modulus: {'voigt': 2884558.595, 'reuss': 188.447, 'vrh': 1442373.521} GPa

When I tried to lookup this mp-id’ bulk modulus on the webapp(https://next-gen.materialsproject.org/materials/mp-3597?material_ids=mp-3597), it seems to be missing. In my discussion with @mattmcdermott, he identified that the 'elasticity': False for some entried despite having bulk modulus:

{..., 'has_props': {'materials': True,
  'thermo': True,
  'xas': True,
  'grain_boundaries': False,
  'chemenv': True,
  'electronic_structure': True,
  'absorption': False,
  'bandstructure': True,
  'dos': True,
  'magnetism': True,
  'elasticity': False,
  'dielectric': False,
  'piezoelectric': False,
  'surface_properties': False,
  'oxi_states': True,
  'provenance': True,
  'charge_density': True,
  'eos': False,
  'phonon': False,
  'insertion_electrodes': False,
  'substrates': True},
 'theoretical': False,
 'database_Ids': None,
 'fields_not_requested': ['database_Ids']}}

After delving into the problem some more, we realize there are other mp-ids affected by this, as the webapp had 10,997 entries with bulk modulus whereas api reponse returned 12,921 as of Jul 9, 2025. Let us know if some values were retired or deprecated which are not shown on webapp or it is a data issue?

cc: @Aaron_Kaplan

Hi @r1j1t ,

That elasticity entry was marked as deprecated. Here are the warnings attached to that entry:

warnings: [
    'Elastic tensor has negative eigenvalue(s), indicating that the structure is mechanically unstable.',
    'Elastic tensor has component larger than 1000000.0.',
    'Large modulus. voigt bulk modulus is 2884558.595; larger than 1000.0.',
    'Large modulus. vrh bulk modulus is 1442373.521; larger than 1000.0.',
    'Large modulus. voigt shear modulus is 382316.352; larger than 1000.0.',
    'Large modulus. vrh shear modulus is 191192.497; larger than 1000.0.',
    "Large Young's modulus 549306548204359.0; larger than 1000000000000.0.",
    'Fitting elastic tensor resulted in unphysical modulus',
    'Fitting elastic tensor resulted in unphysical modulus'
  ]

The website doesn’t show data for deprecated entries, but the data can still be retrieved through the api, hence the mismatch. There were a couple of patch data releases addressing some issues around the elasticity data and what was being displayed on the website: v2025.02.12.post, v2025.02.12.post1

You can search “elastic” or “modulus” on the forum for related posts. The discussions there might be good reference if anything is unclear