# Search EUR-Lex

Search and read EUR-Lex records through the Assyro API: the consolidated English text of MDR, IVDR, Directive 2001/83/EC, Regulation 726/2004 and the Clinical…

Source: https://www.assyro.com/docs/sources/eur-lex

`GET https://api.assyro.com/v1/sources/eur-lex/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 EUR-Lex records from your own code: the consolidated English text of MDR, IVDR, Directive 2001/83/EC, Regulation 726/2004 and the Clinical Trials Regulation, article by article. Published by Publications Office of the European Union (EUR-Lex) ([eur-lex.europa.eu](https://eur-lex.europa.eu/)); answered from Assyro's copy, refreshed weekly Monday 03:00 UTC.

> **Warning:** Attribution required: every record carries `attribution`. Show it wherever you show the data: "© European Union, https://eur-lex.europa.eu (CC BY 4.0). Split into articles and annexes by Assyro; text not modified." See the [terms](https://eur-lex.europa.eu/content/legal-notice/legal-notice.html).

Example: "How often must a class III device manufacturer update its PSUR under the MDR?"

## Search

`GET https://api.assyro.com/v1/sources/eur-lex/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 | yes | Words to find in the provisions, e.g. "periodic safety update report" or "Article 61 clinical evaluation". Quoted phrases and OR work. |
| `act` | string | no | Keep only one act: mdr = MDR (EU) 2017/745; ivdr = IVDR (EU) 2017/746; dir-2001-83 = Directive 2001/83/EC; reg-726-2004 = Regulation (EC) No 726/2004; ctr-536-2014 = CTR (EU) No 536/2014. One of: `mdr`, `ivdr`, `dir-2001-83`, `reg-726-2004`, `ctr-536-2014`. |
| `limit` | integer | no | Provisions to return, default 8. |
| `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/eur-lex/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.
- `attribution`: the attribution the licence requires.

## Example request

curl:

```bash
curl "https://api.assyro.com/v1/sources/eur-lex/search?query=periodic+safety+update+report&act=mdr"
```

Python:

```python
import requests

response = requests.get(
    "https://api.assyro.com/v1/sources/eur-lex/search",
    params={
        "query": "periodic safety update report",
        "act": "mdr"
    },
)
response.raise_for_status()
print(response.json())
```

JavaScript:

```javascript
const response = await fetch("https://api.assyro.com/v1/sources/eur-lex/search?query=periodic+safety+update+report&act=mdr");
const result = await response.json();
```
