Skip to main content

Evidence-based supplement research API client — search ingredients, conditions, evidence grades, and PubMed papers from Cited Health.

Project description

citedhealth

PyPI Python License: MIT Zero Dependencies

Pure Python API client for Cited Health — the evidence-based supplement research platform where every health claim is backed by peer-reviewed PubMed research. Search ingredients, conditions, evidence grades (A-F), and indexed papers. Free, no authentication required.

Cited Health maintains a growing network of supplement review sites covering hair health, sleep, and more. The platform indexes PubMed papers, extracts study data using AI, and calculates evidence grades from A (Strong — multiple RCTs/meta-analyses) to F (Negative — most studies show no effect).

Explore the evidence at citedhealth.comIngredients · Evidence · Papers · Developer Docs

Table of Contents

Install

# Core (zero dependencies)
pip install citedhealth

# With API client (adds httpx)
pip install "citedhealth[api]"

# With CLI (adds typer + rich)
pip install "citedhealth[cli]"

# With MCP server for AI assistants
pip install "citedhealth[mcp]"

# Everything
pip install "citedhealth[all]"

Quick Start

from citedhealth.api import CitedHealth

with CitedHealth() as api:
    # Search for supplement ingredients
    data = api.ingredients(q="biotin")
    print(data["results"][0]["name"])  # Biotin

    # Check evidence for a supplement-condition pair
    evidence = api.evidence(ingredient="biotin", condition="hair-loss")
    link = evidence["results"][0]
    print(f"Grade: {link['grade']}, Studies: {link['total_studies']}")

    # Get embeddable badge data
    badge = api.badge_data("biotin", "hair-loss")
    print(f"{badge['ingredient']} for {badge['condition']}: Grade {badge['grade']}")

What You Can Do

Search Ingredients

Cited Health catalogs supplement ingredients with their mechanisms of action, categories, and evidence profiles. Each ingredient is linked to conditions through evidence grades.

from citedhealth.api import CitedHealth

with CitedHealth() as api:
    # List all ingredients
    all_ingredients = api.ingredients()

    # Search by name
    results = api.ingredients(q="melatonin")

    # Filter by category (vitamins, herbs, amino-acids, minerals, etc.)
    vitamins = api.ingredients(category="vitamins")

Learn more: Browse Ingredients · Developer Docs

Check Evidence Grades

The evidence grading engine analyzes PubMed studies and calculates grades from A to F:

Grade Label Criteria
A Strong Multiple RCTs/meta-analyses, consistent positive results
B Moderate At least one RCT, mostly consistent
C Limited Small studies, some positive signals
D Preliminary In vitro, case reports, pilot studies
F Negative <30% of studies show positive effects
from citedhealth.api import CitedHealth

with CitedHealth() as api:
    # Check evidence for biotin and hair loss
    evidence = api.evidence(ingredient="biotin", condition="hair-loss")
    for link in evidence["results"]:
        print(f"{link['grade']}: {link['ingredient']['name']} for {link['condition']['name']}")
        print(f"  {link['total_studies']} studies, {link['total_participants']} participants")

Learn more: Evidence Reviews · Grading Methodology

Search PubMed Papers

All papers in Cited Health are indexed from PubMed and enriched with citation data from Semantic Scholar.

from citedhealth.api import CitedHealth

with CitedHealth() as api:
    # Search papers by title
    papers = api.papers(q="melatonin sleep quality")

    # Filter by publication year
    recent = api.papers(q="biotin", year=2024)
    for paper in recent["results"]:
        print(f"[PMID {paper['pmid']}] {paper['title']}")

Learn more: Browse Papers · OpenAPI Spec

Embed Evidence Badges

Get badge data to display evidence grades on external sites. Each badge shows the grade, study count, and links back to the full evidence review.

from citedhealth.api import CitedHealth

with CitedHealth() as api:
    badge = api.badge_data("biotin", "hair-loss")
    print(f"Grade: {badge['grade']} ({badge['grade_label']})")
    print(f"Studies: {badge['studies']}, Participants: {badge['participants']}")
    print(f"Evidence page: {badge['url']}")

Or embed directly with a script tag:

<script src="https://citedhealth.com/embed/biotin/for/hair-loss/badge.js"></script>

Command-Line Interface

# Search ingredients
citedhealth ingredients --query biotin

# Check evidence links
citedhealth evidence --ingredient biotin --condition hair-loss

# Search papers
citedhealth papers --query "melatonin sleep" --year 2024

# Get badge data
citedhealth badge biotin hair-loss

MCP Server (Claude, Cursor, Windsurf)

Add to your claude_desktop_config.json:

{
    "mcpServers": {
        "citedhealth": {
            "command": "uvx",
            "args": ["--from", "citedhealth[mcp]", "python", "-m", "citedhealth.mcp_server"]
        }
    }
}

Available tools:

  • search_ingredients — Search supplement ingredients
  • check_evidence — Check evidence grade for a supplement-condition pair
  • search_papers — Search PubMed-indexed papers

API Reference

Method Description Parameters
ingredients() List/search ingredients q, category, page, page_size
papers() List/search papers q, year, page, page_size
evidence() List evidence links ingredient, condition, page, page_size
badge_data() Get embed badge data ingredient_slug, condition_slug
openapi_spec() Get OpenAPI 3.1.0 spec

Learn More About Evidence-Based Supplements

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.1.0.tar.gz (72.8 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.1.0-py3-none-any.whl (10.7 kB view details)

Uploaded Python 3

File details

Details for the file citedhealth-0.1.0.tar.gz.

File metadata

  • Download URL: citedhealth-0.1.0.tar.gz
  • Upload date:
  • Size: 72.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.9 {"installer":{"name":"uv","version":"0.10.9","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.1.0.tar.gz
Algorithm Hash digest
SHA256 15739d782d207d6e536079784812f382df2dfbc8f73e13036031435b033e4717
MD5 16926e9d3a44ffde685db6bcb5cd934e
BLAKE2b-256 609b6fa3b037371834e1cda3fa5b6559b83964352be05126941a38dc55d5c61d

See more details on using hashes here.

File details

Details for the file citedhealth-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: citedhealth-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 10.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.9 {"installer":{"name":"uv","version":"0.10.9","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.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4d6643c8c451568f1afdc6a8acf038f5b4566129972a46f81209ea8111cb106b
MD5 fb16bdb4fc8316a312590a40f3a2d5ee
BLAKE2b-256 c1f258125ca176838cb3ef88c9d2040f73148f87f9388ce6719d1aa3820bcdce

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