An Application Programming Interface (API) for a SNOMED CT enabled terminology server can be used to request the execution of SNOMED CT searches and queries. Using a terminology server API, record management systems are able to effectively access terminology services without re-implementing their functionality in every system.

A number of commercial terminology servers offer proprietary APIs that enable SNOMED CT search and query, including Dataline's SnAPI solution and B2i's Snow Owl Terminology Server (case study 2.5). An example of a script which uses the B2i's Snow Owl API to execute a SNOMED CT query is shown below:

import com.b2international.snowowl.scripting.services.EscgEvaluatorService

def escgQuery = """ 

<<404684003|Clinical finding| :

246454002|Occurrence| = 255399007|Congenital|,

370135005|Pathological process|=<<263680009|Autoimmune|

 def escgEvaluator = new EscgEvaluatorService()  //initialize a service for evaluating a query

 def concepts = escgEvaluator.evaluate(escgQuery)  //evaluate the query

 concepts.each { println "ID: ${it.id}, ${it.label}" }  //prints the result to the console

Standardized APIs for terminology services are also available. In particular, HL7's Common Terminology Services 2 (CTS 2) provides a standardized API that supports access to terminology servers that may contain a variety of code systems, including SNOMED CT.