covered For developers Pharmacy demo ↗ Tax demo ↗ Home care ↗

The benefits layer for any system.

Your users already trust you with their health and their money. Covered screens them for the government benefits they are missing and pre-fills the applications, right inside your product. Three lines to embed, one API to call.

Embed
Drop in the widget
One script tag renders a screener in an isolated Shadow DOM. Pre-fill what you already know.
Or call
Hit the API
POST a profile to /v1/eligibility, get programs and dollar values back.
Deterministic
Auditable results
A rules engine, not a guess. Same function the Covered app uses, with a regression suite and a policy drift checker against official sources.

Embed the widget

Paste this where you want the screener to appear. The pharmacy in the live demo uses exactly this.

<!-- the host pre-fills what it already knows -->
<div id="covered-widget"></div>
<script src="https://covered.example/static/embed.js"
        data-covered-key="demo-partner-key"
        data-mount="#covered-widget"
        data-brand="#c94a10"
        data-prefill='{"age":72,"province":"ON","prescription_costs_annual":2400}'></script>
AttributePurpose
data-covered-keyYour partner key. Sent as the X-Covered-Key header on every call.
data-mountCSS selector of the container to render into. Omit to insert after the script.
data-brandHex color for the widget accent, so it matches your product.
data-prefillJSON of any profile fields you already hold. The person answers only the rest.

Or call the API directly

Server to server, for your own UI or batch screening.

# request
curl -X POST https://covered.example/v1/eligibility \
  -H "X-Covered-Key: demo-partner-key" \
  -H "Content-Type: application/json" \
  -d '{"age":72,"province":"ON","annual_net_income":24000,
       "prescription_costs_annual":2400,"has_private_dental_insurance":false}'
# response
{
  "api_version": "1.0",
  "currency": "CAD",
  "total_estimated_annual": 3736,
  "programs_claimable": 4,
  "programs": [
    {
      "id": "cdcp",
      "name": "Canadian Dental Care Plan",
      "eligibility": "likely",
      "estimated_annual_value": 850,
      "reasons": ["..."],
      "next_steps": ["..."],
      "unlocked_by": null
    }
  ],
  "disclaimer": "Estimates use 2025-2026 CRA and Ontario rates..."
}
Auth. Every request carries a partner key in the X-Covered-Key header. The demo key demo-partner-key works against this instance. Real keys are issued per partner and scoped per environment.

Why embed instead of redirect

People do not leave to start a new account on a benefits site they have never heard of. They act where they already are: at the pharmacy counter, inside their tax software, in their banking app. Embedding puts the screen in front of millions of people at the moment coverage is on their mind, with zero new habit to learn.

Two live demos, same widget and API, each host pre-filling from the data it already holds:

Pharmacy portal → Tax software →