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
Query
is 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 projectionmol_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 limitlimit=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.=
representsequal to
, while==
representsexists
.- 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_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 becomputation
(as opposed toexperimentation
,nlp
etc.)Querry
is the actual query or search on the database data. It is formatted<property>=<desired value>
. For example, you might querymol_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 projectiondata.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 limitlimit=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.=
representsequal to
, while==
representsexists
.- If
{}
is used, it will obtain all the data from a specific query or projection
Examples
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: