ForHosting KIT · Health & fitness

eGFR cystatin C calculator

Estimates kidney filtration from cystatin C instead of creatinine: 1 mg/L in a 50-year-old woman gives 75.4 mL/min/1.73 m², stage G2. Cystatin C depends less on muscle mass, so it helps when creatinine is unreliable. Free in your browser.

  • Free
  • Runs in your browser
  • No sign-up
  • Your data stays on your device
Use it from WebAPIEmailTelegramApp soon
If you enter
Cystatin c
1
Age
50
Sex
Female
You get
Egfr
75.4
Equation
CKD-EPI cystatin C
Stage
G2
Stage label
Mildly decreased

Estimated glomerular filtration rate is the screening number clinicians and health apps use when they need a quick read on how well the kidneys clear waste from blood. Creatinine-based formulas are common, but cystatin C is less affected by muscle mass, diet, and some drugs, so many guidelines recommend a cystatin C equation when creatinine alone is unreliable. This calculator implements the CKD-EPI cystatin C equation: enter serum cystatin C in mg/L, age in years, and sex, and receive eGFR in mL/min/1.73 m² plus a KDIGO-style GFR category label. The formula has never used a race coefficient.

What eGFR from cystatin C means and why the equation exists

Glomerular filtration rate is the volume of blood filtered by the kidney glomeruli per unit time, normalized to body surface area. Direct measurement with inulin clearance or radionuclide methods is accurate but impractical for routine care, so laboratories report an estimate derived from a filtration marker and demographic factors. Serum creatinine is the most widely used marker, yet it rises and falls with muscle mass, high meat intake, amputation, and certain drugs, which can mis-classify filtration in frail, athletic, or chronically ill adults.

Cystatin C is a small protein produced by nucleated cells at a relatively constant rate and cleared by glomerular filtration; its serum level is less tied to muscle bulk, so the CKD-EPI collaboration published a dedicated cystatin C equation that maps Scys, age, and sex to eGFR without a race term.

That published form is exactly what this capability implements: one hundred thirty-three times the minimum of Scys over zero point eight raised to negative zero point four nine nine, times the maximum of Scys over zero point eight raised to negative one point three two eight, times zero point nine nine six to the power of age, times zero point nine three two when sex is female.

Unlike the older creatinine 2009 equation, cystatin C CKD-EPI never multiplied results by a race coefficient, so there is no race input to remove or hide—every adult is treated with the same published coefficients. Use this page when your search intent is specifically an eGFR cystatin C calculator, not a creatinine-only tool; the two markers answer related clinical questions but different lab inputs and SEO terms.

Age must be a whole number of years from eighteen through one hundred twenty; the adult equation is not validated for children, and pediatric eGFR needs separate formulas such as bedside Schwartz that this capability does not implement. Sex must be male or female (single-letter m or f is accepted and normalized); the equation only has published coefficients for those two categories. Missing required fields, non-numeric types, ages outside range, and ages that are not whole numbers likewise fail with a clear message naming the field.

Optional fields are omitted rather than set to null.

How to interpret results, clinical limits, and integration cost

eGFR is a screening estimate, not a standalone diagnosis of chronic kidney disease, and this tool does not provide medical advice or clinical interpretation. KDIGO stages G1 through G5 classify filtration level only; full CKD staging also considers albuminuria, clinical context, and whether reduced filtration is chronic or acute.

Cystatin C can still be influenced by thyroid disease, corticosteroids, inflammation, and assay differences, so a single number should not dose nephrotoxic drugs, clear patients for procedures, or establish a diagnosis on its own—any of those decisions needs a licensed clinician working from the full clinical picture. When both creatinine and cystatin C are available, combined equations may improve accuracy; this capability is intentionally the cystatin-only CKD-EPI form for callers who have Scys without creatinine or who want a muscle-mass-independent check next to a creatinine eGFR.

Patient education when creatinine is unreliable

