LOINC FHIR Terminology Server
Regenstrief Institute · Health
LOINC (Logical Observation Identifiers Names and Codes) FHIR R4 terminology server. Look up lab test codes, clinical document codes, and survey instruments. LOINC is the universal standard for lab orders and results in HL7/FHIR exchange.
Authentication
Sample Requests
Look up a LOINC code to get its full display name and properties
Hover any highlighted part to learn what it does
| Authorization | Basic {base64_user:pass} |
curl -X GET "https://fhir.loinc.org?code=2093-3&system=http%3A%2F%2Floinc.org&_format=json" \ -H "Authorization: Basic YOUR_BASE64_CREDENTIALS"
import requests
params = {
"code": "2093-3",
"system": "http://loinc.org",
"_format": "json"
}
headers = {
"Authorization": "Basic YOUR_BASE64_CREDENTIALS"
}
response = requests.get(
"https://fhir.loinc.org",
params=params,
headers=headers,
)
print(response.json())const url = new URL('https://fhir.loinc.org');
url.searchParams.set('code', '2093-3');
url.searchParams.set('system', 'http://loinc.org');
url.searchParams.set('_format', 'json');
const response = await fetch(url, {
headers: {
'Authorization': 'Basic YOUR_BASE64_CREDENTIALS'
},
});
const data = await response.json();
console.log(data);package main
import (
"fmt"
"io"
"net/http"
"net/url"
)
func main() {
baseURL, _ := url.Parse("https://fhir.loinc.org")
q := baseURL.Query()
q.Set("code", "2093-3")
q.Set("system", "http://loinc.org")
q.Set("_format", "json")
baseURL.RawQuery = q.Encode()
targetURL := baseURL.String()
req, _ := http.NewRequest("GET", targetURL, nil)
req.Header.Set("Authorization", "Basic YOUR_BASE64_CREDENTIALS")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}require "net/http"
require "json"
uri = URI("https://fhir.loinc.org")
uri.query = URI.encode_www_form({
"code" => "2093-3",
"system" => "http://loinc.org",
"_format" => "json"
})
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"
req = Net::HTTP::Get.new(uri)
req["Authorization"] = "Basic YOUR_BASE64_CREDENTIALS"
res = http.request(req)
puts JSON.parse(res.body)<?php
$url = "https://fhir.loinc.org?" . http_build_query([
"code" => "2093-3",
"system" => "http://loinc.org",
"_format" => "json"
]);
$opts = ["http" => [
"method" => "GET",
"header" => implode("\r\n", [
"Authorization: Basic YOUR_BASE64_CREDENTIALS"
]),
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));Postman Setup Guide
- Register free at https://loinc.org/register/ to get a LOINC username and password
- In Postman, set Authorization to Basic Auth with your LOINC credentials
- Lookup a code: GET https://fhir.loinc.org/CodeSystem/$lookup?system=http://loinc.org&code=2093-3
- Search LOINC codes: GET https://fhir.loinc.org/CodeSystem/$search?term=cholesterol
- Add _format=json to any request to force JSON response
What can you build with LOINC FHIR Terminology Server?
LOINC FHIR Terminology Server is a Health API. Developers commonly use health APIs for:
- accessing medical reference data and drug information
- building patient-facing health tracking apps
- integrating with EHR and telemedicine platforms
- looking up ICD codes and clinical terminology
- powering wellness and fitness applications
Basic authentication. Send your username and password (Base64-encoded) in the Authorization header. Always use HTTPS — Basic auth over plain HTTP exposes your credentials. LOINC FHIR Terminology Server is free to use, making it a low-risk choice to experiment with.
New to APIs? Read our beginner's guide · Learn about API keys · What is REST?