Find an API

Search public APIs with auth details & Postman guides

← All APIs

LOINC FHIR Terminology Server

Regenstrief Institute · Health

Health Basic Auth Free & Open Healthcare Life Sciences LOINC Lab Codes Clinical Observations

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

Basic Auth Basic Auth with LOINC username and password. Register free at https://loinc.org/register/

Sample Requests

GET Lookup LOINC code

Look up a LOINC code to get its full display name and properties

https://fhir.loinc.org?code=2093-3&system=http://loinc.org&_format=json

Hover any highlighted part to learn what it does

Headers — extra info sent with the request
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

Get Postman ↗
  1. Register free at https://loinc.org/register/ to get a LOINC username and password
  2. In Postman, set Authorization to Basic Auth with your LOINC credentials
  3. Lookup a code: GET https://fhir.loinc.org/CodeSystem/$lookup?system=http://loinc.org&code=2093-3
  4. Search LOINC codes: GET https://fhir.loinc.org/CodeSystem/$search?term=cholesterol
  5. 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?

Open documentation ↗