Health — entry 017 of 23
MedlinePlus Genetics
MedlinePlus Genetics (formerly Genetics Home Reference) publishes NLM's consumer-friendly summaries of genetic conditions, genes, chromosomes, and mtDNA as downloadable JSON or XML files, one per topic (e.g. download/genetics/condition/cystic-fibrosis.json), plus a separate wsearch.nlm.nih.gov endpoint for keyword search. No key or registration is required. A live Origin-header probe against the download host returns Access-Control-Allow-Origin scoped to *.nlm.nih.gov only, not a public wildcard, so the stored 'unknown' cors resolved to 'no' for general browser use.
MedlinePlus Genetics (formerly Genetics Home Reference) publishes NLM's consumer-friendly summaries of genetic conditions, genes, chromosomes, and mtDNA as downloadable per-topic files, plus a separate wsearch.nlm.nih.gov endpoint for keyword search. No key or registration is required for either host. A live Origin-header probe against the download host this run returned an access-control-allow-origin header whose value is the literal string `*.nlm.nih.gov` -- not a wildcard `*` -- which most browsers do not treat as matching an arbitrary Origin, so the stored 'unknown' cors resolved to 'no' for general browser use.
GreatAPIs Score
Auth quickstart
- No API key or registration required on either medlineplus.gov/download/genetics/ or wsearch.nlm.nih.gov/ws/query.
Your key is stored only in this browser (localStorage) and sent directly to the API — never to greatapis.
Download a condition summary by topic slug
GEThttps://medlineplus.gov/download/genetics/condition/alkaptonuria.json
{"_comment":"See https://medlineplus.gov/about/data-files-api","name":"Alkaptonuria","ghr_page":"https://medlineplus.gov/genetics/condition/alkaptonuria","text-list":[{"text":{"html":"<p>Alkaptonuria is an inherited condition that causes arthritis, kidney stones, spots of dark pigmentation, and dark urine. Ochronosis, a buildup of dark (blue-black) pigment in certain tissues, is a characteristic feature of alkaptonuria. The first symptom of alkaptonuria is often urine that turns black or very dark when it is exposed to air (oxidation). However, this color change may not occur immediately after urination.</p><p>Ochronosis occurs in connective tissues throughout the body, such as the joints, tendons, and ligaments. Pigment changes can be easily seen in the whites of the eyes (sclera), the outer ears, and the hands. Dark pigment can also be found in earwax and in body sweat (perspiration). These pigment changes are usually evident after age 30.</p><p>Ochronosis in the joints causes people with alkaptonuria to develop arthritis, typically in early adulthood. Arthritis usually affects the spine and large joints (such as the hips and knees). Many affected individuals require joint replacements later in life.</p><p>Over time, the deposits of pigment can harden (calcify). Calcification in joints or ligaments causes them to become rigid and brittle, decreasing their flexibility and making them prone to damage. Calcification of the discs that separate the bones of the spine can cause further back pain. This calcification can also affect the cartilage that makes up the valves of the heart, which allow blood to move through the heart and prevent blood from flowing backward. As a result, the heart valves narrow (stenosis), which can cause the valves to leak (regurgitation).</p><p>The body removes the excess pigment in urine. However, removing the large pigment deposits found in people with alkaptonuria can put strain on the kidneys, and this can lead to kidney (renal) failure. Similarly, a buildup of these substances in the kidneys or prostate gland can cause calcium stones to develop. If the body cannot effectively process and remove the pigment and related substances, these products substances can continue to build up in the body, worsening ochronosis, arthritis, and other features of alkaptonuria.</p><p>With appropriate medical management, people with alkaptonuria generally have a normal life expectancy.</p>","text-role":"description"}}],"inheritance-pattern-list":[{"inheritance-pattern":{"code":"ar","memo":"Autosomal recessive"}}],"related-gene-list":[{"related-gene":{"gene-symbol":"HGD","ghr-page":"https://medlineplus.gov/genetics/gene/hgd"}}],"synonym-list":[{"synonym":"AKU"},{"synonym":"Alcaptonuria"},{"synonym":"Homogentisic acid oxidase deficiency"},{"synonym":"Homogentisic acidura"}],"db-key-list":[{"db-key":{"db":"GTR","key":"C0002066"}},{"db-key":{"db":"ICD-10-CM","key":"E70.29"}},{"db-key":{"db":"MeSH","key":"D000474"}},{"db-key":{"db":"OMIM","key":"203500"}},{"db-key":{"db":"SNOMED CT","key":"360381004"}}],"reviewed":"2025-03","published":"2025-03-10"}Developer reference
https://medlineplus.gov/download/genetics/Gotchas & limits
- The JSON condition files are keyed oddly for a data API: the very first key in every response is `_comment`, a human-readable pointer back to the docs page (`"See https://medlineplus.gov/about/data-files-api"`) rather than a schema version or metadata field -- don't assume the first key is meaningful data.
- Not every topic has a genuinely-JSON `.json` file: the gene-level files (e.g. `/download/genetics/gene/CFTR.json`) return `content-type: application/json` but a body that is actually XML (`<?xml version="1.0" encoding="utf-8"?><gene-summary ...>`), confirmed live this run -- genes are XML-only despite the `.json` extension and header; only condition-level files are genuinely JSON.
- A nonexistent condition slug does not 404 with a JSON error -- `GET /download/genetics/condition/does-not-exist-xyz.json` returned HTTP 404 with a full MedlinePlus HTML error page as the body, confirmed live this run, so a naive JSON.parse on a miss will throw on markup, not on a clean error object.
- The separate keyword-search endpoint `wsearch.nlm.nih.gov/ws/query?db=healthTopics&term=...` returns XML (`content-type: text/xml; charset=UTF-8`), not JSON, and `db=healthTopics` searches MedlinePlus's general Health Topics corpus -- not specifically the genetics condition/gene files -- confirmed live: a search for "diabetes" returned 292 matching health-topic documents, unrelated to the genetics dataset.
- `retmax=0` on the wsearch endpoint is not honored as "return zero results": a live query with `retmax=0` this run still came back with `<retmax>10</retmax>` and 10 documents in the list, silently falling back to the default page size instead of erroring or returning an empty list.