What's new?

UniChem’s current API and web application is implemented with a framework version that’s not maintained and the cost of updating it surpasses the cost of rebuilding it. In order to improve stability, security, and support the implementation and fast delivery of new features, we have decided to revamp our user-facing systems using the latest version of widely used and maintained frameworks, infrastructure, and the best practices in our software engineering processes.

We have separated the API (backend) to the Web Application systems, which contributes to the system’s overall availability and stability, as well as facilitating features delivery. Both built using popular programming languages and frameworks

Modern API

Our web services are now implementing current REST standards such as JSON payloads for the request and response, allowing a more intuitive experience for the users. The way the services are called and its response has been greatly simplified but retaining the same functionality.

To improve usability we provide a live and interactive documentation where users can explore the functionalities by reading and directly trying them.

In-depth documentation and information can be found here.

Modern Web Interface

Built using the latest version of a very popular frontend framework and widely used libraries which allow us to provide enhanced user experience and a more pleasant user interface, while at the same time providing better accessibility features.

To learn more about the exciting new and upcoming features as well as how to use it click here.

Sources for an specific compound can be found using the traditional InChI, InChI Key, or its ID on an specific source database, additional to that users can now search by drawing their molecule on the sketcher

In addition to the InChI Key, users can search using InChI, an UniChEM ID or drawing their molecule on the sketcher.

As part of the web services simplification we change the way the endpoint is used, by moving the information requested to a JSON payload.

Here is an example of how it works on the current version:

curl --request GET \
  --url https://www.ebi.ac.uk/unichem/legacy/rest/key_search/DAAFJZUNCOXSKD-UHFFFAOYSA-N/0/0/4

And this is an example for the same search on the new UniChEM

curl --request POST \
  --url https://www.ebi.ac.uk/unichem/api/v1/connectivity \
  --header 'Content-Type: application/json' \
  --data '{
	"type": "inchi",
	"compound": "InChI=1S/C7H8N4O2.C2H7NO/c1-10-5-4(8-3-9-5)6(12)11(2)7(10)13;3-1-2-4/h3H,1-2H3,(H,8,9);4H,1-3H2",
	"searchComponents": true
}'

Backwards compatibility

We have identified which services are used the most and have re implemented them in order to offer backwards compatibility and ease the transition between the current and new system.

We do encourage users to switch to the new endpoints as they are implemented using the latest standards and best practices.

More information about our legacy endpoints here.

Last updated