zapi.
APIsPricingDocsMCP
APIsPricingDocsMCP
Sign in
zapi.
APIsPricingDocsMCP
APIsPricingDocsMCP
Sign in
Health/Clinical Tables
Logo Clinical Tables

Clinical Tables

NLM Clinical Table Search Service — 22 keyless code systems including LOINC, ICD-10-CM, ICD-11, RxTerms, HPO, HCPCS, NPI, UCUM and genomics tables.

25 endpoints25 endpoints on this scraper67 calls67 calls so farupdated 27 days agoLast updated 8/30/2026, 12:49:28 AMBusy: 10+ calls so farllms.txt
Endpoints25

24/25 passing
checked 20 hours ago · daily 01:00 WIB

Answer List

LOINC answer list for one question code — clinicaltables.nlm.nih.gov, direct JSON. Sits outside the /api/<table>/v3/search grammar: its own path, one code in,

GET/v1/health:clinical-tables/answer-list5m cache1 paramchecking key…
Parameters
loincNumstringrequired

LOINC code of the question whose answer list to return

·
Response
EXAMPLE
{
  "count": 7,
  "items": [
    {
      "code": "LA12637-7",
      "text": "Independent - no help or staff oversight at any time",
      "sequence": 1
    },
    {
      "code": "LA12638-5",
      "text": "Supervision - oversight, encouragement or cueing",
      "sequence": 2
    },
    {
      "code": "LA12639-3",
      "text": "Limited assistance - resident highly involved in activity; staff provide guided maneuvering of limbs or other non-weight-bearing assistance",
      "sequence": 3
    },
    {
      "code": "LA12640-1",
      "text": "Extensive assistance - resident involved in activity, staff provide weight-bearing support",
      "sequence": 4
    },
    {
      "code": "LA12641-9",
      "text": "Total dependence - full staff performance every time during entire 7-day period",
      "sequence": 5
    },
    {
      "code": "LA12642-7",
      "text": "Activity occurred only once or twice - activity did occur but only once or twice",
      "sequence": 6
    },
    {
      "code": "LA18614-0",
      "text": "Activity did not occur - activity did not occur or family and/or non-facility staff provided care 100% of the time for that activity over the entire 7-day period",
      "sequence": 7
    }
  ],
  "loincNum": "45592-3",
  "provider": "clinical-tables"
}

Code

Answer List
index.ts
// npm i zpi-sdk
import { ZpiClient } from "zpi-sdk";

const client = new ZpiClient({ apiKey: "zpi_xxxxxxxxxxxxxxxxxxxxxxxx" });

const data = await client.run("health:clinical-tables", "answer-list", {
  "loincNum": "45592-3"
});
console.log(data);
Recommended · typed errors, safe retries and bulk jobsSDK reference

Full reference

25 endpoints · plain text
GET
Answer List/v1/health:clinical-tables/answer-list
1 param

LOINC answer list for one question code — clinicaltables.nlm.nih.gov, direct JSON. Sits outside the /api/<table>/v3/search grammar: its own path, one code in,

Parameters

loincNumstringrequired
LOINC code of the question whose answer list to return

Request

curl -X GET "https://api.zapi.ink/v1/health:clinical-tables/answer-list?loincNum=45592-3" \
  -H "x-api-key: zpi_xxxxxxxxxxxxxxxxxxxxxxxx"

Example response

{
  "count": 7,
  "items": [
    {
      "code": "LA12637-7",
      "text": "Independent - no help or staff oversight at any time",
      "sequence": 1
    },
    {
      "code": "LA12638-5",
      "text": "Supervision - oversight, encouragement or cueing",
      "sequence": 2
    },
    {
      "code": "LA12639-3",
      "text": "Limited assistance - resident highly involved in activity; staff provide guided maneuvering of limbs or other non-weight-bearing assistance",
      "sequence": 3
    },
    {
      "code": "LA12640-1",
      "text": "Extensive assistance - resident involved in activity, staff provide weight-bearing support",
      "sequence": 4
    },
    {
      "code": "LA12641-9",
      "text": "Total dependence - full staff performance every time during entire 7-day period",
      "sequence": 5
    },
    {
      "code": "LA12642-7",
      "text": "Activity occurred only once or twice - activity did occur but only once or twice",
      "sequence": 6
    },
    {
      "code": "LA18614-0",
      "text": "Activity did not occur - activity did not occur or family and/or non-facility staff provided care 100% of the time for that activity over the entire 7-day period",
      "sequence": 7
    }
  ],
  "loincNum": "45592-3",
  "provider": "clinical-tables"
}
GET
Conditions/v1/health:clinical-tables/conditions
8 params

Problem-list conditions — clinicaltables.nlm.nih.gov `conditions`, direct JSON, no key. The service answers with a positional array [total, codes, extra, displayRows]

Parameters

termsstringrequired
Search text. Several partial words are combined with an implicit AND
pagenumberoptional
Page number. Default 1
limitnumberoptional
Items per page. Default 10, max 500. Page times limit may not exceed 7500
fieldsstringoptional
Comma-separated fields returned as display strings. Allowed: primary_name, consumer_name, key_id, icd10cm_codes, icd10cm, term_icd9_code, term_icd9_text, word_synonyms, synonyms, info_link_data.
extraFieldsstringoptional
Comma-separated fields returned with their native types, so objects and arrays stay structured. Accepts field:alias. Allowed: primary_name, consumer_name, key_id, icd10cm_codes, icd10cm, term_icd9_code, term_icd9_text, word_synonyms, synonyms, info_link_data.
searchFieldsstringoptional
Comma-separated fields the search text is matched against. Allowed: primary_name, consumer_name, key_id, icd10cm_codes, icd10cm, term_icd9_code, term_icd9_text, word_synonyms, synonyms, info_link_data.
codeFieldstringoptional
The single field to report as each item's code. Allowed: primary_name, consumer_name, key_id, icd10cm_codes, icd10cm, term_icd9_code, term_icd9_text, word_synonyms, synonyms, info_link_data.
filterstringoptional
Elasticsearch query-string filter applied on top of the search text. It is not wildcarded automatically

Request

curl -X GET "https://api.zapi.ink/v1/health:clinical-tables/conditions?terms=asthma&page=1&limit=10&fields=primary_name%2Cconsumer_name%2Ckey_id&extraFields=synonyms%2Cword_synonyms&searchFields=primary_name%2Cconsumer_name%2Ckey_id&codeField=key_id&filter=primary_name%3Aasthma*" \
  -H "x-api-key: zpi_xxxxxxxxxxxxxxxxxxxxxxxx"

Example response

{
  "page": 1,
  "count": 3,
  "items": [
    {
      "code": "366",
      "keyId": "366",
      "primaryName": "Asthma",
      "consumerName": "Asthma"
    },
    {
      "code": "30572",
      "keyId": "30572",
      "synonyms": [
        "asthma mild persistent"
      ],
      "primaryName": "Asthma - mild persistent",
      "consumerName": "Asthma - mild persistent"
    },
    {
      "code": "30573",
      "keyId": "30573",
      "synonyms": [
        "asthma moderate persistent"
      ],
      "primaryName": "Asthma - moderate persistent",
      "consumerName": "Asthma - moderate persistent"
    }
  ],
  "limit": 3,
  "terms": "asthma",
  "total": 5,
  "hasMore": true,
  "nextPage": 2,
  "provider": "clinical-tables"
}
GET
Cosmic/v1/health:clinical-tables/cosmic
9 params

COSMIC structural variants — clinicaltables.nlm.nih.gov `cosmic_struct`, direct JSON. The service answers with a positional array [total, codes, extra, displayRows]

Parameters

termsstringrequired
Search text. Several partial words are combined with an implicit AND
pagenumberoptional
Page number. Default 1
limitnumberoptional
Items per page. Default 10, max 500. Page times limit may not exceed 7500
fieldsstringoptional
Comma-separated fields returned as display strings. Allowed: BreakPointOrder, ChromFrom, ChromTo, Description, ID_STUDY, LocationFromMax, LocationFromMin, LocationToMax, LocationToMin, MutationID, MutationType, NonTemplatedInsSeq, PrimaryHistology, PrimarySite, Site, StrandFrom, StrandTo, GRChVer, COSMIC_STRUCTURAL_ID, COSMIC_PHENOTYPE_ID, COSMIC_STUDY_ID.
extraFieldsstringoptional
Comma-separated fields returned with their native types, so objects and arrays stay structured. Accepts field:alias. Allowed: BreakPointOrder, ChromFrom, ChromTo, Description, ID_STUDY, LocationFromMax, LocationFromMin, LocationToMax, LocationToMin, MutationID, MutationType, NonTemplatedInsSeq, PrimaryHistology, PrimarySite, Site, StrandFrom, StrandTo, GRChVer, COSMIC_STRUCTURAL_ID, COSMIC_PHENOTYPE_ID, COSMIC_STUDY_ID.
searchFieldsstringoptional
Comma-separated fields the search text is matched against. Allowed: BreakPointOrder, ChromFrom, ChromTo, Description, ID_STUDY, LocationFromMax, LocationFromMin, LocationToMax, LocationToMin, MutationID, MutationType, NonTemplatedInsSeq, PrimaryHistology, PrimarySite, Site, StrandFrom, StrandTo, GRChVer, COSMIC_STRUCTURAL_ID, COSMIC_PHENOTYPE_ID, COSMIC_STUDY_ID.
codeFieldstringoptional
The single field to report as each item's code. Allowed: BreakPointOrder, ChromFrom, ChromTo, Description, ID_STUDY, LocationFromMax, LocationFromMin, LocationToMax, LocationToMin, MutationID, MutationType, NonTemplatedInsSeq, PrimaryHistology, PrimarySite, Site, StrandFrom, StrandTo, GRChVer, COSMIC_STRUCTURAL_ID, COSMIC_PHENOTYPE_ID, COSMIC_STUDY_ID.
filterstringoptional
Elasticsearch query-string filter applied on top of the search text. It is not wildcarded automatically
genomeBuildenumoptional
GRCh human genome build the coordinates refer to. Default 37 Values: 37, 38.

Request

