canonical: https://jentic.com/apis/health-products.canada.ca/health-canada-dpd

# Health Products Canada Ca Health Canada Drug Product Database (DPD) API

The Health Canada Drug Product Database (DPD) API provides public access to information on approved drug products in Canada, including human, veterinary, and disinfectant products. The API exposes endpoints for active ingredients, companies, drug products, dosage forms, packaging, pharmaceutical standards, routes of administration, schedules, statuses, therapeutic classes, and veterinary species. Pharmacy software, clinical decision-support tools, and public-health researchers use it to look up authorised products by DIN, brand name, or ingredient.

## For AI agents

Look up Canadian-approved drug product details - DIN, ingredients, dosage form, schedule, manufacturer, and therapeutic class - through the Health Canada Drug Product Database.

## Scope

Does not handle prescribing, dispensing, or interaction checking - use for read-only lookup of Canadian drug product regulatory data only.

## Capabilities

- Search drug products by DIN, brand name, or active ingredient via /drugproduct/
- Retrieve active-ingredient details and strength data via /activeingredient/
- Look up the company (manufacturer, distributor, or marketer) tied to a drug via /company/
- Inspect dosage form, packaging, and route of administration through /form/, /packaging/, and /route/
- Read regulatory metadata such as schedule, status, and therapeutic class for clinical or compliance checks
- Filter veterinary products by approved species through /veterinaryspecies/

## Use cases

### Pharmacy Lookup of Canadian Drug Products

Pharmacy software queries /drugproduct/ by DIN to fetch the brand name, dosage form, and approved indications for a prescription. The /activeingredient/ endpoint returns the strengths used in the product, which lets the pharmacy system flag duplicates when a patient is already on a similar product. This grounds dispensing decisions in the official Health Canada record rather than a third-party data feed.

Example prompt: GET /drugproduct/ filtered by din and return the brand name, company id, and dosage form id

### Clinical Decision Support

Clinical apps combine /activeingredient/, /therapeuticclass/, and /schedule/ to surface drug class, controlled-substance schedule, and ingredient strength when a clinician searches for a product. Joining these resources gives a richer view than any single endpoint and supports interaction checks and prescribing rules. The data is the official regulatory record, which helps when audited.

Example prompt: Fetch /therapeuticclass/ and /schedule/ for a drug product id and return the class name and schedule label

### Veterinary Drug Lookup by Species

Veterinary practice management tools use /veterinaryspecies/ to filter approved drugs by the species being treated. Combined with /drugproduct/ and /route/, the result is a list of authorised products for, say, equine or bovine use, with the approved route of administration. This avoids manually scraping the public DPD search page.

Example prompt: GET /veterinaryspecies/ filtered by speciesname and return the list of approved drug code ids

### AI Agent Drug Lookup via Jentic

Health-focused agents search Jentic for 'look up a Canadian drug product' and Jentic returns the /drugproduct/ operation along with related ingredient and company endpoints. Because the DPD API is unauthenticated, agents can call it without credentials, but routing through Jentic adds caching, rate-limit handling, and a consistent search interface across other healthcare APIs. This makes Canadian drug data trivially composable into agent workflows.

Example prompt: Use Jentic search 'look up a Canadian drug product' to load /drugproduct/ and execute with a brand name parameter

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | `/drugproduct/` | List or search drug products |
| GET | `/activeingredient/` | Read active ingredient details |
| GET | `/company/` | Read company records |
| GET | `/form/` | List dosage forms |
| GET | `/route/` | List routes of administration |
| GET | `/schedule/` | Read controlled-substance schedules |
| GET | `/therapeuticclass/` | Look up therapeutic classes |
| GET | `/veterinaryspecies/` | Filter products by veterinary species |

## Key resources

- **Drug Product** — Look up authorised drug products by DIN or name via /drugproduct/
- **Active Ingredient** — Retrieve ingredient names and strengths via /activeingredient/
- **Company** — Read manufacturer, distributor, and marketer details via /company/
- **Form** — List dosage forms via /form/
- **Packaging** — Inspect packaging configurations via /packaging/
- **Route** — Look up routes of administration via /route/
- **Schedule** — Read controlled-substance schedule classifications via /schedule/
- **Status** — Read approval and marketing status via /status/
- **Therapeutic Class** — Look up therapeutic classes via /therapeuticclass/
- **Veterinary Species** — Filter veterinary products by species via /veterinaryspecies/
- **Pharmaceutical Standard** — Read pharmaceutical standards via /pharmaceuticalstd/

## Why Jentic

- **Setup:** The Health Canada Drug Product Database API needs no credential, so wiring it by hand is mostly formatting query parameters and reconciling its responses with your other tools. Through Jentic you install once, import the DPD API from the API Directory, and your agent calls it with a consistent request and response shape.
- **Permission scoping:** The DPD API is read-only and unauthenticated, with lookups spread across endpoints like /drugproduct, /activeingredient, and /company, so limit the agent to the lookups it needs, such as finding a drug product or an ingredient. You choose the operations it may call, so anything outside that set is not included unless you add it.
- **Credential handling:** The DPD API is unauthenticated, so there is no credential to store or inject. Jentic still routes the call through your own Jentic One instance so it shares a consistent execution surface with your other tools.
- **Discovery method:** Agents search Jentic by intent such as 'look up a Canadian drug product' or 'find a drug by ingredient', and Jentic returns the matching DPD operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **NLM RxNav API** — RxNav from the US National Library of Medicine provides equivalent drug data for the US market via RxNorm
- **ClinicalTrials.gov API** — ClinicalTrials.gov returns trial records that often reference the same active ingredients in the DPD
- **Healthcare.gov Content API** — Healthcare.gov publishes US consumer-facing health content that complements the regulatory drug data in the DPD

## FAQ

### What authentication does the Health Canada Drug Product Database API use?

The DPD API is public and does not require authentication. The OpenAPI spec defines no security schemes, so calls go through with no API key or token attached.

### Can I look up a Canadian drug by DIN?

Yes. Call GET /drugproduct/ and pass the DIN as a query filter; the response contains the brand name, company id, and links to the dosage form, ingredient, and packaging records for that product.

### What are the rate limits for the Health Canada DPD API?

Health Canada does not publish a hard rate limit, but the service is shared and the documentation asks consumers to throttle bulk requests. For automation, batch reads and cache results where possible to avoid being deprioritised.

### How do I find all products containing a specific active ingredient through Jentic?

Search Jentic for 'find drug products by ingredient', load the /activeingredient/ operation for health-products.canada.ca, and execute with the ingredient name. Cross-reference the result with /drugproduct/ to get the full product list.

### Is the Health Canada DPD API free?

Yes. The DPD API is provided by the Government of Canada at no cost. Use of the data is subject to the Open Government Licence - Canada.

### Does the DPD API include veterinary drugs?

Yes. /veterinaryspecies/ lists the approved species for veterinary drug products, and /drugproduct/ returns both human and veterinary products. Filter by class or species to scope results to one audience.

### Can I limit what my agent is allowed to do with the Health Canada Drug Product Database API?

Yes. Because you run Jentic One yourself, your own rules decide which DPD operations the agent may call, so you can allow only the lookups it needs, such as GET /drugproduct/ or GET /activeingredient/, and leave endpoints like /company/ or /veterinaryspecies/ out of scope. Anything you do not add stays unavailable to the agent. Since the DPD API is read-only and unauthenticated, there is no credential to hand over, and the agent can only reach the lookups you explicitly grant.
