---
title: "Search Health Canada Drug Product Database"
method: GET
path: "/v1/sources/health-canada-drugs/search"
tags: ["Health Canada Drug Product Database"]
---

# Search Health Canada Drug Product Database

`GET /v1/sources/health-canada-drugs/search`

## Request

- Base URL: `https://api.assyro.com`
- URL: `https://api.assyro.com/v1/sources/health-canada-drugs/search`
- Auth: none declared

Search the Health Canada Drug Product Database (DPD), the register of every drug authorized for sale in Canada (human, veterinary, biologic, radiopharmaceutical, disinfectant), marketed, dormant or cancelled, by brand name, active ingredient or 8-digit DIN, optionally by status. Returns products with DIN, company, current status and ingredients, cited by DPD drug code. With searchBy "auto" a DIN is looked up as a DIN, otherwise the brand is tried, then the ingredient; a name the DPD does not know (a US brand, a misspelling) is retried once by its RxNorm ingredient names (records then say matchedVia "rxnorm"). Call read_health_canada_drug for schedule, route, dosage form, strengths and ATC class. The DPD is a product register: it holds no label text, no approval review and no safety data, and covers Canada only.

## Query parameters

- `query` string, required: A brand name ("ozempic"), an active ingredient ("semaglutide") or an 8-digit DIN ("02471469"). Matches part of a name.
- `searchBy` 'auto' | 'brand' | 'ingredient' | 'din': auto (default): DIN if 8 digits, else brand then ingredient. Or force brand, ingredient or din.
- `status` 'approved' | 'marketed' | 'cancelled_pre_market' | 'cancelled_post_market' | 'dormant' | 'cancelled_unreturned_annual' | 'cancelled_safety_issue' | 'authorized_by_interim_order' | 'interim_order_revoked' | 'restricted_access' | 'interim_order_expired' | 'cancelled_transitioned_to_biocides': Only products with this current status. With an ingredient search the status is checked product by product, at most 20 from the offset, and offset counts ingredient matches rather than filtered results.
- `limit` integer: Products to return, default 8.
- `offset` integer: Skip this many products (for paging), default 0.

## Response `200`

Matching records.

- SearchResponse
  - `version` unknown, required
  - `source` SourceRef, required
    - `id` string, required
    - `label` string, required
    - `authority` string, required
  - `total` integer, nullable, required: Total matches the source reports, when it says.
  - `records` Record[], required
    - `id` string, required: The source's own identifier for the record.
    - `title` string, required
    - `url` string, required: The record's page at the source, to verify it.
    - `authority` string, required: Who published the record.
    - `snippet` string, nullable, required: The part of the record that matched; null where the licence allows only a link.
    - `publishedDate` string, nullable, required
    - `version` string, nullable, required: The edition or revision read.
    - `fields` object, nullable, required: The source's own fields; null where the licence allows only a link.
    - `asOf` string, nullable, required: The day Assyro's copy of the source was read (YYYY-MM-DD).
    - `attribution` string: The attribution the source's licence requires, on sources that require one.
  - `note` string
  - `summary` string[]

## Other responses

- `400`: The request is not valid: an unknown parameter or an argument the source refuses.
- `404`: No such source or record.
- `429`: Rate limited; retry after the Retry-After header.
- `503`: The source cannot answer from Assyro's copy right now.

---

[API](https://skmtc.dev/assyro/apis/assyro-public-data-api.md) - [All operations](https://skmtc.dev/assyro/apis/assyro-public-data-api/llms.txt) - [OpenAPI document](https://skmtc.dev/assyro/apis/assyro-public-data-api/revisions/c861290c9f47?raw)