curl -X GET "https://api.zapi.ink/v1/health:clinical-tables/cosmic?terms=deletion&page=1&limit=10&fields=MutationID%2CMutationType%2CDescription&extraFields=ChromFrom%2CChromTo&searchFields=MutationID%2CMutationType%2CDescription&codeField=MutationID&filter=MutationType%3Adeletion&genomeBuild=38" \
  -H "x-api-key: zpi_xxxxxxxxxxxxxxxxxxxxxxxx"

Example response

{
  "page": 1,
  "count": 3,
  "items": [
    {
      "code": "119626",
      "chromTo": "7",
      "chromFrom": "7",
      "mutationID": "119626",
      "description": "chr7:g.(145808590_145808610)_(145874585_145874605)del",
      "mutationType": "intrachromosomal deletion"
    },
    {
      "code": "119635",
      "chromTo": "18",
      "chromFrom": "18",
      "mutationID": "119635",
      "description": "chr18:g.(50962789_50962809)_(51078735_51078755)del",
      "mutationType": "intrachromosomal deletion"
    },
    {
      "code": "119648",
      "chromTo": "13",
      "chromFrom": "13",
      "mutationID": "119648",
      "description": "chr13:g.(23495219_23495239)_(23495527_23495547)del",
      "mutationType": "intrachromosomal deletion"
    }
  ],
  "limit": 3,
  "terms": "deletion",
  "total": 49355,
  "hasMore": true,
  "nextPage": 2,
  "provider": "clinical-tables"
}
GET
Cytogenetic Locations/v1/health:clinical-tables/cytogenetic-locations
8 params

Cytogenetic band locations — clinicaltables.nlm.nih.gov `cytogenetic_locs`, direct JSON, no key. The service answers with a positional array [total, codes, extra, displayRows]

Parameters

termsstringrequired
Search text. Several partial words are combined with an implicit AND
pagenumberoptional
Page number. Default 1
limitnumberoptional
Items per page. Default 10, max 500. Page times limit may not exceed 7500
fieldsstringoptional
Comma-separated fields returned as display strings. Allowed: chromosome, arm, band, iscn_start, iscn_stop, stain, cytogenetic.
extraFieldsstringoptional
Comma-separated fields returned with their native types, so objects and arrays stay structured. Accepts field:alias. Allowed: chromosome, arm, band, iscn_start, iscn_stop, stain, cytogenetic.
searchFieldsstringoptional
Comma-separated fields the search text is matched against. Allowed: chromosome, arm, band, iscn_start, iscn_stop, stain, cytogenetic.
codeFieldstringoptional
The single field to report as each item's code. Allowed: chromosome, arm, band, iscn_start, iscn_stop, stain, cytogenetic.
filterstringoptional
Elasticsearch query-string filter applied on top of the search text. It is not wildcarded automatically

Request

curl -X GET "https://api.zapi.ink/v1/health:clinical-tables/cytogenetic-locations?terms=7q31&page=1&limit=10&fields=cytogenetic%2Cchromosome%2Carm&extraFields=cytogenetic%2Cchromosome&searchFields=cytogenetic%2Cchromosome%2Carm&codeField=cytogenetic&filter=chromosome%3A7" \
  -H "x-api-key: zpi_xxxxxxxxxxxxxxxxxxxxxxxx"

Example response

{
  "page": 1,
  "count": 3,
  "items": [
    {
      "arm": "q",
      "code": "7q31.1",
      "chromosome": "7",
      "cytogenetic": "7q31.1"
    },
    {
      "arm": "q",
      "code": "7q31.31",
      "chromosome": "7",
      "cytogenetic": "7q31.31"
    },
    {
      "arm": "q",
      "code": "7q31.33",
      "chromosome": "7",
      "cytogenetic": "7q31.33"
    }
  ],
  "limit": 3,
  "terms": "7q31",
  "total": 5,
  "hasMore": true,
  "nextPage": 2,
  "provider": "clinical-tables"
}
GET
Dbvar/v1/health:clinical-tables/dbvar
8 params

dbVar structural variants — clinicaltables.nlm.nih.gov `dbvar`, direct JSON, no key. The service answers with a positional array [total, codes, extra, displayRows]

Parameters

termsstringrequired
Search text. Several partial words are combined with an implicit AND
pagenumberoptional
Page number. Default 1
limitnumberoptional
Items per page. Default 10, max 500. Page times limit may not exceed 7500
fieldsstringoptional
Comma-separated fields returned as display strings. Allowed: Alias, ciend, cipos, clinical_int, copy_number, Dbxref, End_range, FeatureEnd, FeatureStart, gender, ID, Name, parent, phenotype, sampleset_name, sampleset_type, SeqID, Start_range, Type, var_origin, Zygosity.
extraFieldsstringoptional
Comma-separated fields returned with their native types, so objects and arrays stay structured. Accepts field:alias. Allowed: Alias, ciend, cipos, clinical_int, copy_number, Dbxref, End_range, FeatureEnd, FeatureStart, gender, ID, Name, parent, phenotype, sampleset_name, sampleset_type, SeqID, Start_range, Type, var_origin, Zygosity.
searchFieldsstringoptional
Comma-separated fields the search text is matched against. Allowed: Alias, ciend, cipos, clinical_int, copy_number, Dbxref, End_range, FeatureEnd, FeatureStart, gender, ID, Name, parent, phenotype, sampleset_name, sampleset_type, SeqID, Start_range, Type, var_origin, Zygosity.
codeFieldstringoptional
The single field to report as each item's code. Allowed: Alias, ciend, cipos, clinical_int, copy_number, Dbxref, End_range, FeatureEnd, FeatureStart, gender, ID, Name, parent, phenotype, sampleset_name, sampleset_type, SeqID, Start_range, Type, var_origin, Zygosity.
filterstringoptional
Elasticsearch query-string filter applied on top of the search text. It is not wildcarded automatically

Request

curl -X GET "https://api.zapi.ink/v1/health:clinical-tables/dbvar?terms=nsv&page=1&limit=10&fields=Name%2CType%2CID&extraFields=Alias%2CDbxref&searchFields=Name%2CType%2CID&codeField=Name&filter=var_origin%3Agermline" \
  -H "x-api-key: zpi_xxxxxxxxxxxxxxxxxxxxxxxx"

Example response

{
  "page": 1,
  "count": 3,
  "items": [
    {
      "id": "7945772",
      "code": "nsv7447629",
      "name": "nsv7447629",
      "type": "copy_number_variation",
      "alias": "3___122567173_122571435___GRCh37_copy_number_variation_from_gain_or_loss",
      "dbxref": "URL:www.ncbi.nlm.nih.gov/dbvar/variants/nsv7447629"
    },
    {
      "id": "7945768",
      "code": "nsv7447625",
      "name": "nsv7447625",
      "type": "copy_number_variation",
      "alias": "2___241740907_241778621___GRCh37_copy_number_variation_from_gain_or_loss",
      "dbxref": "URL:www.ncbi.nlm.nih.gov/dbvar/variants/nsv7447625"
    },
    {
      "id": "7945758",
      "code": "nsv7447615",
      "name": "nsv7447615",
      "type": "copy_number_variation",
      "alias": "3___46130509_46180416___GRCh37_copy_number_variation_from_gain_or_loss",
      "dbxref": "URL:www.ncbi.nlm.nih.gov/dbvar/variants/nsv7447615"
    }
  ],
  "limit": 3,
  "terms": "nsv",
  "total": 10000,
  "hasMore": true,
  "nextPage": 2,
  "provider": "clinical-tables"
}
GET
Disease Names/v1/health:clinical-tables/disease-names
8 params

Disease names from MedGen — clinicaltables.nlm.nih.gov `disease_names`, direct JSON, no key. The service answers with a positional array [total, codes, extra, displayRows]

Parameters

termsstringrequired
Search text. Several partial words are combined with an implicit AND
pagenumberoptional
Page number. Default 1
limitnumberoptional
Items per page. Default 10, max 500. Page times limit may not exceed 7500
fieldsstringoptional
Comma-separated fields returned as display strings. Allowed: DiseaseName, ConceptID.
extraFieldsstringoptional
Comma-separated fields returned with their native types, so objects and arrays stay structured. Accepts field:alias. Allowed: DiseaseName, ConceptID.
searchFieldsstringoptional
Comma-separated fields the search text is matched against. Allowed: DiseaseName, ConceptID.
codeFieldstringoptional
The single field to report as each item's code. Allowed: DiseaseName, ConceptID.
filterstringoptional
Elasticsearch query-string filter applied on top of the search text. It is not wildcarded automatically

Request

curl -X GET "https://api.zapi.ink/v1/health:clinical-tables/disease-names?terms=marfan&page=1&limit=10&fields=DiseaseName%2CConceptID&extraFields=DiseaseName%2CConceptID&searchFields=DiseaseName%2CConceptID&codeField=ConceptID&filter=DiseaseName%3Amarfan*" \
  -H "x-api-key: zpi_xxxxxxxxxxxxxxxxxxxxxxxx"

Example response

{
  "page": 1,
  "count": 3,
  "items": [
    {
      "code": "C5681015",
      "conceptID": "C5681015",
      "diseaseName": "Marfan and Marfan-related disorder"
    },
    {
      "code": "C0024796",
      "conceptID": "C0024796",
      "diseaseName": "Marfan syndrome"
    },
    {
      "code": "C4016055",
      "conceptID": "C4016055",
      "diseaseName": "Marfan syndrome, atypical"
    }
  ],
  "limit": 3,
  "terms": "marfan",
  "total": 19,
  "hasMore": true,
  "nextPage": 2,
  "provider": "clinical-tables"
}
GET
Drug Ingredients/v1/health:clinical-tables/drug-ingredients
8 params

Drug ingredient names — clinicaltables.nlm.nih.gov `drug_ingredients`, direct JSON, no key. The service answers with a positional array [total, codes, extra, displayRows]

Parameters

termsstringrequired
Search text. Several partial words are combined with an implicit AND
pagenumberoptional
Page number. Default 1
limitnumberoptional
Items per page. Default 10, max 500. Page times limit may not exceed 7500
fieldsstringoptional
Comma-separated fields returned as display strings. Allowed: code, name.
extraFieldsstringoptional
Comma-separated fields returned with their native types, so objects and arrays stay structured. Accepts field:alias. Allowed: code, name.
searchFieldsstringoptional
Comma-separated fields the search text is matched against. Allowed: code, name.
codeFieldstringoptional
The single field to report as each item's code. Allowed: code, name.
filterstringoptional
Elasticsearch query-string filter applied on top of the search text. It is not wildcarded automatically

