# Search FDA Purple Book

Search and read FDA Purple Book records through the Assyro API: licensed biologics, biosimilars, interchangeability and reference product exclusivity.

Source: https://www.assyro.com/docs/sources/purple-book

`GET https://api.assyro.com/v1/sources/purple-book/search`

> **Note:** Preview: `api.assyro.com` is not serving production data yet. This page follows the API's published description and may change before launch.

Search and read FDA Purple Book records from your own code: licensed biologics, biosimilars, interchangeability and reference product exclusivity. Published by U.S. Food and Drug Administration ([purplebooksearch.fda.gov](https://purplebooksearch.fda.gov/)); answered from Assyro's copy, refreshed daily 12:00 UTC.

Licence: public domain (see the [terms](https://open.fda.gov/terms/)). Each record links to its page at the source.

Example: "Which biosimilars are interchangeable with Humira?"

## Search

`GET https://api.assyro.com/v1/sources/purple-book/search` with any of these query parameters. Repeat a parameter for a list (`?phase=PHASE2&phase=PHASE3`). An unknown parameter is refused by name.

### Search parameters

| Field | Type | Required | Description |
|---|---|---|---|
| `query` | string | no | Words that must all appear in the proprietary name, proper name, applicant or reference product, e.g. "adalimumab". |
| `proprietaryName` | string | no | Brand name, substring match, e.g. "Humira". |
| `properName` | string | no | Proper (nonproprietary) name, substring match, e.g. "adalimumab-afzb" or "adalimumab". |
| `applicant` | string | no | License holder, substring match. |
| `blaNumber` | string | no | BLA number, e.g. 125057 or BLA 761118. |
| `licenseTypes` | string[] | no | 351(a) (reference or standalone BLA), biosimilar (351(k)), interchangeable (351(k) interchangeable). Omit for all. One of: `351(a)`, `biosimilar`, `interchangeable`. |
| `referenceProduct` | string | no | Reference product brand or proper name, e.g. "Humira": returns the 351(k) products that reference it. |
| `centers` | string[] | no | CDER or CBER. One of: `CDER`, `CBER`. |
| `licensureStatuses` | string[] | no | licensed, revoked, voluntarily revoked. Omit for all. One of: `licensed`, `revoked`, `voluntarily revoked`. |
| `marketingStatuses` | string[] | no | RX, OTC, DISC (discontinued). A BLA matches when any presentation has the status. One of: `RX`, `OTC`, `DISC`. |
| `approvedFrom` | string | no | Earliest original approval date, YYYY-MM-DD. |
| `approvedTo` | string | no | Latest original approval date, YYYY-MM-DD. |
| `exclusivityExpiryFrom` | string | no | Any exclusivity (reference product, first interchangeable, orphan) expiring on or after this date, YYYY-MM-DD. |
| `exclusivityExpiryTo` | string | no | Any exclusivity expiring on or before this date, YYYY-MM-DD. |
| `hasPatentList` | boolean | no | true: only BLAs for which a patent list was provided. |
| `sort` | string | no | relevance (default: licensed 351(a) products first, then newest), newest or oldest approval first. One of: `relevance`, `newest`, `oldest`. |
| `limit` | integer | no | How many BLAs to return (default 8). total reports every match. |
| `offset` | integer | no | Skip this many results (for paging), default 0. |

Each result is a record; read one in full with [Get a record](https://www.assyro.com/docs/sources/purple-book/records).

## What a record holds

- `id`, `title`, `url`: the source's identifier, its title and its page at the source, to verify it.
- `authority`, `publishedDate`, `version`: who published it, when, and the edition read.
- `snippet` and `fields`: the matching text and the source's own fields.
- `asOf`: the day Assyro's copy of the source was read.

## Example request

curl:

```bash
curl "https://api.assyro.com/v1/sources/purple-book/search?referenceProduct=Humira&licenseTypes=interchangeable"
```

Python:

```python
import requests

response = requests.get(
    "https://api.assyro.com/v1/sources/purple-book/search",
    params={
        "referenceProduct": "Humira",
        "licenseTypes": [
            "interchangeable"
        ]
    },
)
response.raise_for_status()
print(response.json())
```

JavaScript:

```javascript
const response = await fetch("https://api.assyro.com/v1/sources/purple-book/search?referenceProduct=Humira&licenseTypes=interchangeable");
const result = await response.json();
```
