Question regarding terms of use

Hi Materials Project team,

I have a few questions:

First, I am planning on creating a package implementing pymatgen and associated tools to pull and process data from the Materials Project. I know that it is against the TOS to pull “large” amounts of data from the MP at once, but I am not sure how much that is. My question, I suppose, is: whose responsibility is it if someone violates this policy? I’m sure that my program could be abused. Should I be concerned about that? I’m guessing there’s no issue with open sourcing such a project either?

Second (assuming the above is alright), is it ok with the MP team for me to host about 20-30 crystal structures (e.g. mp-390) on an open sourced Github project for the purposes of unit testing? Appropriate credit will be given, of course!

Thank you very much for your time!


  • mc

Thanks for your patience, I wanted to double-check my answer on this with management.

There shouldn’t be any issue with your package’s responsibility for abuse of the platform as long as your users are required to configure the software with their own API key (see matminer for example), as opposed to using one your software provides. Similarly, crystal structures and data generally can be reused with appropriate attribution, which you’ve indicated you would ensure is present.

1 Like

Hi Joseph,

No worries at all. Your reply was pretty fast actually!

Regarding the API key, that won’t be a problem. I’m going to have to figure out a smart way to test the functions that pull data since I know the API key is not to be shared. My software will not provide any API key.

Good to know regarding the data/crystal structures.

Thank you very much!



Most continuous integration testing plaforms such as CircleCI and TravisCI allow you to set secrets in your account to be passed as environment variables to your testing code. This is how you can test using an API key.


Hi Donny,

I had no idea that was possible. Thank you for that info. I’ll definitely look into it!