ChargeWise Health — API Documentation

Mississippi hospital prices, the BCBSMS fee schedule, and national payers' published negotiated rates. Back to the price check

Overview

The ChargeWise Health API serves the prices Mississippi hospitals publish in their machine-readable price files under the federal hospital price transparency rules, plus two insurer-published layers: the fee schedule Blue Cross Blue Shield of Mississippi publishes in its Transparency in Coverage file, and — as a separately labelled layer — the negotiated rates UnitedHealthcare and Cigna publish in their Transparency in Coverage files for Mississippi provider groups. Every figure is shown as the hospital or insurer published it, and every response labels which kind of figure it is.

Base URL: https://api.chargewisehealth.com
The same endpoints also answer on the website origin: https://chargewisehealth.com/v1/…

Coverage today: 57 Mississippi hospitals, about 32.5 million published hospital price rows, the BCBSMS fee schedule, and about 9.4 million published UnitedHealthcare and Cigna negotiated rates for Mississippi provider groups. Data is refreshed monthly; each response carries a generated_at timestamp, and payer-layer responses carry the payer file date.

Authentication

Every /v1/* endpoint requires an API key in the X-API-Key header. Requests with a missing or invalid key return 401. Each key has a daily call cap; requests past the cap return 429 until the next day (UTC).

Key typeDaily capHow to get one
Demo (shared, used by the public lookup page)1,000 calls/day, shared by all visitorsAlready built into the price check page — no signup needed for casual lookups
Pilot / customerSet per plan (pilot keys: 1,000/day)Email hello@chargewisehealth.com

Treat your key like a password: it is metered, and usage is logged per key (endpoint, parameters, timestamp, status). Keys can be deactivated at any time.

curl -H "X-API-Key: YOUR_KEY" \
  "https://api.chargewisehealth.com/v1/prices?code=70551"

Endpoints

GET /health

Service status and dataset counts. No key required. The response reports each data layer separately: hospital prices, the BCBSMS fee-schedule layer (payer_layer), and the national negotiated-rate layer (national_layer, with per-payer counts, file dates, and the layer's identity and coverage caveats). In national_layer, bridged_price_rows (also reported as bridged_price_rows_served) counts the hospital-attributed price rows this API actually serves for a payer; source_bridged_rows counts the rows in the payer's source bridged table before attribution. The two measure different things — one source group price is attributed to every hospital whose tax ID appears in that group — so they are expected to differ.

curl "https://api.chargewisehealth.com/health"
→ {"status":"ok","price_rows":32491714,"hospitals":57, …}

GET /v1/prices KEY REQUIRED

Published prices for one procedure code across hospitals: gross charge, cash (self-pay) price, an optional insurer's negotiated rate, and the all-payer negotiated range. Where the payer layer covers a hospital, rows also include a payer_schedule object — the insurer's published fee schedule for that code and the gap against the hospital's own published rate. The schedule is labelled in every response: "insurer's published fee schedule (not a negotiated rate)". Where the hospital's published rate behind a comparison is a penny placeholder (under $1 in its own file), the payer_schedule object instead carries gap_placeholder: true with null gap figures — a gap against a $0.00 rate is meaningless. This is the same placeholder rule /v1/gaps applies; the published rate and the schedule rates themselves are still reported.

Where a hospital is bridged to a national payer's provider groups, rows also include a separate negotiated_rates object: the negotiated rates UnitedHealthcare and/or Cigna publish in their own Transparency in Coverage files for the groups whose tax ID includes that hospital, labelled in every response: "insurer's published negotiated rates (Transparency in Coverage file)". Each rate carries its billing class (institutional or professional) — a professional-class rate is a clinician rate, never a facility rate. The two objects are different kinds of figures from different publishers and are never merged.

ParameterRequiredMeaning
codeyesProcedure code, e.g. 70551 (brain MRI), 70450 (head CT)
payernoInsurer name filter for the negotiated rate, e.g. Blue Cross. Matching is by the labels hospitals publish; the response names the actual plan label matched
settingnooutpatient or inpatient (outpatient preferred by default)
sortnocash (default) or negotiated — negotiated requires payer
formatnojson (default) or csv — a spreadsheet export of the same rows
curl -H "X-API-Key: YOUR_KEY" \
  "https://api.chargewisehealth.com/v1/prices?code=70551&payer=Blue+Cross"

GET /v1/search KEY REQUIRED

Find procedure codes by name or code fragment — try q=knee MRI, q=mammogram, or q=7055. Returns at most 25 codes, ranked by hospital coverage, with the description hospitals publish most often for each code.

GET /v1/gaps KEY REQUIRED

Hospital-published outpatient Blue Cross rates side by side with the BCBSMS published fee schedule, largest gaps first. Optional filters: hospital_id, code, min_confidence (high, medium, or low), limit (default 100, max 1000). Rates under $1 are excluded — penny figures in the source files are placeholders. payer_fee_schedule_rate is a schedule figure from the insurer's own published file; it is not a negotiated rate.

GET /v1/fee-schedule KEY REQUIRED

The insurer's own published fee schedule for one code (code required): every distinct published price, its billing class (institutional / professional), and how many provider groups carry it. This endpoint serves the BCBSMS fee schedule only. An optional payer parameter names the layer: Blue Cross spellings return this schedule; naming a national payer returns 422 with a pointer to /v1/negotiated, because those payers publish negotiated rates, not a fee schedule.

GET /v1/negotiated KEY REQUIRED

The negotiated rates UnitedHealthcare and Cigna publish in their own Transparency in Coverage files for Mississippi provider groups — a separate layer from the BCBSMS fee schedule and from hospitals' own published rates. File dates: UnitedHealthcare 2026-11-01 (UnitedHealthcare of Mississippi, Inc., Choice Plus network file), Cigna 2026-11-01 (Cigna Health Life Insurance Company index; national and Mississippi-region network files).

ParameterRequiredMeaning
codeyesProcedure code, e.g. 70551
payernouhc (UnitedHealthcare) or cigna; omit for both payers
hospital_idnoRestrict to the provider groups bridged to one hospital (groups whose tax ID includes the hospital's EIN). Without it, results are statewide across the payer's Mississippi groups
billing_classnoinstitutional or professional
limitnoDefault 500, max 5000

Two honesty notes. Identity is tax-ID level, not campus level: a price is attributed to every hospital whose EIN appears in the publishing provider group, and some hospital systems share one EIN across campuses — the same convention as the BCBSMS bridge. And hospital-bridged coverage leans professional: for brain MRI (70551), both national payers' bridged prices are professional-class only, so do not read them as facility prices.

curl -H "X-API-Key: YOUR_KEY" \
  "https://api.chargewisehealth.com/v1/negotiated?code=70551&payer=uhc"

GET /v1/hospitals KEY REQUIRED

List the hospitals in the dataset. Optional filters: city, name. GET /v1/hospitals/{id} returns one hospital's detail, including its source file and file date.

Errors

StatusMeaning
401Missing or invalid API key
404Hospital not found
422Invalid parameter (the response body names the problem)
429Daily call cap reached for your key's plan
503That data layer is not installed on this server

A code with no published prices returns 200 with an empty result list.

About the data

  • Hospital figures come from each hospital's own published machine-readable file, shown as published — including each hospital's own wording for procedure descriptions.
  • Fee-schedule figures come from the insurer's published Transparency in Coverage file. A fee schedule is the insurer's standard published schedule; it is a different thing from a rate negotiated with a specific hospital, and responses label it that way.
  • Negotiated-rate figures (UnitedHealthcare, Cigna) come from those insurers' own published Transparency in Coverage files, filtered to Mississippi provider groups. A negotiated rate is the price in the insurer's contract with a provider group — not a standard schedule, and not a figure the hospital published. Responses label it that way, carry the insurer's file date, and keep it in a separate object from both hospital-published rates and the BCBSMS fee schedule.
  • Insurer-to-hospital matching is by tax ID (EIN). A provider group's rates are attributed to every hospital whose EIN appears in the group; some hospital systems share one EIN across campuses, so group rates can appear at more than one campus of the same system.
  • Published prices are not a quote. Your actual cost depends on your plan, deductible, and the care you receive.
  • ChargeWise Health is a data service. It holds no patient information and provides no medical, legal, or billing advice.

Questions, corrections, or your own API key: hello@chargewisehealth.com. See also our Terms of Use and Privacy Policy.