Health Canada Drug Product Database
What is Health Canada's Drug Product Database?
Health Canada's Drug Product Database (DPD) is the official searchable database of drugs authorized for sale in Canada. Health Canada says it is updated nightly. It covers products for human, veterinary, disinfectant and radiopharmaceutical use, and has a dedicated section for biosimilars.
What it holds
- Product records: each product is tracked with its Drug Identification Number (DIN), the DIN owner company, active ingredients, dosage form, route of administration, schedule, therapeutic class, packaging and, for animal drugs, the target species.
- Documents: product monographs for human drugs and labels for animal drugs.
- Product status: each product is in one of four statuses:
- Approved: authorized but not currently sold.
- Marketed: active and on sale.
- Cancelled: inactivated, with sub-types such as "cancelled post market", "cancelled pre market", "cancelled (unreasonable annual)" and safety-related cancellations.
- Dormant: inactive.
- Bulk data download: Health Canada publishes the whole database as compressed UTF-8 text files, split into related tables (companies, drug products, ingredients, pharmaceutical standards, routes, schedules, therapeutic classes, packaging, biosimilars, forms, veterinary species). These are meant for users such as provincial formularies, insurers and claims adjudicators, who load them into their own systems. Company contact details are left out of the download.
How it's used
- Check whether a product is authorized, actually on the market, or cancelled in Canada.
- Look up the DIN for a product, or find every product from one company.
- Find the current product monograph or veterinary label.
- Fill or update formulary and reimbursement systems from the bulk download.
Separate Health Canada databases cover Notices of Compliance (NOC) and the Special Access Programme; both are also in the datasets I can search.
Approach: I read Health Canada's official DPD pages on canada.ca. The DPD itself is in the datasets I can search, so I can look up specific products, DINs, companies or statuses for you.
Sources:
How do I search it by active ingredient?
The fastest route is Health Canada's own DPD tools: search on the ingredient name, then use the Active Ingredient Group (AIG) number to find every product, brand or generic, with the same ingredient and strength. Our copy of the DPD can also filter by ingredient, but for now only for semaglutide.
1. Health Canada's DPD API (programmatic)
- Ingredient lookup: the active-ingredient endpoint
https://health-products.canada.ca/api/drug/activeingredient/takes aningredientname=parameter. It matches any part of the name, so "zinc" is searched as "%ZINC%". Other options arelang=en|frandtype=json|xml. - What you get back: each result carries a drug product code. Feed that code to the drug product endpoint
https://health-products.canada.ca/api/drug/drugproduct/?id=…to get the DIN, brand name and status. That endpoint also takesdin=,brandname=andstatus=(values 1-15).
2. Group results by AIG number
- The AIG is a 10-digit code shared by products with identical active ingredients and strengths.
- The first 2 digits are the number of ingredients, the middle 5 are the ingredient group, and the last 3 are the strength group. Strengths count as the same group within a tolerance of −2% to +10%.
- Health Canada names ingredients by their INN first, then USAN, Martindale or the Merck Index. Search the INN, not a brand or salt name. The strength refers to the active portion, not the salt.
3. In our datasets
- Semaglutide: I can search it directly by ingredient. That returns 51 products sharing ingredient group "59870". Examples:
- Any other ingredient: I search by keyword, which only hits brand and company names. For example, "metformin" finds products branded METFORMIN, AIG 0101773001 or 0101773002 [6][7]. Products whose brand name doesn't contain the ingredient won't show up. To catch those, I take the AIG from one hit and look for every product with the same number.
I couldn't open Health Canada's online DPD search form; the link redirected to an unrelated page. So I can't describe that form's ingredient field from the official page.
Approach: I searched our copy of Health Canada's Drug Product Database and read Health Canada's DPD terminology page and DPD API guide.
Sources:
What do the status fields mean?
A DPD product's status shows where its Drug Identification Number (DIN) is in its life cycle: Approved (authorized, not yet sold), Marketed (on sale now), Dormant (sold before, but no sales for at least 12 months) or Cancelled, which has several sub-types. Each product also keeps a dated history of its statuses, and a flag marks which one is current.
Status values (Health Canada definitions)
| Status | Health Canada's definition |
|---|---|
| Approved | "An active DIN for a product that has been reviewed and authorized for sale in Canada but has not yet been marketed in Canada." |
| Marketed | "An active DIN for a product that is currently being sold in Canada." |
| Dormant | "An active DIN for a product that was previously marketed in Canada but for which there have been no sales for a period of at least 12 consecutive months." |
| Cancelled Post Market | "A DIN that is cancelled further to the discontinuation of the sale of the product by the manufacturer." |
| Cancelled Pre Market | "A DIN that is cancelled before the product was ever marketed in Canada." |
| Cancelled (Unreturned Annual) | "A DIN that is cancelled due to failure to provide the Annual Notification." |
| Cancelled (Safety Issue) | The DIN was cancelled under regulatory provisions about failing to provide safety or effectiveness evidence, or failing to comply with assessment orders. |
| Cancelled (Transitioned to Biocides) | "A DIN that is cancelled after having been issued a market authorization under the Biocides Regulations." |
A correction to my first answer: the sub-type is "Unreturned Annual", not "unreasonable annual". The first three statuses are active DINs; the cancelled ones are not. The read-me also mentions two cancelled statuses tied to interim orders but doesn't name them.
Fields in the status file
- STATUS / STATUS_F: the status in English and French, e.g. MARKETED / COMMERCIALISÉ [8] and CANCELLED (UNRETURNED ANNUAL) / ANNULÉ (NOTIFICATION ANNUELLE OMISE) [9].
- CURRENT_STATUS_FLAG: "Y" marks the current status; "N" marks an earlier one. For example, drug code 19313 has several dated MARKETED and APPROVED rows going back to 31-DEC-1995. Only the MARKETED row dated 25-JUN-2025 is flagged Y [10][11][12]. So to get a product's status today, filter on Y.
- HISTORY_DATE: the date that status took effect. Health Canada notes that products entered before September 1996 may carry a placeholder date such as December 31, 19XX, which is why you see 31-DEC-1995 above.
- LOT_NUMBER / EXPIRATION_DATE: the batch number and product expiry date. In the extract they are usually blank and are filled in mainly on cancelled rows. Example: a CANCELLED POST MARKET row with lot MR103, expiry 31-AUG-2024 and status date 01-SEP-2024 [13].
How the extract is split
- The bulk download comes in files by status: the base file holds marketed products, "_ap" approved, "_ia" cancelled (inactivated) and "_dr" dormant. The dormant file has existed since September 1, 2017.
- Each file holds every product's full status history, not just its current status. A cancelled product's file still shows its earlier APPROVED and MARKETED rows, flagged N [14].
- In the current extract I found Approved, Marketed, Dormant, Cancelled Post Market, Cancelled Pre Market and Cancelled (Unreturned Annual) [15][16][17]. No Safety Issue or Transitioned to Biocides rows came up in the records I pulled.
Approach: I read the status tables in our copy of Health Canada's DPD bulk extract, and took the definitions from Health Canada's DPD terminology and read-me pages on canada.ca.
Sources: