Skip to content

D3TaLES REST API

The REST API allows authorized users to retrieve data from the D3TaLES database programmatically. You can access REST APIs for both the frontend and backend.

Access the Frontend

https://d3tales.as.uky.edu/restapi/molecules/<query>/<projection>/<limit>/

Parameters

  • Queryis the actual query or search on the database data. It is formatted <property>=<desired value>. For example, you might query: mol_info.source_group=csd.
  • Projection is the filter through which you view the resulting data. By default, the REST API will return all data on the molecule. However, you can filter the results with a projection <desired property>=1. For example, if you only want the REST API to return the smiles, you might set this projection mol_info.smiles=1.
  • Limit sets the number of molecule objects you want the REST API to return. The default is 20. If you want more, you might want to set the limit limit=200

Notes

  • {} is a placeholder for both queries and projections.
  • & is used to join two queries.
  • =, <, > and == are all valid operators to use in a query.
  • = represents equal to, while == represents exists.
  • These are some properties you may often want: mol_info.source_group, mol_info.smiles, mol_characterization.oxidation_potential, mol_characterization.vertical_ionization_energy, mol_characterization.adiabatic_ionization_energy, species_characterization.ground_state.geometry, species_characterization.cation1.geometry, etc.

Examples

https://d3tales.as.uky.edu/restapi/molecules/mol_info.source_group=csd/ 
https://d3tales.as.uky.edu/restapi/molecules/mol_info.source_group=csd/mol_info.smiles=1/limit=200/ 
https://d3tales.as.uky.edu/restapi/molecules/{}/mol_info.smiles=1/limit=200/ 
https://d3tales.as.uky.edu/restapi/molecules/mol_characterization.oxidation_potential==true/mol_characterization.oxidation_potential=1/limit=200/ 
https://d3tales.as.uky.edu/restapi/molecules/mol_characterization.oxidation_potential.value>1/{}/limit=200/ 
https://d3tales.as.uky.edu/restapi/molecules/mol_info.source_group=csd&mol_characterization.oxidation_potential.value>1/{}/limit=200/ 

Access the Backend

https://d3tales.as.uky.edu/restapi/rawdata/<collection>/<query>/<projection>/<limit>/

Parameters

  • Collection is the type of data you want to search (the mongoDB collection you will be searching). You will likely always want this to be computation (as opposed to experimentation, nlp etc.)
  • Querry is the actual query or search on the database data. It is formatted <property>=<desired value>. For example, you might query mol_id=05XJXO.
  • Projection is the filter through which you view the resulting data. By default, the REST API will return all data on the data file. However, you can filter the results with a projection <desired property>=1. For example, if you only want the REST API to return the HOMO, you might set this projection data.homo=1.
  • Limit sets the number of data file objects you want the REST API to return. The default is 20. If you want more, you might want to set the limit limit=200

Notes

  • {} is a placeholder for both queries and projections.
  • & is used to join two queries.
  • =, <, > and == are all valid operators to use in a query.
  • = represents equal to, while == represents exists.
  • If {} is used, it will obtain all the data from a specific query or projection

Examples

https://d3tales.as.uky.edu/restapi/rawdata/computation/mol_id=05XJXO/{}/limit=200/ 
https://d3tales.as.uky.edu/restapi/rawdata/computation/data.homo==true/data.homo=1/limit=200/
https://d3tales.as.uky.edu/restapi/rawdata/computation/data.homo<-1/{}/limit=200/
https://d3tales.as.uky.edu/restapi/rawdata/computation/data.homo.value<-1&data.lumo.value>1/{}/limit=200/

Data Access Examples

This a Colab notebook contains examples for accessing the data: Open In Colab