Mayo Clinic API: Get condition overview
Finds a Mayo Clinic disease or condition page by name and returns its overview, symptoms, causes, when to see a doctor, risk factors, complications and prevention.
Unofficial. Not affiliated with or endorsed by Mayo Clinic.
Inputs
Values from the run on Oct 31, 2026, shown under Output.
- Condition, required
condition Disease or condition name in plain words, such as shingles or high blood pressure.
high blood pressure
Input as JSON
{ "condition": "high blood pressure"}Output
{ "causes": "Blood pressure is determined by two things: the amount of blood the heart pumps and how hard it is for the blood to move through the arteries. The more blood the heart pumps and the narrower the arteries, the higher the blood pressure.\n\nThere are two main types of high blood pressure.\n\nFor most adul…", "overview": "High blood pressure is a common condition that affects the body's arteries. It's also called hypertension. If you have high blood pressure, the force of the blood pushing against the artery walls is consistently too high. The heart has to work harder to pump blood.\n\nBlood pressure is measured in mil…", "symptoms": [ "Headaches", "Shortness of breath", "Nosebleeds" ], "page_link": "https://www.mayoclinic.org/diseases-conditions/high-blood-pressure/symptoms-causes/syc-20373410" , "prevention": null, "risk_factors": [ "Age. The risk of high blood pressure increases with age. Until about age 64, high blood pressure is more common in men. Women are more likely to develop high blood pressure after age 65.", "Race. High blood pressure is particularly common among Black people. It develops at an earlier age in Black people than it does in white people.", "Family history. You're more likely to develop high blood pressure if you have a parent or sibling with the condition." ], "complications": "The excessive pressure on the artery walls caused by high blood pressure can damage blood vessels and body organs. The higher the blood pressure and the longer it goes uncontrolled, the greater the damage.\n\nUncontrolled high blood pressure can lead to complications including:\n\nHeart attack or stroke…", "condition_name": "High blood pressure (hypertension)", "when_to_see_a_doctor": "Blood pressure screening is an important part of general health care. How often you should get your blood pressure checked depends on your age and overall health.\n\nAsk your provider for a blood pressure reading at least every two years starting at age 18. If you're age 40 or older, or you're 18 to 3…"}Code
curl https://api.fous.com/v1/runs \ -H "Authorization: Bearer $FOUS_API_KEY" \ -H "Content-Type: application/json" \ -d '{"method":"mayoclinic.org/get_condition","input":{"condition":"high blood pressure"}}' # Save as fous.py, then run: python3 fous.pyimport json, os, timefrom urllib.error import HTTPErrorfrom urllib.request import Request, urlopenAPI = "https://api.fous.com/v1/runs" KEY = os.environ["FOUS_API_KEY"]HEADERS = { "Authorization": f"Bearer {KEY}", "Content-Type": "application/json" ,}def call(url, body=None): data = json.dumps(body).encode() if body else None request = Request(url, data, HEADERS) try: with urlopen(request, timeout=120) as r: return r.status, json.load(r) except HTTPError as error: message = json.load(error)["error"]["message"] raise RuntimeError(message) from errorstatus, run = call(API, { "method": "mayoclinic.org/get_condition" , "input": { "condition": "high blood pressure" }})# 202: still going after 30 s. Ask again until it ends.while status == 202: time.sleep(2) status, run = call(f"{API}/{run['id']}")print(json.dumps(run["data"], indent=2))// Save as fous.mjs, then run: node fous.mjsconst api = "https://api.fous.com/v1/runs" ;const headers = { Authorization: `Bearer ${process.env.FOUS_API_KEY}`, "Content-Type": "application/json" ,};let response = await fetch(api, { method: "POST", headers, body: JSON.stringify({ "method": "mayoclinic.org/get_condition" , "input": { "condition": "high blood pressure" } }), signal: AbortSignal.timeout(120_000),});let run = await response.json();// 202: still going after 30 s. Ask again until it ends.while (response.status === 202) { await new Promise((done) => setTimeout(done, 2_000)); response = await fetch(`${api}/${run.id}`, { headers }); run = await response.json();}if (!response.ok) throw new Error(run.error.message);console.log(run.data);# Connect your agent to Fous once, over MCP (Streamable HTTP):# https://api.fous.com/mcp# Set FOUS_API_KEY first: create a key at https://app.fous.com/keys.# Claude Codeclaude mcp add \ --scope user \ --transport http fous https://api.fous.com/mcp \ --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"# Codexcodex mcp add fous \ --url https://api.fous.com/mcp \ --bearer-token-env-var FOUS_API_KEY# Cursor, VS Code, Windsurf, Cline and morenpx -y add-mcp https://api.fous.com/mcp -g -n fous \ --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"# Then ask your agent:# "Use Fous to run mayoclinic.org/get_condition# with {"condition":"high blood pressure"}"Over HTTP, the answer’s data holds the output. A run still going after 30 seconds answers 202 with its id: ask GET /v1/runs/{id} until it ends.
Schema
Input schema
{ "type": "object", "required": [ "condition" ], "properties": { "condition": { "type": "string", "minLength": 1, "description": "Disease or condition name in plain words, such as shingles or high blood pressure." } }}Output schema
{ "type": "object", "required": [ "condition_name", "overview", "symptoms", "when_to_see_a_doctor", "causes", "risk_factors", "complications", "prevention", "page_link" ], "properties": { "causes": { "type": [ "string", "null" ], "description": "Causes in plain text." }, "overview": { "type": [ "string", "null" ], "description": "Overview of the condition in plain text." }, "symptoms": { "type": "array", "items": { "type": "string" }, "description": "Symptoms in plain text." }, "page_link": { "type": "string", "description": "Link to the Mayo Clinic condition page." }, "prevention": { "type": [ "string", "null" ], "description": "Prevention in plain text, or null if no prevention section exists." }, "risk_factors": { "type": "array", "items": { "type": "string" }, "description": "Risk factors in plain text." }, "complications": { "type": [ "string", "null" ], "description": "Complications in plain text." }, "condition_name": { "type": "string", "description": "Name shown on the condition page." }, "when_to_see_a_doctor": { "type": [ "string", "null" ], "description": "When to see a doctor in plain text." } }}- Price
- 1 credit per completed run (1¢ with pay as you go); failed runs are free.
- Method
mayoclinic.org/get_condition- Returns
- condition name, overview, symptoms, when to see a doctor, causes, risk factors, complications, prevention, page link
Use it from your agent
Give your agent this line. It reads SKILL.md, gets a Fous API key and connects the Fous MCP server. Its run then takes the method mayoclinic.org/get_condition with the inputs above.
Ask your agent
- What are the symptoms and causes of shingles according to Mayo Clinic?
- My dad was just diagnosed with atrial fibrillation — what are the risk factors and possible complications?
- When should someone with plantar fasciitis see a doctor, and how can it be prevented?
- Pull up the mayoclinic.org overview page for type 2 diabetes with symptoms, causes, and prevention tips
- Give me a rundown of celiac disease: what it is, warning signs, and what increases your chances of getting it
See more
Finds WebMD's main guide for a condition through a Bing search. Returns its overview and its symptoms, causes, diagnosis, treatment and when-to-call-a-doctor sections.
webmd.com/get_conditionGets NHS guidance for a named health condition, including symptoms, when to seek help, causes, treatment and prevention. Sections not shown on NHS pages are null; for conditions with several guidance pages, the review date is the latest among the pages used.
nhs.uk/get_conditionLooks up a MedlinePlus health topic for a condition or symptom and returns its overview, related topics, and encyclopedia sections when a matching article is linked.
medlineplus.gov/get_health_topicGets CDC facts about a disease by name, including symptoms, how it spreads, prevention, treatment and higher-risk groups when covered. A review date is returned only when CDC labels one.
cdc.gov/get_disease_factsFinds ICD-10-CM diagnosis codes and official names from a plain-language condition description, retrying with simplified wording when the first search finds nothing.
clinicaltables.nlm.nih.gov/search_diagnosis_codesLooks up a medicine by brand or generic name on Drugs.com and returns a plain-language overview: class, uses, availability, schedule, dosage forms, side effects, and pregnancy and breastfeeding notes.
drugs.com/get_drugFinds ClinicalTrials.gov studies for a condition or medicine. You can filter by location, distance, recruitment status and phase. With a location, results are ordered by distance to the closest eligible site.
clinicaltrials.gov/search_trialsExplains a MedlinePlus medical test: what it measures, why it is ordered, how it is done, preparation, risks, and what the results mean.
medlineplus.gov/explain_lab_test