Public API
Build on the Deductly database.
Free, no authentication, generous rate limits. Use it to power your own tools, dashboards, or partner integrations. The data is the same data Deductly uses for matching.
Get all programs
GET https://deductly.ca/api/v1/programs
Filtered queries
Combine query parameters to narrow results. All filters are AND-combined.
GET /api/v1/programs?province=ontario
GET /api/v1/programs?industry=technology&type=grant
GET /api/v1/programs?province=quebec&industry=manufacturing
Parameters
provinceontario, british-columbia, alberta, quebec, manitoba, saskatchewan, nova-scotia, new-brunswick, newfoundland-labrador, prince-edward-island, northwest-territories, nunavut, yukonindustrytechnology, retail, manufacturing, food-beverage, healthcare, professional-services, construction, agriculture, creative, othertypegrant, tax_credit, deduction, incentivelimitMax 100. Default 100.Response shape
{
"version": "v1",
"total": 47,
"results": [
{
"id": "cdap",
"name": "Canada Digital Adoption Program (CDAP)",
"type": "grant",
"description": "...",
"estimated_value": "Up to $15,000",
"eligibility": {
"business_types": ["incorporated", "partnership"],
"industries": [],
"provinces": [],
"min_employees": 1,
"max_employees": 499,
"min_revenue": 500000
},
"approval_likelihood": "high",
"required_documents": [...],
"next_steps": [...],
"application_url": "https://...",
"deadline": "Rolling applications"
}
]
}Rate limits
60 requests per minute per IP. Returns 429 when exceeded with a Retry-After header. Cache responses for an hour with the provided Cache-Control header.
Terms of use
- Free for personal and commercial use
- Attribution to Deductly appreciated but not required
- Always verify program details with the official source before applying
- Schema is not yet stable. We may add fields; we will not remove or rename existing ones in v1.
Examples
# curl curl 'https://deductly.ca/api/v1/programs?province=ontario&type=grant'
// JavaScript
const res = await fetch('https://deductly.ca/api/v1/programs?industry=technology')
const data = await res.json()
console.log(`Found ${data.total} programs`)# Python
import requests
res = requests.get('https://deductly.ca/api/v1/programs', params={'province': 'quebec'})
print(res.json()['total'])Building something interesting?
We'd love to hear about it. Let us know what you're building.
Get in touch