Request

curl -X GET "https://api.zapi.ink/v1/health:clinical-tables/drug-ingredients?terms=aspirin&page=1&limit=10&fields=code%2Cname&extraFields=code%2Cname&searchFields=code%2Cname&codeField=code&filter=name%3Aaspirin*" \
  -H "x-api-key: zpi_xxxxxxxxxxxxxxxxxxxxxxxx"

Example response

{
  "page": 1,
  "count": 1,
  "items": [
    {
      "code": "1191",
      "name": "aspirin"
    }
  ],
  "limit": 3,
  "terms": "aspirin",
  "total": 1,
  "hasMore": false,
  "nextPage": null,
  "provider": "clinical-tables"
}
GET
Drugs/v1/health:clinical-tables/drugs
8 params

RxTerms drug names — clinicaltables.nlm.nih.gov `rxterms`, direct JSON, no key. The service answers with a positional array [total, codes, extra, displayRows]

Parameters

termsstringrequired
Search text. Several partial words are combined with an implicit AND
pagenumberoptional
Page number. Default 1
limitnumberoptional
Items per page. Default 10, max 500. Page times limit may not exceed 7500
fieldsstringoptional
Comma-separated fields returned as display strings. Allowed: DISPLAY_NAME, STRENGTHS_AND_FORMS, RXCUIS, SXDG_RXCUI, DISPLAY_NAME_SYNONYM.
extraFieldsstringoptional
Comma-separated fields returned with their native types, so objects and arrays stay structured. Accepts field:alias. Allowed: DISPLAY_NAME, STRENGTHS_AND_FORMS, RXCUIS, SXDG_RXCUI, DISPLAY_NAME_SYNONYM.
searchFieldsstringoptional
Comma-separated fields the search text is matched against. Allowed: DISPLAY_NAME, STRENGTHS_AND_FORMS, RXCUIS, SXDG_RXCUI, DISPLAY_NAME_SYNONYM.
codeFieldstringoptional
The single field to report as each item's code. Allowed: DISPLAY_NAME, STRENGTHS_AND_FORMS, RXCUIS, SXDG_RXCUI, DISPLAY_NAME_SYNONYM.
filterstringoptional
Elasticsearch query-string filter applied on top of the search text. It is not wildcarded automatically

Request

curl -X GET "https://api.zapi.ink/v1/health:clinical-tables/drugs?terms=aspirin&page=1&limit=10&fields=DISPLAY_NAME%2CSXDG_RXCUI&extraFields=STRENGTHS_AND_FORMS%2CRXCUIS&searchFields=DISPLAY_NAME%2CSXDG_RXCUI&codeField=DISPLAY_NAME&filter=DISPLAY_NAME%3Aaspirin*" \
  -H "x-api-key: zpi_xxxxxxxxxxxxxxxxxxxxxxxx"

Example response

{
  "page": 1,
  "count": 3,
  "items": [
    {
      "code": "Aspirin (Oral Pill)",
      "rxcuis": [
        "252857",
        "308416",
        "243670",
        "198466",
        "198467",
        "212033",
        "308409",
        "198471"
      ],
      "sxdgRxcui": "1154070",
      "displayName": "Aspirin (Oral Pill)",
      "strengthsAndForms": [
        " 81 mg Cap",
        " 81 mg DR Tab",
        " 81 mg Tab",
        "325 mg Cap",
        "325 mg DR Tab",
        "325 mg Tab",
        "500 mg DR Tab",
        "500 mg Tab"
      ]
    },
    {
      "code": "Aspirin (Chewable)",
      "rxcuis": [
        "318272"
      ],
      "sxdgRxcui": "1294937",
      "displayName": "Aspirin (Chewable)",
      "strengthsAndForms": [
        "81 mg Tab"
      ]
    },
    {
      "code": "Aspirin/oxyCODONE (Oral Pill)",
      "rxcuis": [
        "637540",
        "848768"
      ],
      "sxdgRxcui": "1153750",
      "displayName": "Aspirin/oxyCODONE (Oral Pill)",
      "strengthsAndForms": [
        "325-4.5-0.38 mg Tab",
        "325-4.84 mg Tab"
      ]
    }
  ],
  "limit": 3,
  "terms": "aspirin",
  "total": 15,
  "hasMore": true,
  "nextPage": 2,
  "provider": "clinical-tables"
}
GET
Form Definition/v1/health:clinical-tables/form-definition
1 param

Renderable LOINC panel definition — clinicaltables.nlm.nih.gov, direct JSON. The one rich payload in this source: a nested question tree with units, answer

Parameters

loincNumstringrequired
LOINC code of the panel or form whose definition to return

Request

curl -X GET "https://api.zapi.ink/v1/health:clinical-tables/form-definition?loincNum=34565-2" \
  -H "x-api-key: zpi_xxxxxxxxxxxxxxxxxxxxxxxx"

Example response

{
  "code": "34565-2",
  "name": "Vital signs, weight and height panel",
  "items": [
    {
      "items": [
        {
          "units": [
            {
              "code": "{beats}/min",
              "name": "{beats}/min",
              "system": "http://unitsofmeasure.org",
              "isDefault": false
            }
          ],
          "linkId": "/34566-0/8867-4",
          "dataType": "REAL",
          "isHeader": false,
          "question": "Heart rate",
          "questionCode": "8867-4",
          "questionCodeSystem": "http://loinc.org"
        }
      ],
      "linkId": "/34566-0",
      "dataType": "SECTION",
      "isHeader": true,
      "question": "Vital Signs Pnl",
      "questionCode": "34566-0",
      "questionCodeSystem": "http://loinc.org"
    }
  ],
  "codeType": "LOINC",
  "loincNum": "34565-2",
  "provider": "clinical-tables",
  "codeSystem": "http://loinc.org",
  "lformsVersion": "29.0.0",
  "copyrightNotice": null,
  "codingInstructions": null
}
GET
Genes/v1/health:clinical-tables/genes
8 params

NCBI gene records — clinicaltables.nlm.nih.gov `ncbi_genes`, direct JSON, no key. The service answers with a positional array [total, codes, extra, displayRows]

Parameters

termsstringrequired
Search text. Several partial words are combined with an implicit AND
pagenumberoptional
Page number. Default 1
limitnumberoptional
Items per page. Default 10, max 500. Page times limit may not exceed 7500
fieldsstringoptional
Comma-separated fields returned as display strings. Allowed: GeneID, HGNC_ID, Symbol, Synonyms, dbXrefs, chromosome, map_location, description, type_of_gene, na_symbol, na_name, Other_designations, Modification_date.
extraFieldsstringoptional
Comma-separated fields returned with their native types, so objects and arrays stay structured. Accepts field:alias. Allowed: GeneID, HGNC_ID, Symbol, Synonyms, dbXrefs, chromosome, map_location, description, type_of_gene, na_symbol, na_name, Other_designations, Modification_date.
searchFieldsstringoptional
Comma-separated fields the search text is matched against. Allowed: GeneID, HGNC_ID, Symbol, Synonyms, dbXrefs, chromosome, map_location, description, type_of_gene, na_symbol, na_name, Other_designations, Modification_date.
codeFieldstringoptional
The single field to report as each item's code. Allowed: GeneID, HGNC_ID, Symbol, Synonyms, dbXrefs, chromosome, map_location, description, type_of_gene, na_symbol, na_name, Other_designations, Modification_date.
filterstringoptional
Elasticsearch query-string filter applied on top of the search text. It is not wildcarded automatically

Request

curl -X GET "https://api.zapi.ink/v1/health:clinical-tables/genes?terms=BRCA1&page=1&limit=10&fields=Symbol%2Cdescription%2Cchromosome&extraFields=Synonyms%2CdbXrefs&searchFields=Symbol%2Cdescription%2Cchromosome&codeField=GeneID&filter=chromosome%3A17" \
  -H "x-api-key: zpi_xxxxxxxxxxxxxxxxxxxxxxxx"

Example response

{
  "page": 1,
  "count": 3,
  "items": [
    {
      "code": "394269",
      "symbol": "BRCA1P1",
      "dbXrefs": "HGNC:HGNC:28470|AllianceGenome:HGNC:28470",
      "synonyms": "LBRCA1|PsiBRCA1|pseudo-BRCA1",
      "chromosome": "17",
      "codeSystem": "NCBI-gene code",
      "description": "BRCA1 pseudogene 1"
    },
    {
      "code": "111589215",
      "symbol": "LOC111589215",
      "dbXrefs": "-",
      "synonyms": "-",
      "chromosome": "17",
      "codeSystem": "NCBI-gene code",
      "description": "BRCA1 promoter region"
    },
    {
      "code": "101929767",
      "symbol": "BRCA1-OT1",
      "dbXrefs": "HGNC:HGNC:58363",
      "synonyms": "-",
      "chromosome": "17",
      "codeSystem": "NCBI-gene code",
      "description": "BRCA1 overlapping transcript 1"
    }
  ],
  "limit": 3,
  "terms": "BRCA1",
  "total": 9,
  "hasMore": true,
  "nextPage": 2,
  "provider": "clinical-tables"
}
GET
Hcpcs/v1/health:clinical-tables/hcpcs
8 params

HCPCS Level II codes — clinicaltables.nlm.nih.gov `hcpcs`, direct JSON, no key. The service answers with a positional array [total, codes, extra, displayRows]

Parameters

termsstringrequired
Search text. Several partial words are combined with an implicit AND
pagenumberoptional
Page number. Default 1
limitnumberoptional
Items per page. Default 10, max 500. Page times limit may not exceed 7500
fieldsstringoptional
Comma-separated fields returned as display strings. Allowed: code, short_desc, long_desc, display, add_dt, term_dt, act_eff_dt, obsolete, is_noc.
extraFieldsstringoptional
Comma-separated fields returned with their native types, so objects and arrays stay structured. Accepts field:alias. Allowed: code, short_desc, long_desc, display, add_dt, term_dt, act_eff_dt, obsolete, is_noc.
searchFieldsstringoptional
Comma-separated fields the search text is matched against. Allowed: code, short_desc, long_desc, display, add_dt, term_dt, act_eff_dt, obsolete, is_noc.
codeFieldstringoptional
The single field to report as each item's code. Allowed: code, short_desc, long_desc, display, add_dt, term_dt, act_eff_dt, obsolete, is_noc.
filterstringoptional
Elasticsearch query-string filter applied on top of the search text. It is not wildcarded automatically

