Eligibility API

For care providers, social service agencies and developers. Version 2026-10-24. Free. No key.

One call, one answer, with its sources. Send a care profile as JSON and get back, for each of the 10 schemes HomeWise tracks, a status, the reasons, what is still missing, the official page the rule came from and the day a person last read it. The same code answers the Subsidy Checker on this site.

Why this exists

Subsidy rules in Singapore change a few times a year, and most places that restate them, including this site in July 2026, have at some point published a figure from memory. HomeWise now keeps every figure next to the sentence on the official page it came from and the date it was read. A machine re-reads those pages every Monday; a person re-reads them at least every 90 days or the build fails. This API lets your system use that record instead of maintaining its own.

What it never does

It stores nothing. There is no database behind the endpoint, no log line that carries the request body, no cookie and no identifier. The profile you send is computed and answered. Rate limiting keys on a salted hash of the caller's address held in memory and forgotten within a day.

It never says "you qualify". The agencies decide: AIC, HDB, MOH, MOM and CPF Board. A result is a guide with its evidence attached, and the terms below ask you to present it that way.

Endpoint

POST https://www.homewise.sg/api/eligibility with a JSON object. GET the same URL returns this documentation as JSON. CORS is open, so a browser page may call it directly.

curl -X POST https://www.homewise.sg/api/eligibility \
  -H "Content-Type: application/json" \
  -d '{
    "citizenship": "SC",
    "age": 78,
    "housingType": "HDB_OWNER",
    "householderIsSingaporean": true,
    "livesAtHome": true,
    "adlCount": 3,
    "householdMonthlyIncome": 3600,
    "householdSize": 3
  }'

Request fields

Send only what you know. Every field is optional; an unknown fact becomes a need_more_info status with the question listed, never a guess. Unknown field names are ignored and reported back under ignoredFields.

FieldTypeAbout
citizenship"SC" | "PR" | "FOREIGNER"Of the person needing care.
prLinkedToSCbooleanA PR with a Singaporean parent, child or spouse. Matters for the Home Caregiving Grant.
ageinteger 0 to 120Of the person needing care.
birthYearinteger 1900 to 2030Decides the Pioneer or Merdeka Generation cohort and CareShield Life coverage. More exact than age.
incomePerPersonnumber, S$ per monthHousehold monthly income divided by the people it supports.
householdMonthlyIncomenumber, S$ per monthSend with householdSize instead of incomePerPerson and the division is done here.
householdSizeintegerPeople the household income supports.
householdHasNoIncomebooleanWhen true, means tests use the Annual Value instead.
annualValuenumber, S$Annual Value of the home, used only when there is no household income.
ownsMultiplePropertiesbooleanCaps the Home Caregiving Grant band and rules out Silver Support.
inNursingHomebooleanResidents of care institutions are outside SMF and HCG.
livesAtHomebooleanCare at home, as opposed to a care facility.
adlCountinteger 0 to 6How many of the six daily activities (walking, bathing, dressing, feeding, toileting, transferring) need help.
housingType"HDB_OWNER" | "HDB_TENANT" | "PRIVATE"HDB EASE and Silver Support depend on it.
householderIsSingaporeanbooleanThe flat owner or registered tenant, not the senior. HDB EASE looks at this person.
isMainCaregiverbooleanThe caller is the main caregiver. Needed for the Caregivers Training Grant.
careRecipientHasDisabilitybooleanA stated disability waives the age rule for the Caregivers Training Grant.
careShieldEnrolledbooleanCovered by CareShield Life or ElderShield, if known. ElderFund and IDAPE are only for those who are not.
employsHelperbooleanThe household employs a migrant domestic worker. Decides whether the levy concession matters.
claimedDeviceCategoryBeforebooleanA previous SMF claim in the same device category.

Response

