Preparing the file
Official data is loading. The statement will appear in a moment.
Preparing the file
Official data is loading. The statement will appear in a moment.
Every route requires an API key, included in the B2B tiers. Reading the catalogue counts against no evaluation: only its rate is capped. The contract is stable under /v1.
The descriptor below is the one the API serves: what you read here is what you will receive. GET https://app.cbfinder.ca/v1/schema
GET /v1/programmesAPI keyProgramme catalogue — filterable by province and theme. API key required, rate-limited, privately cached. Does not count against your evaluations.
Request fields
no body
Response fields
The catalogue, once you hold your key:
curl https://app.cbfinder.ca/v1/programmes \ -H "Authorization: Bearer $CBF_API_KEY"
Evaluation, which does count against your quota:
curl https://app.cbfinder.ca/v1/eligibility \
-X POST \
-H "Authorization: Bearer $CBF_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "age": 40, "revenu_annuel": 45000, "province": "QC", "situation_familiale": "marie", "nb_enfants": 1, "enfants_ages": [ 10 ], "citoyen_canadien": true, "resident_permanent": true, "emploi_statut": "employe_temps_plein", "handicap": false }'One API key per firm, generated from the B2B portal (Portal → API). Two distinct environments: a production key (live) and a test key (test). The test key evaluates with the same rules as production, without ever eating into your monthly quota.
Send the key in the Authorization header as a Bearer token. If your HTTP client does not let you set that header, use X-API-Key:
Authorization: Bearer <clé> # — ou — X-API-Key: <clé>
The portal is restricted to professional accounts attached to a firm: a citizen account has no access.
Monthly evaluation quota, per B2B tier. Reading the catalogue counts for nothing: its rate is capped separately, at 120 reads per minute per key. Beyond the quota: a 429 error, distinct from the authentication error, reset the following month.
Your manual tracking is available as JSON under a versioned contract: chosen statuses, estimated or reference amounts, resolved deadlines and sources. It requires your session. This is your file, not public data.
GET https://app.cbfinder.ca/api/dashboard/integrations/suivi
Point an agent, IDE, or assistant at CBF: it discovers the tools below and calls them itself. The client handles the protocol; you only configure the address.
list_programsCatalogue des prestations canadiennes sourcées, filtrable par province et par thème. Champs bilingues (fr/en) dans la même réponse. Demande un appelant identifié ; ne décompte aucune évaluation.authenticatedget_programFiche complète d'un programme du catalogue, par identifiant stable ou par slug.authenticatedcheck_eligibilityÉvalue un jeu de faits contre l'ensemble du catalogue. Estimation indicative, jamais une décision gouvernementale.API key + quotaget_trackingVotre dossier de suivi manuel : statuts choisis, montants estimés ou de référence, échéances résolues et niveau d'urgence.session or tokenAn MCP client carries no cookie. For tools marked “session or token”, create a personal access token: it represents you, opens nothing beyond your plan, carries an expiry, and can be revoked at any time. Create a token
curl https://app.cbfinder.ca/api/mcp \
-X POST \
-H "Authorization: Bearer $CBF_TOKEN" \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call",
"params":{"name":"get_tracking","arguments":{}}}'To check the connection, without authentication:
curl https://app.cbfinder.ca/api/mcp \
-X POST \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'Every refusal carries a stable code and an explicit cause: you know whether to fix the request, wait, or ask for access.
VALIDATION_ERRORA body or query field is missing, out of range, or the wrong type. The offending field is named in `error.field`.NOT_FOUNDThe requested identifier (e.g. a programme) does not exist in the catalogue.INTERNAL_ERRORUnexpected server-side error. Retry; if it persists, contact support.UNAUTHORIZEDThe API key is missing, malformed, unknown, or revoked.QUOTA_EXCEEDEDThe firm's monthly evaluation quota for its tier is exhausted. Retry next month (see the `Retry-After` header) or upgrade your tier.