Request

curl -X GET "https://api.zapi.ink/v1/health:clinical-tables/hcpcs?terms=wheelchair&page=1&limit=10&fields=code%2Cdisplay%2Cshort_desc&extraFields=code%2Cdisplay&searchFields=code%2Cdisplay%2Cshort_desc&codeField=code&filter=obsolete%3Afalse" \
  -H "x-api-key: zpi_xxxxxxxxxxxxxxxxxxxxxxxx"

Example response

{
  "page": 1,
  "count": 3,
  "items": [
    {
      "code": "E2210",
      "display": "Wheelchair bearings",
      "shortDesc": "Wheelchair bearings"
    },
    {
      "code": "K0001",
      "display": "Standard wheelchair",
      "shortDesc": "Standard wheelchair"
    },
    {
      "code": "K0003",
      "display": "Lightweight wheelchair",
      "shortDesc": "Lightweight wheelchair"
    }
  ],
  "limit": 3,
  "terms": "wheelchair",
  "total": 63,
  "hasMore": true,
  "nextPage": 2,
  "provider": "clinical-tables"
}
GET
Hpo/v1/health:clinical-tables/hpo
8 params

Human Phenotype Ontology terms — clinicaltables.nlm.nih.gov `hpo`, direct JSON, no key. The service answers with a positional array [total, codes, extra, displayRows]

Parameters

termsstringrequired
Search text. Several partial words are combined with an implicit AND
pagenumberoptional
Page number. Default 1
limitnumberoptional
Items per page. Default 10, max 500. Page times limit may not exceed 7500
fieldsstringoptional
Comma-separated fields returned as display strings. Allowed: id, name, definition, def_xref, created_by, creation_date, comment, is_obsolete, replaced_by, consider, alt_id, synonym, synonym.term, synonym.relation, synonym.type, synonym.xref, is_a, is_a.id, is_a.name, xref, xref.id, xref.name, property, property.name, property.value, property.data_type, property.xref.
extraFieldsstringoptional
Comma-separated fields returned with their native types, so objects and arrays stay structured. Accepts field:alias. Allowed: id, name, definition, def_xref, created_by, creation_date, comment, is_obsolete, replaced_by, consider, alt_id, synonym, synonym.term, synonym.relation, synonym.type, synonym.xref, is_a, is_a.id, is_a.name, xref, xref.id, xref.name, property, property.name, property.value, property.data_type, property.xref.
searchFieldsstringoptional
Comma-separated fields the search text is matched against. Allowed: id, name, definition, def_xref, created_by, creation_date, comment, is_obsolete, replaced_by, consider, alt_id, synonym, synonym.term, synonym.relation, synonym.type, synonym.xref, is_a, is_a.id, is_a.name, xref, xref.id, xref.name, property, property.name, property.value, property.data_type, property.xref.
codeFieldstringoptional
The single field to report as each item's code. Allowed: id, name, definition, def_xref, created_by, creation_date, comment, is_obsolete, replaced_by, consider, alt_id, synonym, synonym.term, synonym.relation, synonym.type, synonym.xref, is_a, is_a.id, is_a.name, xref, xref.id, xref.name, property, property.name, property.value, property.data_type, property.xref.
filterstringoptional
Elasticsearch query-string filter applied on top of the search text. It is not wildcarded automatically

Request

curl -X GET "https://api.zapi.ink/v1/health:clinical-tables/hpo?terms=seizure&page=1&limit=10&fields=id%2Cname%2Cdefinition&extraFields=synonym%2Cis_a&searchFields=id%2Cname%2Cdefinition&codeField=id&filter=id%3AHP%5C%3A0001250" \
  -H "x-api-key: zpi_xxxxxxxxxxxxxxxxxxxxxxxx"

Example response

{
  "page": 1,
  "count": 1,
  "items": [
    {
      "id": "HP:0001250",
      "isA": [
        {
          "id": "HP:0012638",
          "name": "Abnormal nervous system physiology"
        }
      ],
      "code": "HP:0001250",
      "name": "Seizure",
      "synonym": [
        {
          "term": "Epilepsy",
          "type": "layperson",
          "relation": "RELATED"
        },
        {
          "term": "Epileptic seizure",
          "relation": "EXACT"
        },
        {
          "term": "Seizures",
          "type": "plural_form",
          "relation": "EXACT"
        }
      ],
      "definition": "A seizure is an intermittent abnormality of nervous system physiology characterized by a transient occurrence of signs and/or symptoms due to abnormal excessive or synchronous neuronal activity in the brain"
    }
  ],
  "limit": 3,
  "terms": "seizure",
  "total": 1,
  "hasMore": false,
  "nextPage": null,
  "provider": "clinical-tables"
}
GET
Icd10/v1/health:clinical-tables/icd10
8 params

ICD-10-CM diagnosis codes — clinicaltables.nlm.nih.gov, direct JSON, no key. The service answers with a positional array and returns empty strings on a 200

Parameters

termsstringrequired
Search text. Several partial words are combined with an implicit AND
pagenumberoptional
Page number. Default 1
limitnumberoptional
Items per page. Default 10, max 500. Page times limit may not exceed 7500
fieldsstringoptional
Comma-separated fields returned as display strings. Allowed: code, name.
extraFieldsstringoptional
Comma-separated fields returned with their native types, so objects and arrays stay structured. Accepts field:alias. Allowed: code, name.
searchFieldsstringoptional
Comma-separated fields the search text is matched against. Allowed: code, name.
codeFieldstringoptional
The single field to report as each item's code. Allowed: code, name.
filterstringoptional
Elasticsearch query-string filter applied on top of the search text. It is not wildcarded automatically

Request

curl -X GET "https://api.zapi.ink/v1/health:clinical-tables/icd10?terms=diabetes&page=1&limit=10&fields=code%2Cname&extraFields=code%2Cname&searchFields=code%2Cname&codeField=code&filter=code%3AE11*" \
  -H "x-api-key: zpi_xxxxxxxxxxxxxxxxxxxxxxxx"

Example response

{
  "page": 1,
  "count": 3,
  "items": [
    {
      "code": "E11.65",
      "name": "Type 2 diabetes mellitus with hyperglycemia"
    },
    {
      "code": "E11.9",
      "name": "Type 2 diabetes mellitus without complications"
    },
    {
      "code": "E11.21",
      "name": "Type 2 diabetes mellitus with diabetic nephropathy"
    }
  ],
  "limit": 3,
  "terms": "diabetes",
  "total": 87,
  "hasMore": true,
  "nextPage": 2,
  "provider": "clinical-tables"
}
GET
Icd11/v1/health:clinical-tables/icd11
9 params

ICD-11 codes — clinicaltables.nlm.nih.gov `icd11_codes`, direct JSON, no key. The service answers with a positional array [total, codes, extra, displayRows]

Parameters

termsstringrequired
Search text. Several partial words are combined with an implicit AND
pagenumberoptional
Page number. Default 1
limitnumberoptional
Items per page. Default 10, max 500. Page times limit may not exceed 7500
fieldsstringoptional
Comma-separated fields returned as display strings. Allowed: code, title, definition, type, chapter, entityId, source, indexTerm, browserUrl, parent.
extraFieldsstringoptional
Comma-separated fields returned with their native types, so objects and arrays stay structured. Accepts field:alias. Allowed: code, title, definition, type, chapter, entityId, source, indexTerm, browserUrl, parent.
searchFieldsstringoptional
Comma-separated fields the search text is matched against. Allowed: code, title, definition, type, chapter, entityId, source, indexTerm, browserUrl, parent.
codeFieldstringoptional
The single field to report as each item's code. Allowed: code, title, definition, type, chapter, entityId, source, indexTerm, browserUrl, parent.
filterstringoptional
Elasticsearch query-string filter applied on top of the search text. It is not wildcarded automatically
codeTypeenumoptional
Restrict to stem codes, extension codes, or both. Default category, which is both Values: stem, extension, category.

Request

curl -X GET "https://api.zapi.ink/v1/health:clinical-tables/icd11?terms=diabetes&page=1&limit=10&fields=code%2Ctitle%2Cdefinition&extraFields=indexTerm&searchFields=code%2Ctitle%2Cdefinition&codeField=code&filter=type%3Astem&codeType=stem" \
  -H "x-api-key: zpi_xxxxxxxxxxxxxxxxxxxxxxxx"

Example response

{
  "page": 1,
  "count": 3,
  "items": [
    {
      "code": "5A10",
      "title": "Type 1 diabetes mellitus",
      "indexTerm": "Type 1 diabetes mellitus; IDDM - [insulin dependent diabetes mellitus]; T1DM - [type 1 diabetes mellitus]; idiopathic insulin-dependent diabetes mellitus without complications; juv…",
      "definition": "Diabetes mellitus type 1 (type 1 diabetes, T1DM, formerly insulin dependent or juvenile diabetes) is a form of diabetes mellitus that results from destruction of insulin-producing …"
    },
    {
      "code": "5A13",
      "title": "Diabetes mellitus, other specified type",
      "indexTerm": "Diabetes mellitus, other specified type; Other specified Diabetes mellitus, not Type 1 and not Type 2",
      "definition": "Diabetes mellitus which cannot be classified as either Type 1 or Type 2 diabetes mellitus."
    },
    {
      "code": "5A11",
      "title": "Type 2 diabetes mellitus",
      "indexTerm": "Type 2 diabetes mellitus; DM type II; DM2; Diabetic type 2; NIDDM - [non insulin dependent diabetes mellitus]; T2DM - [Type 2 diabetes mellitus]; Type II diabetes mellitus; adult o…",
      "definition": "Diabetes mellitus type 2 (formerly noninsulin-dependent diabetes mellitus (NIDDM) or adult-onset diabetes) is a metabolic disorder that is characterised by high blood glucose in th…"
    }
  ],
  "limit": 3,
  "terms": "diabetes",
  "total": 81,
  "hasMore": true,
  "nextPage": 2,
  "provider": "clinical-tables"
}
GET
Icd9 Dx/v1/health:clinical-tables/icd9-dx
8 params