{
  "apiVersion": "2026-10-24",
  "computedAt": "2026-10-17",
  "stored": false,
  "results": [
    {
      "scheme": "HCG",
      "name": "Home Caregiving Grant",
      "status": "likely",
      "indicativeMonthlyAmount": 600,
      "reasons": ["Needs help with 3 of 6 daily activities, meeting the minimum of 3.", "..."],
      "missing": [],
      "source": "https://www.aic.sg/HCG",
      "verifiedOn": "2026-10-15",
      "evidence": { "sourceOwner": "Agency for Integrated Care", "verifiedOn": "2026-10-15", "freshness": "current", "status": "verified" }
    },
    { "scheme": "SMF", "status": "likely", "...": "..." },
    { "scheme": "SSS", "status": "need_more_info", "missing": ["whether total CPF contributions by age 55 were S$140,000 or less ..."] }
  ],
  "questionsToAsk": ["..."],
  "ignoredFields": [],
  "evidence": [ { "schemeId": "SMF", "sourceUrl": "...", "verifiedOn": "...", "reverifyBy": "...", "freshness": "current", "status": "verified" } ],
  "disclaimer": "This is a guide, not a decision. ..."
}
StatusMeaning
likelyEvery rule we can check is met. The agency still decides.
possibleNothing rules it out, but a deciding fact is not something this API can know (for example the year someone became a citizen).
need_more_infoA rule could not be checked. The missing facts are listed under "missing".
unlikelyA stated fact fails a published rule. The reason is given.

Amounts are indicative and come only from the rules file, never computed from the request. The Home Caregiving Grant returns indicativeMonthlyAmount; Silver Support returns indicativeQuarterlyRange; CareShield Life returns an amountNote because its payout depends on birth year and claim year.

Schemes and evidence

Each row is the official page a scheme's figures were read from, the day a person read it, and whether that read succeeded. unverified means the page could not be read by us and the figures are held from a secondary official source; the Checker labels those "to confirm with the agency" and so should you.

SchemeAdministratorOfficial pageLast readStatus
Seniors' Mobility & Enabling FundAgency for Integrated Careaic.sg2026-10-15verified
HDB Enhancement for Active SeniorsHousing & Development Boardhdb.gov.sg2026-10-19verified
EASE (Private)Building and Construction Authorityease-private.gov.sg2026-10-19verified
Home Caregiving GrantAgency for Integrated Careaic.sg2026-10-15verified
Caregivers Training GrantAgency for Integrated Careaic.sg2026-10-15verified
Pioneer Generation and Merdeka Generation PackagesMinistry of Healthmoh.gov.sg2026-10-17verified
Silver Support SchemeCPF Boardcpf.gov.sg2026-10-17verified
CareShield LifeCPF Boardcpf.gov.sg2026-10-17verified
Migrant Domestic Worker Levy ConcessionMinistry of Manpowermom.gov.sg2026-10-24verified
Levy concession, disability route (AIC)Agency for Integrated Careaic.sg2026-10-24verified
ElderFundAgency for Integrated Careaic.sg2026-10-24verified
Interim Disability Assistance Programme for the Elderly (IDAPE)Agency for Integrated Careaic.sg2026-10-24verified

Limits

60 requests a minute and 2000 a day per caller, enforced per server instance; a 429 carries Retry-After. Bodies over 4096 bytes are refused with 413. If you need more, write to care@homewise.sg.

Terms

Free for any use, commercial included, on three conditions.

1. Show a result as a guide, never as an approval, and keep the status wording (likely, possible, need more information, unlikely) or an honest translation of it.

2. Keep the source and date with any figure you display. A number without its page and date is the problem this API exists to end.

3. Do not send personal data you are not entitled to process. HomeWise stores nothing, but your call still has to be lawful on your side.

No warranty. Rules are read from official pages on the dates shown; the agencies may change them before the next read. The version string changes when fields or statuses change; a new field is added without changing it.

How the figures are kept honest

Three layers in the code behind this site. The rules file holds the figures. The provenance file holds, for each figure, the official page, the quoted sentence and the date. A test fails the build when a figure is not in a quoted sentence or a page has gone more than 90 days unread. Every Monday a job re-reads each page, compares it with last week's text, and emails the team if anything moved or a cited sentence has disappeared.

Questions or a scheme you think is missing: care@homewise.sg. See also the plain-language methodology and the privacy notice.