Skip to main content

Python client for the CITED Health evidence-based supplement API — 6 health sites

Project description

citedhealth

PyPI version Python License: MIT GitHub stars

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.

citedhealth Python CLI demo — search supplement ingredients, evidence grades, and PubMed papers

Table of Contents

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

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

citedhealth-0.4.0.tar.gz (393.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

citedhealth-0.4.0-py3-none-any.whl (12.6 kB view details)

Uploaded Python 3

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

Hashes for citedhealth-0.4.0.tar.gz
Algorithm Hash digest
SHA256 e3404d4173ed434d66d1a9feef3a325d354af971fb6c57692d9478c00206c43b
MD5 e9ebdc3ebdec3cc959e51be613361c89
BLAKE2b-256 70cb0a6682685a1d4d228994a8018d34f31e9df90bf0bda01ee6eea8c550fe5c

See more details on using hashes here.

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

Hashes for citedhealth-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 31a0162582a1c394e633ad0afc7387cb6da9d86f4fa7dd7a9f572c5bf4721bd0
MD5 4ce5aee398496080a9e316e003d4993c
BLAKE2b-256 1b91448f68e7324b2f68315ec0f69f888ff387314a96ed3676e0153ed5225d17

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page