ICD-9-CM diagnosis codes — clinicaltables.nlm.nih.gov `icd9cm_dx`, direct JSON, no key. The service answers with a positional array [total, codes, extra, displayRows]

Parameters

termsstringrequired
Search text. Several partial words are combined with an implicit AND
pagenumberoptional
Page number. Default 1
limitnumberoptional
Items per page. Default 10, max 500. Page times limit may not exceed 7500
fieldsstringoptional
Comma-separated fields returned as display strings. Allowed: code, code_dotted, short_name, long_name.
extraFieldsstringoptional
Comma-separated fields returned with their native types, so objects and arrays stay structured. Accepts field:alias. Allowed: code, code_dotted, short_name, long_name.
searchFieldsstringoptional
Comma-separated fields the search text is matched against. Allowed: code, code_dotted, short_name, long_name.
codeFieldstringoptional
The single field to report as each item's code. Allowed: code, code_dotted, short_name, long_name.
filterstringoptional
Elasticsearch query-string filter applied on top of the search text. It is not wildcarded automatically

Request

curl -X GET "https://api.zapi.ink/v1/health:clinical-tables/icd9-dx?terms=asthma&page=1&limit=10&fields=code%2Ccode_dotted%2Cshort_name&extraFields=code%2Ccode_dotted&searchFields=code%2Ccode_dotted%2Cshort_name&codeField=code&filter=code%3A493*" \
  -H "x-api-key: zpi_xxxxxxxxxxxxxxxxxxxxxxxx"

Example response

{
  "page": 1,
  "count": 3,
  "items": [
    {
      "code": "49390",
      "shortName": "Asthma NOS",
      "codeDotted": "493.90"
    },
    {
      "code": "49300",
      "shortName": "Extrinsic asthma NOS",
      "codeDotted": "493.00"
    },
    {
      "code": "49310",
      "shortName": "Intrinsic asthma NOS",
      "codeDotted": "493.10"
    }
  ],
  "limit": 3,
  "terms": "asthma",
  "total": 12,
  "hasMore": true,
  "nextPage": 2,
  "provider": "clinical-tables"
}
GET
Icd9 Sg/v1/health:clinical-tables/icd9-sg
8 params

ICD-9-CM procedure codes — clinicaltables.nlm.nih.gov `icd9cm_sg`, direct JSON, no key. The service answers with a positional array [total, codes, extra, displayRows]

Parameters

termsstringrequired
Search text. Several partial words are combined with an implicit AND
pagenumberoptional
Page number. Default 1
limitnumberoptional
Items per page. Default 10, max 500. Page times limit may not exceed 7500
fieldsstringoptional
Comma-separated fields returned as display strings. Allowed: code, code_dotted, short_name, long_name.
extraFieldsstringoptional
Comma-separated fields returned with their native types, so objects and arrays stay structured. Accepts field:alias. Allowed: code, code_dotted, short_name, long_name.
searchFieldsstringoptional
Comma-separated fields the search text is matched against. Allowed: code, code_dotted, short_name, long_name.
codeFieldstringoptional
The single field to report as each item's code. Allowed: code, code_dotted, short_name, long_name.
filterstringoptional
Elasticsearch query-string filter applied on top of the search text. It is not wildcarded automatically

Request

curl -X GET "https://api.zapi.ink/v1/health:clinical-tables/icd9-sg?terms=appendectomy&page=1&limit=10&fields=code%2Ccode_dotted%2Cshort_name&extraFields=code%2Ccode_dotted&searchFields=code%2Ccode_dotted%2Cshort_name&codeField=code&filter=code%3A47*" \
  -H "x-api-key: zpi_xxxxxxxxxxxxxxxxxxxxxxxx"

Example response

{
  "page": 1,
  "count": 3,
  "items": [
    {
      "code": "4701",
      "shortName": "Lap appendectomy",
      "codeDotted": "47.01"
    },
    {
      "code": "4709",
      "shortName": "Other appendectomy",
      "codeDotted": "47.09"
    },
    {
      "code": "4711",
      "shortName": "Lap incid appendectomy",
      "codeDotted": "47.11"
    }
  ],
  "limit": 3,
  "terms": "appendectomy",
  "total": 4,
  "hasMore": true,
  "nextPage": 2,
  "provider": "clinical-tables"
}
GET
Lab Codes/v1/health:clinical-tables/lab-codes
11 params

LOINC panels and forms — clinicaltables.nlm.nih.gov `loinc_items`, direct JSON. This is the panels-and-forms subset of LOINC, not the full six-axis lab table:

Parameters

termsstringrequired
Search text. Several partial words are combined with an implicit AND
pagenumberoptional
Page number. Default 1
limitnumberoptional
Items per page. Default 10, max 500. Page times limit may not exceed 7500
fieldsstringoptional
Comma-separated fields returned as display strings. Allowed: text, LOINC_NUM, LONG_COMMON_NAME, COMPONENT, PROPERTY, RELATEDNAMES2, METHOD_TYP, SHORTNAME, CONSUMER_NAME, SURVEY_QUEST_TEXT, AnswerLists, units, datatype, isCopyrighted, containsCopyrighted, EXTERNAL_COPYRIGHT_NOTICE.
extraFieldsstringoptional
Comma-separated fields returned with their native types, so objects and arrays stay structured. Accepts field:alias. Allowed: text, LOINC_NUM, LONG_COMMON_NAME, COMPONENT, PROPERTY, RELATEDNAMES2, METHOD_TYP, SHORTNAME, CONSUMER_NAME, SURVEY_QUEST_TEXT, AnswerLists, units, datatype, isCopyrighted, containsCopyrighted, EXTERNAL_COPYRIGHT_NOTICE.
searchFieldsstringoptional
Comma-separated fields the search text is matched against. Allowed: text, LOINC_NUM, LONG_COMMON_NAME, COMPONENT, PROPERTY, RELATEDNAMES2, METHOD_TYP, SHORTNAME, CONSUMER_NAME, SURVEY_QUEST_TEXT, AnswerLists, units, datatype, isCopyrighted, containsCopyrighted, EXTERNAL_COPYRIGHT_NOTICE.
codeFieldstringoptional
The single field to report as each item's code. Allowed: text, LOINC_NUM, LONG_COMMON_NAME, COMPONENT, PROPERTY, RELATEDNAMES2, METHOD_TYP, SHORTNAME, CONSUMER_NAME, SURVEY_QUEST_TEXT, AnswerLists, units, datatype, isCopyrighted, containsCopyrighted, EXTERNAL_COPYRIGHT_NOTICE.
filterstringoptional
Elasticsearch query-string filter applied on top of the search text. It is not wildcarded automatically
typeenumoptional
Restrict to questions, forms or panels. Default searches questions and panel names together Values: question, form, panel.
availableenumoptional
With true, only forms whose definition the form-definition endpoint can return Values: true, false.
excludeCopyrightedenumoptional
With true, drop items that are copyrighted or carry a copyrighted item. Default false Values: true, false.

Request

curl -X GET "https://api.zapi.ink/v1/health:clinical-tables/lab-codes?terms=glucose&page=1&limit=10&fields=text%2CLOINC_NUM%2CLONG_COMMON_NAME&extraFields=RELATEDNAMES2%2CAnswerLists&searchFields=text%2CLOINC_NUM%2CLONG_COMMON_NAME&codeField=LOINC_NUM&filter=isCopyrighted%3Afalse&type=panel&available=true&excludeCopyrighted=false" \
  -H "x-api-key: zpi_xxxxxxxxxxxxxxxxxxxxxxxx"

Example response

{
  "page": 1,
  "count": 3,
  "items": [
    {
      "code": "101652-6",
      "text": "Somatotropin & glucose post glucose stimulation panel",
      "loincNum": "101652-6",
      "relatednames2": "After; CHEMISTRY.CHALLENGE TESTING; GH; GH + Glc pst Glc stim pnl; Glu; Glu tol; Gluc; Glucose tolerance; Glucoseur; Growth hormone; GTT; HGH; Human growth hormone; Pan; PANEL.CHAL…",
      "longCommonName": "Somatotropin and glucose post glucose stimulation panel - Serum or Plasma"
    },
    {
      "code": "43151-0",
      "text": "Glucose meter device panel",
      "loincNum": "43151-0",
      "relatednames2": "Glu; Gluc; Glucose Meter Device Pnl; Glucoseur; Pan; Panel.devices; Panl; Pnl; Point in time; Random",
      "longCommonName": "Glucose meter device panel"
    },
    {
      "code": "74790-7",
      "text": "Glucose challenge panel",
      "loincNum": "74790-7",
      "relatednames2": "Breath; CHEMISTRY.CHALLENGE TESTING; ExG; Exhaled gas; Exhaled gas (=breath); Gases; Glu; Glu tol; Gluc; Glucose HBT; Glucose HBT Pnl; Glucose tolerance; Glucoseur; GTT; Pan; PANEL…",
      "longCommonName": "Glucose challenge (hydrogen breath test) panel - Exhaled gas"
    }
  ],
  "limit": 3,
  "terms": "glucose",
  "total": 33,
  "hasMore": true,
  "nextPage": 2,
  "provider": "clinical-tables"
}
GET
Procedures/v1/health:clinical-tables/procedures
8 params

Procedure names — clinicaltables.nlm.nih.gov `procedures`, direct JSON, no key. The service answers with a positional array [total, codes, extra, displayRows]

Parameters

termsstringrequired
Search text. Several partial words are combined with an implicit AND
pagenumberoptional
Page number. Default 1
limitnumberoptional
Items per page. Default 10, max 500. Page times limit may not exceed 7500
fieldsstringoptional
Comma-separated fields returned as display strings. Allowed: primary_name, consumer_name, key_id, term_icd9_code, term_icd9_text, word_synonyms, synonyms, info_link_data.
extraFieldsstringoptional
Comma-separated fields returned with their native types, so objects and arrays stay structured. Accepts field:alias. Allowed: primary_name, consumer_name, key_id, term_icd9_code, term_icd9_text, word_synonyms, synonyms, info_link_data.
searchFieldsstringoptional
Comma-separated fields the search text is matched against. Allowed: primary_name, consumer_name, key_id, term_icd9_code, term_icd9_text, word_synonyms, synonyms, info_link_data.
codeFieldstringoptional
The single field to report as each item's code. Allowed: primary_name, consumer_name, key_id, term_icd9_code, term_icd9_text, word_synonyms, synonyms, info_link_data.
filterstringoptional
Elasticsearch query-string filter applied on top of the search text. It is not wildcarded automatically

Request

curl -X GET "https://api.zapi.ink/v1/health:clinical-tables/procedures?terms=appendectomy&page=1&limit=10&fields=primary_name%2Cconsumer_name%2Ckey_id&extraFields=synonyms%2Cword_synonyms&searchFields=primary_name%2Cconsumer_name%2Ckey_id&codeField=key_id&filter=primary_name%3Aappend*" \
  -H "x-api-key: zpi_xxxxxxxxxxxxxxxxxxxxxxxx"

Example response

{
  "page": 1,
  "count": 1,
  "items": [
    {
      "code": "377",
      "keyId": "377",
      "synonyms": [
        "appy"
      ],
      "primaryName": "Appendectomy",
      "consumerName": "Appendectomy"
    }
  ],
  "limit": 3,
  "terms": "appendectomy",
  "total": 1,
  "hasMore": false,
  "nextPage": null,
  "provider": "clinical-tables"
}
GET
Providers Individual/v1/health:clinical-tables/providers-individual
8 params

NPI registry — individual providers — clinicaltables.nlm.nih.gov `npi_idv`, direct JSON, no key. The service answers with a positional array [total, codes, extra, displayRows]

Parameters

termsstringrequired
Search text. Several partial words are combined with an implicit AND
pagenumberoptional
Page number. Default 1
limitnumberoptional
Items per page. Default 10, max 500. Page times limit may not exceed 7500
fieldsstringoptional
Comma-separated fields returned as display strings. Allowed: NPI, provider_type, gender, name, name.full, name.last, name.first, name.middle, name.credential, name.prefix, name.suffix, addr_practice, addr_practice.full, addr_practice.line1, addr_practice.line2, addr_practice.city, addr_practice.state, addr_practice.zip, addr_practice.phone, addr_practice.fax, addr_practice.country, addr_mailing, addr_mailing.full, addr_mailing.line1, addr_mailing.line2, addr_mailing.city, addr_mailing.state, addr_mailing.zip, addr_mailing.phone, addr_mailing.fax, addr_mailing.country, name_other, name_other.full, name_other.last, name_other.first, name_other.middle, name_other.credential, name_other.prefix, name_other.suffix, licenses, licenses.taxonomy, licenses.taxonomy.code, licenses.taxonomy.grouping, licenses.taxonomy.classification, licenses.taxonomy.specialization, licenses.medicare, licenses.medicare.spc_code, licenses.medicare.type, other_ids, other_ids.id, other_ids.type, other_ids.issuer, other_ids.state, misc, misc.auth_official, misc.replacement_NPI, misc.EIN, misc.enumeration_date, misc.last_update_date, misc.is_sole_proprietor, misc.is_org_subpart, misc.parent_LBN, misc.parent_TIN.
extraFieldsstringoptional
Comma-separated fields returned with their native types, so objects and arrays stay structured. Accepts field:alias. Allowed: NPI, provider_type, gender, name, name.full, name.last, name.first, name.middle, name.credential, name.prefix, name.suffix, addr_practice, addr_practice.full, addr_practice.line1, addr_practice.line2, addr_practice.city, addr_practice.state, addr_practice.zip, addr_practice.phone, addr_practice.fax, addr_practice.country, addr_mailing, addr_mailing.full, addr_mailing.line1, addr_mailing.line2, addr_mailing.city, addr_mailing.state, addr_mailing.zip, addr_mailing.phone, addr_mailing.fax, addr_mailing.country, name_other, name_other.full, name_other.last, name_other.first, name_other.middle, name_other.credential, name_other.prefix, name_other.suffix, licenses, licenses.taxonomy, licenses.taxonomy.code, licenses.taxonomy.grouping, licenses.taxonomy.classification, licenses.taxonomy.specialization, licenses.medicare, licenses.medicare.spc_code, licenses.medicare.type, other_ids, other_ids.id, other_ids.type, other_ids.issuer, other_ids.state, misc, misc.auth_official, misc.replacement_NPI, misc.EIN, misc.enumeration_date, misc.last_update_date, misc.is_sole_proprietor, misc.is_org_subpart, misc.parent_LBN, misc.parent_TIN.
searchFieldsstringoptional
Comma-separated fields the search text is matched against. Allowed: NPI, provider_type, gender, name, name.full, name.last, name.first, name.middle, name.credential, name.prefix, name.suffix, addr_practice, addr_practice.full, addr_practice.line1, addr_practice.line2, addr_practice.city, addr_practice.state, addr_practice.zip, addr_practice.phone, addr_practice.fax, addr_practice.country, addr_mailing, addr_mailing.full, addr_mailing.line1, addr_mailing.line2, addr_mailing.city, addr_mailing.state, addr_mailing.zip, addr_mailing.phone, addr_mailing.fax, addr_mailing.country, name_other, name_other.full, name_other.last, name_other.first, name_other.middle, name_other.credential, name_other.prefix, name_other.suffix, licenses, licenses.taxonomy, licenses.taxonomy.code, licenses.taxonomy.grouping, licenses.taxonomy.classification, licenses.taxonomy.specialization, licenses.medicare, licenses.medicare.spc_code, licenses.medicare.type, other_ids, other_ids.id, other_ids.type, other_ids.issuer, other_ids.state, misc, misc.auth_official, misc.replacement_NPI, misc.EIN, misc.enumeration_date, misc.last_update_date, misc.is_sole_proprietor, misc.is_org_subpart, misc.parent_LBN, misc.parent_TIN.
codeFieldstringoptional
The single field to report as each item's code. Allowed: NPI, provider_type, gender, name, name.full, name.last, name.first, name.middle, name.credential, name.prefix, name.suffix, addr_practice, addr_practice.full, addr_practice.line1, addr_practice.line2, addr_practice.city, addr_practice.state, addr_practice.zip, addr_practice.phone, addr_practice.fax, addr_practice.country, addr_mailing, addr_mailing.full, addr_mailing.line1, addr_mailing.line2, addr_mailing.city, addr_mailing.state, addr_mailing.zip, addr_mailing.phone, addr_mailing.fax, addr_mailing.country, name_other, name_other.full, name_other.last, name_other.first, name_other.middle, name_other.credential, name_other.prefix, name_other.suffix, licenses, licenses.taxonomy, licenses.taxonomy.code, licenses.taxonomy.grouping, licenses.taxonomy.classification, licenses.taxonomy.specialization, licenses.medicare, licenses.medicare.spc_code, licenses.medicare.type, other_ids, other_ids.id, other_ids.type, other_ids.issuer, other_ids.state, misc, misc.auth_official, misc.replacement_NPI, misc.EIN, misc.enumeration_date, misc.last_update_date, misc.is_sole_proprietor, misc.is_org_subpart, misc.parent_LBN, misc.parent_TIN.
filterstringoptional
Elasticsearch query-string filter applied on top of the search text. It is not wildcarded automatically

Request

curl -X GET "https://api.zapi.ink/v1/health:clinical-tables/providers-individual?terms=john+smith&page=1&limit=10&fields=NPI%2Cprovider_type%2Cgender&extraFields=name%2Caddr_practice&searchFields=NPI%2Cprovider_type%2Cgender&codeField=NPI&filter=addr_practice.state%3APA" \
  -H "x-api-key: zpi_xxxxxxxxxxxxxxxxxxxxxxxx"

Example response

{
  "page": 1,
  "count": 0,
  "items": [],
  "limit": 3,
  "terms": "john smith",
  "total": 0,
  "hasMore": false,
  "nextPage": null,
  "provider": "clinical-tables"
}
GET
Providers Organisation/v1/health:clinical-tables/providers-organisation
8 params

NPI registry — organisation providers — clinicaltables.nlm.nih.gov `npi_org`, direct JSON, no key. The service answers with a positional array [total, codes, extra, displayRows]

Parameters

