# List every clearance or product code

Walk the whole FDA 510(k) database, clearance by clearance or product code by product code, with cursor pagination.

Source: https://www.assyro.com/docs/api/fda-510k/catalog

`POST https://api.assyro.com/v1/query` with `"operation": "device-510k.catalog"`

> **Note:** Preview: `api.assyro.com` is not serving production data yet. Requests and responses on this page follow the published contract and may change before launch.

Lists every clearance or every product code, a page at a time, for building a complete copy or an index. See [Pagination](https://www.assyro.com/docs/pagination).

### Input

| Field | Type | Required | Description |
|---|---|---|---|
| `kind` | string | yes | `clearance` or `product-code`. |
| `limit` | integer | yes | Entries per page, 1 to 500. |
| `cursor` | string or null | yes | Null for the first page, then `page.nextCursor`. |

## Example request

curl:

```bash
curl https://api.assyro.com/v1/query \
  -H "Content-Type: application/json" \
  -d '{
    "version": 1,
    "operation": "device-510k.catalog",
    "input": {
      "kind": "clearance",
      "limit": 100,
      "cursor": null
    }
  }'
```

Python:

```python
import requests

response = requests.post(
    "https://api.assyro.com/v1/query",
    json={
      "version": 1,
      "operation": "device-510k.catalog",
      "input": {
        "kind": "clearance",
        "limit": 100,
        "cursor": None
      }
    },
)
response.raise_for_status()
print(response.json())
```

JavaScript:

```javascript
const response = await fetch("https://api.assyro.com/v1/query", {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({
    "version": 1,
    "operation": "device-510k.catalog",
    "input": {
      "kind": "clearance",
      "limit": 100,
      "cursor": null
    }
  }),
});
const result = await response.json();
```