Let users explore how cystatin C, age, and sex map to eGFR on a public health page when muscle mass or diet makes creatinine hard to interpret, with transparent formula naming.

Research coding and dataset labels

Attach a reproducible CKD-EPI cystatin C eGFR and KDIGO category to study rows when serum cystatin C and demographics are available without creatinine.

Product prototypes and dual-marker scaffolds

Wire a deterministic cystatin-only kidney-function step into apps that later compare against creatinine eGFR or hand off to licensed clinical systems.

Which eGFR equation does this calculator use?

The CKD-EPI cystatin C equation (Inker et al.). Results are in mL/min/1.73 m² and rounded to one decimal place. There is no race coefficient.

What units should I use for serum cystatin C?

Milligrams per liter (mg/L). That is the unit the published CKD-EPI cystatin C coefficients assume.

How is this different from the creatinine eGFR calculator?

It uses serum cystatin C instead of creatinine, different coefficients, and no race term was ever part of this equation. Search intent and lab input both differ from a creatinine-only tool.

Can I use this calculator for a child?

No. The equation is validated only for adults aged 18 to 120, entered in whole years. Children need dedicated formulas such as the bedside Schwartz equation, which this calculator does not apply.

Does a G2 or G3 result mean I have chronic kidney disease?

Not on its own. Stages G1 to G5 only classify the filtration level; a chronic kidney disease diagnosis also weighs albuminuria, clinical context and whether the drop is chronic or acute. Always review the result with a clinician.

Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.

POSThttps://api.kit.forhosting.com/health/egfr-cystatin

Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.

curl -X POST https://api.kit.forhosting.com/health/egfr-cystatin \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"cystatin_c":1,"age":50,"sex":"female"}'
{
  "cystatin_c": 1,
  "age": 50,
  "sex": "female"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "health.egfr_cystatin",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.

Per request$0.002

Published price — no tokens, no invented credits. A failed task is never charged.

HTTPCodeMeaning
401unauthorizedMissing or invalid API key.
402insufficient_balanceYour balance doesn't cover the task price.
404unknown_typeThat task type doesn't exist.
429rate_limitedToo many requests. Use the webhook instead of polling.

The math is fully deterministic and runs locally—no models, labs, or network calls—so the same inputs always produce the same result and patient-like values never leave the request path. This is a screening estimate, not a diagnosis: use it for education, triage checklists, research coding, and product prototypes that need a transparent, auditable eGFR step, and always pair the output with clinician judgment before any care decision.

What eGFR from cystatin C means and why the equation exists

Engineers and educators can reproduce reference values and wire the same number into dashboards, forms, and API pipelines.

Inputs, units, validation rules, and response shape

Send cystatin_c as a finite positive number in milligrams per liter (mg/L)—the unit assumed by the CKD-EPI cystatin C coefficients. Non-positive or zero cystatin C is rejected with invalid_input because a non-positive serum value is not clinically meaningful and would break the power terms. On success the response returns egfr rounded to one decimal place, the unit string mL/min/1.73m2, equation name CKD-EPI cystatin C, a KDIGO GFR stage code from G1 through G5 with a short stage_label, cystatin_c and cystatin_c_unit, plus age and sex echoes so callers can audit what was computed without re-parsing the request.

How to interpret results, clinical limits, and integration cost

The free browser page runs the same lib as the API; programmatic calls cost $0.002 per successful request from prepaid KIT balance with unit item, and invalid_input failures are not billed. Pair the JSON fields with your own UI—traffic-light bands, trend charts, or EHR notes—while keeping clinical interpretation outside this calculator and documenting that the equation is CKD-EPI cystatin C, not creatinine 2021.

What happens if cystatin_c is zero or negative?

The call fails with invalid_input. Non-positive serum cystatin C is rejected because it is not a valid input to the CKD-EPI power terms.

How much does the API cost?

The browser widget runs free and locally. The same computation via the API is billed at $0.002 per request from prepaid KIT balance, with no charge on invalid_input failures.

Read the full KIT documentation →