termsstringrequired
Search text. Several partial words are combined with an implicit AND
pagenumberoptional
Page number. Default 1
limitnumberoptional
Items per page. Default 10, max 500. Page times limit may not exceed 7500
fieldsstringoptional
Comma-separated fields returned as display strings. Allowed: NPI, provider_type, name, name.full, name.last, name.first, name.middle, name.credential, name.prefix, name.suffix, addr_practice, addr_practice.full, addr_practice.line1, addr_practice.line2, addr_practice.city, addr_practice.state, addr_practice.zip, addr_practice.phone, addr_practice.fax, addr_practice.country, addr_mailing, addr_mailing.full, addr_mailing.line1, addr_mailing.line2, addr_mailing.city, addr_mailing.state, addr_mailing.zip, addr_mailing.phone, addr_mailing.fax, addr_mailing.country, name_other, name_other.full, name_other.last, name_other.first, name_other.middle, name_other.credential, name_other.prefix, name_other.suffix, licenses, licenses.taxonomy, licenses.taxonomy.code, licenses.taxonomy.grouping, licenses.taxonomy.classification, licenses.taxonomy.specialization, licenses.medicare, licenses.medicare.spc_code, licenses.medicare.type, other_ids, other_ids.id, other_ids.type, other_ids.issuer, other_ids.state, misc, misc.auth_official, misc.replacement_NPI, misc.EIN, misc.enumeration_date, misc.last_update_date, misc.is_sole_proprietor, misc.is_org_subpart, misc.parent_LBN, misc.parent_TIN.
extraFieldsstringoptional
Comma-separated fields returned with their native types, so objects and arrays stay structured. Accepts field:alias. Allowed: NPI, provider_type, name, name.full, name.last, name.first, name.middle, name.credential, name.prefix, name.suffix, addr_practice, addr_practice.full, addr_practice.line1, addr_practice.line2, addr_practice.city, addr_practice.state, addr_practice.zip, addr_practice.phone, addr_practice.fax, addr_practice.country, addr_mailing, addr_mailing.full, addr_mailing.line1, addr_mailing.line2, addr_mailing.city, addr_mailing.state, addr_mailing.zip, addr_mailing.phone, addr_mailing.fax, addr_mailing.country, name_other, name_other.full, name_other.last, name_other.first, name_other.middle, name_other.credential, name_other.prefix, name_other.suffix, licenses, licenses.taxonomy, licenses.taxonomy.code, licenses.taxonomy.grouping, licenses.taxonomy.classification, licenses.taxonomy.specialization, licenses.medicare, licenses.medicare.spc_code, licenses.medicare.type, other_ids, other_ids.id, other_ids.type, other_ids.issuer, other_ids.state, misc, misc.auth_official, misc.replacement_NPI, misc.EIN, misc.enumeration_date, misc.last_update_date, misc.is_sole_proprietor, misc.is_org_subpart, misc.parent_LBN, misc.parent_TIN.
searchFieldsstringoptional
Comma-separated fields the search text is matched against. Allowed: NPI, provider_type, name, name.full, name.last, name.first, name.middle, name.credential, name.prefix, name.suffix, addr_practice, addr_practice.full, addr_practice.line1, addr_practice.line2, addr_practice.city, addr_practice.state, addr_practice.zip, addr_practice.phone, addr_practice.fax, addr_practice.country, addr_mailing, addr_mailing.full, addr_mailing.line1, addr_mailing.line2, addr_mailing.city, addr_mailing.state, addr_mailing.zip, addr_mailing.phone, addr_mailing.fax, addr_mailing.country, name_other, name_other.full, name_other.last, name_other.first, name_other.middle, name_other.credential, name_other.prefix, name_other.suffix, licenses, licenses.taxonomy, licenses.taxonomy.code, licenses.taxonomy.grouping, licenses.taxonomy.classification, licenses.taxonomy.specialization, licenses.medicare, licenses.medicare.spc_code, licenses.medicare.type, other_ids, other_ids.id, other_ids.type, other_ids.issuer, other_ids.state, misc, misc.auth_official, misc.replacement_NPI, misc.EIN, misc.enumeration_date, misc.last_update_date, misc.is_sole_proprietor, misc.is_org_subpart, misc.parent_LBN, misc.parent_TIN.
codeFieldstringoptional
The single field to report as each item's code. Allowed: NPI, provider_type, name, name.full, name.last, name.first, name.middle, name.credential, name.prefix, name.suffix, addr_practice, addr_practice.full, addr_practice.line1, addr_practice.line2, addr_practice.city, addr_practice.state, addr_practice.zip, addr_practice.phone, addr_practice.fax, addr_practice.country, addr_mailing, addr_mailing.full, addr_mailing.line1, addr_mailing.line2, addr_mailing.city, addr_mailing.state, addr_mailing.zip, addr_mailing.phone, addr_mailing.fax, addr_mailing.country, name_other, name_other.full, name_other.last, name_other.first, name_other.middle, name_other.credential, name_other.prefix, name_other.suffix, licenses, licenses.taxonomy, licenses.taxonomy.code, licenses.taxonomy.grouping, licenses.taxonomy.classification, licenses.taxonomy.specialization, licenses.medicare, licenses.medicare.spc_code, licenses.medicare.type, other_ids, other_ids.id, other_ids.type, other_ids.issuer, other_ids.state, misc, misc.auth_official, misc.replacement_NPI, misc.EIN, misc.enumeration_date, misc.last_update_date, misc.is_sole_proprietor, misc.is_org_subpart, misc.parent_LBN, misc.parent_TIN.
filterstringoptional
Elasticsearch query-string filter applied on top of the search text. It is not wildcarded automatically

Request

curl -X GET "https://api.zapi.ink/v1/health:clinical-tables/providers-organisation?terms=hospital&page=1&limit=10&fields=NPI%2Cprovider_type%2Cname.full&extraFields=name%2Caddr_practice&searchFields=NPI%2Cprovider_type%2Cname.full&codeField=NPI&filter=addr_practice.state%3ATX" \
  -H "x-api-key: zpi_xxxxxxxxxxxxxxxxxxxxxxxx"

Example response

{
  "page": 1,
  "count": 3,
  "items": [
    {
      "npi": "1821205840",
      "code": "1821205840",
      "name": {
        "full": "HOSPITAL"
      },
      "nameFull": "HOSPITAL",
      "addrPractice": {
        "zip": "75115",
        "city": "DESOTO",
        "full": "605 AUSTIN DR, DESOTO, TX 75115",
        "zip4": "6605",
        "line1": "605 AUSTIN DR",
        "phone": "(972) 230-0854",
        "state": "TX",
        "country": "US"
      },
      "providerType": "Hospital-General"
    },
    {
      "npi": "1922162403",
      "code": "1922162403",
      "name": {
        "full": "INNOVA HOSPITAL HOUSTON LP DBA INNOVA HOSPITAL HOUSTON"
      },
      "nameFull": "INNOVA HOSPITAL HOUSTON LP DBA INNOVA HOSPITAL HOUSTON",
      "addrPractice": {
        "zip": "77004",
        "city": "HOUSTON",
        "full": "2001 HERMANN DR, HOUSTON, TX 77004",
        "zip4": "7321",
        "line1": "2001 HERMANN DR",
        "phone": "(713) 358-5300",
        "state": "TX",
        "country": "US"
      },
      "providerType": "Hospital-General"
    }
  ],
  "limit": 3,
  "terms": "hospital",
  "total": 5386,
  "hasMore": true,
  "nextPage": 2,
  "provider": "clinical-tables"
}
GET
Refseqs/v1/health:clinical-tables/refseqs
8 params

RefSeq transcript accessions — clinicaltables.nlm.nih.gov `refseqs`, direct JSON, no key. The service answers with a positional array [total, codes, extra, displayRows]

Parameters

termsstringrequired
Search text. Several partial words are combined with an implicit AND
pagenumberoptional
Page number. Default 1
limitnumberoptional
Items per page. Default 10, max 500. Page times limit may not exceed 7500
fieldsstringoptional
Comma-separated fields returned as display strings. Allowed: RefSeq, gene, NP_RefSeq, NC_RefSeq.
extraFieldsstringoptional
Comma-separated fields returned with their native types, so objects and arrays stay structured. Accepts field:alias. Allowed: RefSeq, gene, NP_RefSeq, NC_RefSeq.
searchFieldsstringoptional
Comma-separated fields the search text is matched against. Allowed: RefSeq, gene, NP_RefSeq, NC_RefSeq.
codeFieldstringoptional
The single field to report as each item's code. Allowed: RefSeq, gene, NP_RefSeq, NC_RefSeq.
filterstringoptional
Elasticsearch query-string filter applied on top of the search text. It is not wildcarded automatically

Request

curl -X GET "https://api.zapi.ink/v1/health:clinical-tables/refseqs?terms=BRCA1&page=1&limit=10&fields=RefSeq%2Cgene%2CNP_RefSeq&extraFields=RefSeq%2Cgene&searchFields=RefSeq%2Cgene%2CNP_RefSeq&codeField=RefSeq&filter=gene%3ABRCA1" \
  -H "x-api-key: zpi_xxxxxxxxxxxxxxxxxxxxxxxx"

Example response

{
  "page": 1,
  "count": 3,
  "items": [
    {
      "code": "NM_007300.3",
      "gene": "BRCA1",
      "refSeq": "NM_007300.3",
      "npRefSeq": "NP_009231.2"
    },
    {
      "code": "NR_027676.1",
      "gene": "BRCA1",
      "refSeq": "NR_027676.1"
    },
    {
      "code": "NM_007294.3",
      "gene": "BRCA1",
      "refSeq": "NM_007294.3",
      "npRefSeq": "NP_009225.1"
    }
  ],
  "limit": 3,
  "terms": "BRCA1",
  "total": 11,
  "hasMore": true,
  "nextPage": 2,
  "provider": "clinical-tables"
}
GET
Search/v1/health:clinical-tables/search
14 params

Generic Clinical Table Search — one grammar over all 22 keyless NLM tables. The escape hatch for the per-table endpoints: a table added upstream is reachable here without a new handler.

Parameters

tableenumrequired
The NLM clinical table to search Values: conditions, cosmic_struct, cytogenetic_locs, dbvar, disease_names, drug_ingredients, hcpcs, hpo, icd10cm, icd11_codes, icd9cm_dx, icd9cm_sg, loinc_items, ncbi_genes, npi_idv, npi_org, procedures, refseqs, rxterms, snps, star_alleles, ucum.
termsstringrequired
Search text. Several partial words are combined with an implicit AND
pagenumberoptional
Page number. Default 1
limitnumberoptional
Items per page. Default 10, max 500. Page times limit may not exceed 7500
fieldsstringoptional
Comma-separated fields returned as display strings. Each table has its own field list, and a name outside it is rejected rather than passed on
extraFieldsstringoptional
Comma-separated fields returned with their native types, so objects and arrays stay structured. Accepts field:alias
searchFieldsstringoptional
Comma-separated fields the search text is matched against
codeFieldstringoptional
The single field to report as each item's code
filterstringoptional
Elasticsearch query-string filter applied on top of the search text. It is not wildcarded automatically
typeenumoptional
loinc_items only. Restrict to questions, forms or panels Values: question, form, panel.
availableenumoptional
loinc_items only. With true, only forms whose definition this service can return Values: true, false.
excludeCopyrightedenumoptional
loinc_items only. With true, drop copyrighted items. Default false Values: true, false.
codeTypeenumoptional
icd11_codes only. Restrict to stem codes, extension codes, or both Values: stem, extension, category.
genomeBuildenumoptional
cosmic_struct only. GRCh human genome build the coordinates refer to Values: 37, 38.

Request

curl -X GET "https://api.zapi.ink/v1/health:clinical-tables/search?table=icd10cm&terms=diabetes&page=1&limit=10&fields=code%2Cname&extraFields=synonyms&searchFields=code%2Cname&codeField=code&filter=code%3AE11*&type=panel&available=true&excludeCopyrighted=false&codeType=stem&genomeBuild=38" \
  -H "x-api-key: zpi_xxxxxxxxxxxxxxxxxxxxxxxx"

Example response

{
  "page": 1,
  "count": 10,
  "items": [
    {
      "code": "E23.2",
      "name": "Diabetes insipidus"
    },
    {
      "code": "N25.1",
      "name": "Nephrogenic diabetes insipidus"
    },
    {
      "code": "P70.2",
      "name": "Neonatal diabetes mellitus"
    },
    {
      "code": "O24.92",
      "name": "Unspecified diabetes mellitus in childbirth"
    },
    {
      "code": "Z83.3",
      "name": "Family history of diabetes mellitus"
    },
    {
      "code": "Z86.32",
      "name": "Personal history of gestational diabetes"
    },
    {
      "code": "E10.65",
      "name": "Type 1 diabetes mellitus with hyperglycemia"
    },
    {
      "code": "E10.9",
      "name": "Type 1 diabetes mellitus without complications"
    }
  ],
  "limit": 10,
  "table": "icd10cm",
  "terms": "diabetes",
  "total": 481,
  "hasMore": true,
  "nextPage": 2,
  "provider": "clinical-tables"
}
GET
Snps/v1/health:clinical-tables/snps
8 params

