Python client for the CITED Health evidence-based supplement API — 6 health sites
Project description
citedhealth
Python client for the CITED Health evidence-based supplement API. Query 188 ingredients, 84 conditions, 323 evidence links, and 6,197 peer-reviewed papers across 6 health domains — every health claim backed by peer-reviewed research.
CITED Health covers 6 specialized health sites: HairCited (hair & scalp health), SleepCited (sleep quality), GutCited (digestive health), ImmuneCited (immune support), BrainCited (cognitive health), and the CITED Health hub — all powered by a unified evidence grading engine.
Try it live at citedhealth.com — evidence grades for supplements like Biotin, Melatonin, and Ashwagandha.
Table of Contents
- Install
- Quick Start
- Command-Line Interface
- What You Can Do
- Async Client
- Evidence Grades
- API Reference
- Learn More About Evidence-Based Supplements
- Also Available
- License
Install
pip install citedhealth
With CLI support:
pip install citedhealth[cli]
Quick Start
from citedhealth import CitedHealth
client = CitedHealth()
# Search ingredients by name
ingredients = client.search_ingredients("biotin")
print(ingredients[0].name) # "Biotin"
# Get evidence grade for an ingredient-condition pair
evidence = client.get_evidence("biotin", "nutritional-deficiency-hair-loss")
print(f"Grade: {evidence.grade} — {evidence.grade_label}")
# Grade: A — Strong Evidence
# Browse health conditions
conditions = client.list_conditions(is_featured=True)
for c in conditions:
print(f"{c.name}: {c.prevalence}")
# Look up glossary terms
terms = client.list_glossary(category="vitamins")
for t in terms:
print(f"{t.term}: {t.short_definition}")
# Search PubMed papers
papers = client.search_papers("biotin hair loss")
print(f"{len(papers)} papers found")
Command-Line Interface
Install with the cli extra for terminal access:
pip install citedhealth[cli]
Search ingredients
citedhealth ingredients biotin
Get evidence grade for an ingredient-condition pair
citedhealth evidence biotin nutritional-deficiency-hair-loss
Look up a single ingredient
citedhealth ingredient biotin
List health conditions
citedhealth conditions
citedhealth conditions --featured
citedhealth condition hair-loss
Browse glossary terms
citedhealth glossary
citedhealth glossary --category vitamins
List health guides
citedhealth guides
citedhealth guides --category hair
Search PubMed papers
citedhealth papers --year 2024
Get a paper by PubMed ID
citedhealth paper 12345678
All commands support --json for machine-readable output:
citedhealth ingredients biotin --json
citedhealth conditions --json
What You Can Do
Search Supplement Ingredients
Find ingredients by name or keyword across 188 supplements. Each ingredient includes category, mechanism of action, recommended dosage, and available forms.
client = CitedHealth()
# Search by keyword
results = client.search_ingredients("magnesium")
for ing in results:
print(f"{ing.name} ({ing.category}) — {', '.join(ing.forms)}")
# Get full details for a single ingredient
biotin = client.get_ingredient("biotin")
print(f"Mechanism: {biotin.mechanism}")
print(f"Dosage: {biotin.recommended_dosage}")
Look Up Evidence Grades
Every ingredient-condition pair has an A-F evidence grade calculated from peer-reviewed studies. The 323 evidence links span all 6 health domains.
# Check evidence for a specific supplement claim
evidence = client.get_evidence("melatonin", "insomnia")
print(f"Grade {evidence.grade}: {evidence.grade_label}")
print(f"Based on {evidence.total_studies} studies, {evidence.total_participants} participants")
print(f"Direction: {evidence.direction}")
Browse Health Conditions
Access 84 health conditions across 6 domains — hair loss, insomnia, IBS, immune deficiency, brain fog, and more. Each condition includes prevalence data, symptoms, and risk factors.
# List all featured conditions
conditions = client.list_conditions(is_featured=True)
for c in conditions:
print(f"{c.name} — {c.prevalence}")
print(f" Symptoms: {', '.join(c.symptoms[:3])}")
# Get condition details
condition = client.get_condition("hair-loss")
print(f"Risk factors: {', '.join(condition.risk_factors)}")
Explore Glossary Terms
Browse 228 glossary terms covering supplement science, pharmacology, and nutrition terminology.
# List glossary terms by category
terms = client.list_glossary(category="vitamins")
for t in terms:
print(f"{t.term} ({t.abbreviation}): {t.short_definition}")
# Get a specific term
term = client.get_glossary_term("bioavailability")
print(f"{term.term}: {term.definition}")
Read Health Guides
Access 50 health guides with evidence-based recommendations for supplement use.
# List all guides
guides = client.list_guides()
for g in guides:
print(f"{g.title} [{g.category}]")
# Get full guide content
guide = client.get_guide("biotin-for-hair-growth")
print(guide.content)
Search PubMed Papers
Access 6,197 PubMed-indexed papers with citation data from Semantic Scholar.
# Search by keyword
papers = client.search_papers("vitamin D immune")
for p in papers:
print(f"[{p.pmid}] {p.title} ({p.publication_year})")
# Filter by year
recent = client.search_papers(year=2024)
print(f"{len(recent)} papers published in 2024")
Async Client
For async applications, use AsyncCitedHealth:
import asyncio
from citedhealth import AsyncCitedHealth
async def main():
async with AsyncCitedHealth() as client:
# All methods available as async versions
ingredients = await client.search_ingredients("zinc")
conditions = await client.list_conditions(is_featured=True)
glossary = await client.list_glossary()
guides = await client.list_guides()
evidence = await client.get_evidence("zinc", "immune-function")
print(f"Grade: {evidence.grade}")
asyncio.run(main())
Evidence Grades
| Grade | Label | Criteria |
|---|---|---|
| A | Strong Evidence | Multiple RCTs/meta-analyses, consistent positive results |
| B | Good Evidence | At least one RCT, mostly consistent |
| C | Some Evidence | Small studies, some positive signals |
| D | Very Early Research | In vitro, case reports, pilot studies |
| F | Evidence Against | <30% of studies show positive effects |
API Reference
| Method | Description |
|---|---|
search_ingredients(query, category) |
Search ingredients by name or category |
get_ingredient(slug) |
Get ingredient by slug |
get_evidence(ingredient, condition) |
Get evidence for an ingredient-condition pair |
get_evidence_by_id(pk) |
Get evidence link by ID |
search_papers(query, year) |
Search PubMed papers |
get_paper(pmid) |
Get paper by PubMed ID |
list_conditions(is_featured) |
List health conditions |
get_condition(slug) |
Get condition by slug |
list_glossary(category) |
List glossary terms |
get_glossary_term(slug) |
Get glossary term by slug |
list_guides(category) |
List health guides |
get_guide(slug) |
Get guide by slug |
Full API documentation: citedhealth.com/developers/
OpenAPI spec: citedhealth.com/api/openapi.json
Learn More About Evidence-Based Supplements
- Sites: Hair Health · Sleep Health · Gut Health · Immune Health · Brain Health · Hub
- Tools: Evidence Checker · Ingredient Browser · Paper Search
- Guides: Grading Methodology · Medical Disclaimer
- API: REST API Docs · OpenAPI Spec
Also Available
| Platform | Install | Link |
|---|---|---|
| npm | npm install citedhealth |
npm |
| Go | go get github.com/citedhealth/citedhealth-go |
pkg.go.dev |
| Rust | cargo add citedhealth |
crates.io |
| Ruby | gem install citedhealth |
RubyGems |
| MCP | uvx citedhealth-mcp |
PyPI |
License
MIT — see LICENSE.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file citedhealth-0.4.0.tar.gz.
File metadata
- Download URL: citedhealth-0.4.0.tar.gz
- Upload date:
- Size: 393.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.11 {"installer":{"name":"uv","version":"0.10.11","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e3404d4173ed434d66d1a9feef3a325d354af971fb6c57692d9478c00206c43b
|
|
| MD5 |
e9ebdc3ebdec3cc959e51be613361c89
|
|
| BLAKE2b-256 |
70cb0a6682685a1d4d228994a8018d34f31e9df90bf0bda01ee6eea8c550fe5c
|
File details
Details for the file citedhealth-0.4.0-py3-none-any.whl.
File metadata
- Download URL: citedhealth-0.4.0-py3-none-any.whl
- Upload date:
- Size: 12.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.11 {"installer":{"name":"uv","version":"0.10.11","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
31a0162582a1c394e633ad0afc7387cb6da9d86f4fa7dd7a9f572c5bf4721bd0
|
|
| MD5 |
4ce5aee398496080a9e316e003d4993c
|
|
| BLAKE2b-256 |
1b91448f68e7324b2f68315ec0f69f888ff387314a96ed3676e0153ed5225d17
|