Eligibility API
For care providers, social service agencies and developers. Version 2026-10-24. Free. No key.
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.
| Field | Type | About |
|---|---|---|
| citizenship | "SC" | "PR" | "FOREIGNER" | Of the person needing care. |
| prLinkedToSC | boolean | A PR with a Singaporean parent, child or spouse. Matters for the Home Caregiving Grant. |
| age | integer 0 to 120 | Of the person needing care. |
| birthYear | integer 1900 to 2030 | Decides the Pioneer or Merdeka Generation cohort and CareShield Life coverage. More exact than age. |
| incomePerPerson | number, S$ per month | Household monthly income divided by the people it supports. |
| householdMonthlyIncome | number, S$ per month | Send with householdSize instead of incomePerPerson and the division is done here. |
| householdSize | integer | People the household income supports. |
| householdHasNoIncome | boolean | When true, means tests use the Annual Value instead. |
| annualValue | number, S$ | Annual Value of the home, used only when there is no household income. |
| ownsMultipleProperties | boolean | Caps the Home Caregiving Grant band and rules out Silver Support. |
| inNursingHome | boolean | Residents of care institutions are outside SMF and HCG. |
| livesAtHome | boolean | Care at home, as opposed to a care facility. |
| adlCount | integer 0 to 6 | How 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. |
| householderIsSingaporean | boolean | The flat owner or registered tenant, not the senior. HDB EASE looks at this person. |
| isMainCaregiver | boolean | The caller is the main caregiver. Needed for the Caregivers Training Grant. |
| careRecipientHasDisability | boolean | A stated disability waives the age rule for the Caregivers Training Grant. |
| careShieldEnrolled | boolean | Covered by CareShield Life or ElderShield, if known. ElderFund and IDAPE are only for those who are not. |
| employsHelper | boolean | The household employs a migrant domestic worker. Decides whether the levy concession matters. |
| claimedDeviceCategoryBefore | boolean | A 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. ..."
}| Status | Meaning |
|---|---|
| likely | Every rule we can check is met. The agency still decides. |
| possible | Nothing rules it out, but a deciding fact is not something this API can know (for example the year someone became a citizen). |
| need_more_info | A rule could not be checked. The missing facts are listed under "missing". |
| unlikely | A 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.
| Scheme | Administrator | Official page | Last read | Status |
|---|---|---|---|---|
| Seniors' Mobility & Enabling Fund | Agency for Integrated Care | aic.sg | 2026-10-15 | verified |
| HDB Enhancement for Active Seniors | Housing & Development Board | hdb.gov.sg | 2026-10-19 | verified |
| EASE (Private) | Building and Construction Authority | ease-private.gov.sg | 2026-10-19 | verified |
| Home Caregiving Grant | Agency for Integrated Care | aic.sg | 2026-10-15 | verified |
| Caregivers Training Grant | Agency for Integrated Care | aic.sg | 2026-10-15 | verified |
| Pioneer Generation and Merdeka Generation Packages | Ministry of Health | moh.gov.sg | 2026-10-17 | verified |
| Silver Support Scheme | CPF Board | cpf.gov.sg | 2026-10-17 | verified |
| CareShield Life | CPF Board | cpf.gov.sg | 2026-10-17 | verified |
| Migrant Domestic Worker Levy Concession | Ministry of Manpower | mom.gov.sg | 2026-10-24 | verified |
| Levy concession, disability route (AIC) | Agency for Integrated Care | aic.sg | 2026-10-24 | verified |
| ElderFund | Agency for Integrated Care | aic.sg | 2026-10-24 | verified |
| Interim Disability Assistance Programme for the Elderly (IDAPE) | Agency for Integrated Care | aic.sg | 2026-10-24 | verified |
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.