dbSNP reference SNPs — clinicaltables.nlm.nih.gov `snps`, direct JSON, no key. The service answers with a positional array [total, codes, extra, displayRows]

Parameters

termsstringrequired
Search text. Several partial words are combined with an implicit AND
pagenumberoptional
Page number. Default 1
limitnumberoptional
Items per page. Default 10, max 500. Page times limit may not exceed 7500
fieldsstringoptional
Comma-separated fields returned as display strings. Allowed: rsNum, 38.alleles, 38.chr, 38.pos, 38.gene, 38.assembly, 38.seqID, 37.alleles, 37.chr, 37.pos, 37.gene, 37.assembly, 37.seqID.
extraFieldsstringoptional
Comma-separated fields returned with their native types, so objects and arrays stay structured. Accepts field:alias. Allowed: rsNum, 38.alleles, 38.chr, 38.pos, 38.gene, 38.assembly, 38.seqID, 37.alleles, 37.chr, 37.pos, 37.gene, 37.assembly, 37.seqID.
searchFieldsstringoptional
Comma-separated fields the search text is matched against. Allowed: rsNum, 38.alleles, 38.chr, 38.pos, 38.gene, 38.assembly, 38.seqID, 37.alleles, 37.chr, 37.pos, 37.gene, 37.assembly, 37.seqID.
codeFieldstringoptional
The single field to report as each item's code. Allowed: rsNum, 38.alleles, 38.chr, 38.pos, 38.gene, 38.assembly, 38.seqID, 37.alleles, 37.chr, 37.pos, 37.gene, 37.assembly, 37.seqID.
filterstringoptional
Elasticsearch query-string filter applied on top of the search text. It is not wildcarded automatically

Request

curl -X GET "https://api.zapi.ink/v1/health:clinical-tables/snps?terms=rs1000&page=1&limit=10&fields=rsNum%2C38.chr%2C38.pos&extraFields=rsNum%2C38.chr&searchFields=rsNum%2C38.chr%2C38.pos&codeField=rsNum&filter=38.chr%3A6" \
  -H "x-api-key: zpi_xxxxxxxxxxxxxxxxxxxxxxxx"

Example response

{
  "page": 1,
  "count": 3,
  "items": [
    {
      "code": "rs1000",
      "chr38": "6",
      "pos38": "32186117",
      "rsNum": "rs1000"
    },
    {
      "code": "rs1000000629",
      "chr38": "6",
      "pos38": "33235706",
      "rsNum": "rs1000000629"
    },
    {
      "code": "rs1000001594",
      "chr38": "6",
      "pos38": "33021616",
      "rsNum": "rs1000001594"
    }
  ],
  "limit": 3,
  "terms": "rs1000",
  "total": 10000,
  "hasMore": true,
  "nextPage": 2,
  "provider": "clinical-tables"
}
GET
Star Alleles/v1/health:clinical-tables/star-alleles
8 params

Pharmacogenomic star alleles — clinicaltables.nlm.nih.gov `star_alleles`, direct JSON, no key. The service answers with a positional array [total, codes, extra, displayRows]

Parameters

termsstringrequired
Search text. Several partial words are combined with an implicit AND
pagenumberoptional
Page number. Default 1
limitnumberoptional
Items per page. Default 10, max 500. Page times limit may not exceed 7500
fieldsstringoptional
Comma-separated fields returned as display strings. Allowed: StarAlleleName, GenBank, ProteinAffected, cDNANucleotideChanges, GeneNucleotideChange, XbaIHaplotype, RFLP, OtherNames, ProteinChange, InVivoEnzymeActivity, InVitroEnzymeActivity, References, ClinicalPhenotype, Notes.
extraFieldsstringoptional
Comma-separated fields returned with their native types, so objects and arrays stay structured. Accepts field:alias. Allowed: StarAlleleName, GenBank, ProteinAffected, cDNANucleotideChanges, GeneNucleotideChange, XbaIHaplotype, RFLP, OtherNames, ProteinChange, InVivoEnzymeActivity, InVitroEnzymeActivity, References, ClinicalPhenotype, Notes.
searchFieldsstringoptional
Comma-separated fields the search text is matched against. Allowed: StarAlleleName, GenBank, ProteinAffected, cDNANucleotideChanges, GeneNucleotideChange, XbaIHaplotype, RFLP, OtherNames, ProteinChange, InVivoEnzymeActivity, InVitroEnzymeActivity, References, ClinicalPhenotype, Notes.
codeFieldstringoptional
The single field to report as each item's code. Allowed: StarAlleleName, GenBank, ProteinAffected, cDNANucleotideChanges, GeneNucleotideChange, XbaIHaplotype, RFLP, OtherNames, ProteinChange, InVivoEnzymeActivity, InVitroEnzymeActivity, References, ClinicalPhenotype, Notes.
filterstringoptional
Elasticsearch query-string filter applied on top of the search text. It is not wildcarded automatically

Request

curl -X GET "https://api.zapi.ink/v1/health:clinical-tables/star-alleles?terms=CYP2D6&page=1&limit=10&fields=StarAlleleName%2COtherNames%2CGenBank&extraFields=XbaIHaplotype%2CRFLP&searchFields=StarAlleleName%2COtherNames%2CGenBank&codeField=StarAlleleName&filter=StarAlleleName%3ACYP2D6*" \
  -H "x-api-key: zpi_xxxxxxxxxxxxxxxxxxxxxxxx"

Example response

{
  "page": 1,
  "count": 3,
  "items": [
    {
      "code": "CYP2D6*18",
      "otherNames": "CYP2D6(J9)",
      "xbaIHaplotype": "29",
      "starAlleleName": "CYP2D6*18"
    },
    {
      "code": "CYP2D6*1A",
      "genBank": "M33388.1",
      "otherNames": "Wild-type",
      "xbaIHaplotype": "29",
      "starAlleleName": "CYP2D6*1A"
    },
    {
      "code": "CYP2D6*1B",
      "genBank": "M33388.1",
      "xbaIHaplotype": "29",
      "starAlleleName": "CYP2D6*1B"
    }
  ],
  "limit": 3,
  "terms": "CYP2D6",
  "total": 168,
  "hasMore": true,
  "nextPage": 2,
  "provider": "clinical-tables"
}
GET
Units/v1/health:clinical-tables/units
8 params

UCUM units of measure — clinicaltables.nlm.nih.gov `ucum`, direct JSON, no key. The service answers with a positional array [total, codes, extra, displayRows]

Parameters

termsstringrequired
Search text. Several partial words are combined with an implicit AND
pagenumberoptional
Page number. Default 1
limitnumberoptional
Items per page. Default 10, max 500. Page times limit may not exceed 7500
fieldsstringoptional
Comma-separated fields returned as display strings. Allowed: cs_code, name, category, synonyms, loinc_property, guidance, source, is_simple, cs_code_tokens.
extraFieldsstringoptional
Comma-separated fields returned with their native types, so objects and arrays stay structured. Accepts field:alias. Allowed: cs_code, name, category, synonyms, loinc_property, guidance, source, is_simple, cs_code_tokens.
searchFieldsstringoptional
Comma-separated fields the search text is matched against. Allowed: cs_code, name, category, synonyms, loinc_property, guidance, source, is_simple, cs_code_tokens.
codeFieldstringoptional
The single field to report as each item's code. Allowed: cs_code, name, category, synonyms, loinc_property, guidance, source, is_simple, cs_code_tokens.
filterstringoptional
Elasticsearch query-string filter applied on top of the search text. It is not wildcarded automatically

Request

curl -X GET "https://api.zapi.ink/v1/health:clinical-tables/units?terms=mg&page=1&limit=10&fields=cs_code%2Cname%2Ccategory&extraFields=synonyms%2Ccs_code_tokens&searchFields=cs_code%2Cname%2Ccategory&codeField=cs_code&filter=is_simple%3Atrue" \
  -H "x-api-key: zpi_xxxxxxxxxxxxxxxxxxxxxxxx"

Example response

{
  "page": 1,
  "count": 1,
  "items": [
    {
      "code": "mg",
      "name": "milligram",
      "csCode": "mg",
      "category": "Clinical",
      "synonyms": "milligrams",
      "csCodeTokens": "mg"
    }
  ],
  "limit": 3,
  "terms": "mg",
  "total": 1,
  "hasMore": false,
  "nextPage": null,
  "provider": "clinical-tables"
}

Related APIs

More in health

CDC

healthcdc

US CDC open data — Socrata dataset catalogue and SoQL queries, syndicated public-health content, environmental health tracking and WONDER mortality queries.

2323 calls so far5mResponses cached for 5m
Busy: 10+ calls so far

WHO GHO

healthwho

World Health Organization Global Health Observatory — 3,095 indicators with country, region, year and disaggregation filters plus uncertainty intervals.

1717 calls so far5mResponses cached for 5m
Busy: 10+ calls so far

MedlinePlus

healthmedlineplus

MedlinePlus consumer health — clinical code lookup across seven vocabularies, health-topic search in English and Spanish, and genetics condition and gene summaries.

77 calls so far5mResponses cached for 5m

Halodoc

healthhalodoc

Artikel kesehatan Halodoc — daftar artikel & detail artikel (gejala, obat, tips kesehatan).

44 calls so far10mResponses cached for 10m

Alodokter

healthalodokter

Artikel kesehatan Alodokter — daftar & detail artikel penyakit/obat/editorial lengkap dengan reviewer medis.

22 calls so far10mResponses cached for 10m
zapi.

One key, one response shape. We keep the scrapers working.

Get an API key
ProductBrowse APIsPricingDocsMCP server
DevelopersSDK on npmGitHubOpenAPI specllms.txt
SupportReport an issueDiscord
LegalTermsPrivacyCookiesAUPRefunds
© 2026 ZapiPublic web data, one API.
zapi.