# Search 510(k) clearances

Search FDA 510(k) premarket notifications by text, applicant, product code and decision year, with facets and pagination.

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

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

> **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.

Searches 510(k) clearances. Returns up to 50 records per page with counts by filter value.

### Input

| Field | Type | Required | Description |
|---|---|---|---|
| `query` | string | yes | The search text. Up to 2,048 characters. |
| `applicant` | string or null | yes | Only clearances from this applicant. |
| `productCode` | string or null | yes | Only clearances under this product code, such as `FRN`. |
| `yearFrom` | integer or null | yes | Earliest decision year, 1900 to 9999. |
| `yearTo` | integer or null | yes | Latest decision year. Must not be before `yearFrom`. |
| `page` | integer | yes | The page, from 1. |
| `pageSize` | integer | yes | Records per page, 1 to 50. |

### Each item in data.items

| Field | Type | Required | Description |
|---|---|---|---|
| `kNumber` | string | yes | The 510(k) number, such as `K254199`. |
| `deviceName` | string | yes | The device name as submitted. |
| `applicant` | string or null | yes | The company that submitted the 510(k). |
| `productCode` | string or null | yes | FDA's three-letter product code. |
| `decisionDate` | date or null | yes | When FDA decided. |
| `decisionDescription` | string or null | yes | The decision, such as Substantially Equivalent. |
| `receivedDate` | date or null | yes | When FDA received the submission. |
| `advisoryCommittee` | string or null | yes | The advisory committee. |
| `statementOrSummary` | string or null | yes | Whether a 510(k) statement or summary was filed. |
| `submissionType` | string or null | yes | The submission type. |
| `thirdParty` | boolean or null | yes | Whether a third party reviewed it. |
| `expeditedReview` | boolean or null | yes | Whether review was expedited. |
| `source` | object | no | Where the record comes from, when its source identity is available. |

## Example request

curl:

```bash
curl https://api.assyro.com/v1/query \
  -H "Content-Type: application/json" \
  -d '{
    "version": 1,
    "operation": "device-510k.search",
    "input": {
      "query": "infusion pump",
      "applicant": null,
      "productCode": "FRN",
      "yearFrom": 2020,
      "yearTo": 2026,
      "page": 1,
      "pageSize": 25
    }
  }'
```

Python:

```python
import requests

response = requests.post(
    "https://api.assyro.com/v1/query",
    json={
      "version": 1,
      "operation": "device-510k.search",
      "input": {
        "query": "infusion pump",
        "applicant": None,
        "productCode": "FRN",
        "yearFrom": 2020,
        "yearTo": 2026,
        "page": 1,
        "pageSize": 25
      }
    },
)
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.search",
    "input": {
      "query": "infusion pump",
      "applicant": null,
      "productCode": "FRN",
      "yearFrom": 2020,
      "yearTo": 2026,
      "page": 1,
      "pageSize": 25
    }
  }),
});
const result = await response.json();
```

## Example response (synthetic contract fixture)

```json
{
  "version": 1,
  "operation": "device-510k.search",
  "data": {
    "items": [
      {
        "id": "K000001",
        "title": "Synthetic contract fixture",
        "evidenceStatus": "available",
        "source": {
          "schemaVersion": 1,
          "sourceId": "assyro-source:v1:fixture%3Adevice-510k:K000001",
          "collection": "fixture:device-510k",
          "recordId": "K000001",
          "textOrigin": "metadata",
          "sourceUrl": null
        },
        "kNumber": "K000001",
        "deviceName": "Synthetic device",
        "applicant": "Synthetic applicant",
        "productCode": "ABC",
        "decisionDate": "2025-01-01",
        "decisionDescription": "Substantially Equivalent",
        "receivedDate": null,
        "advisoryCommittee": null,
        "statementOrSummary": null,
        "classificationCommittee": null,
        "submissionType": null,
        "thirdParty": false,
        "expeditedReview": false,
        "countryCode": null
      }
    ]
  },
  "sourceState": {
    "mode": "corpus",
    "availability": "available",
    "freshness": "unknown",
    "freshnessEvidence": null,
    "sourceRevision": null,
    "snapshotGeneratedAt": null,
    "lastSuccessfulSyncAt": null,
    "servedAt": "2026-09-22T12:00:00Z",
    "warnings": []
  },
  "page": {
    "itemsReturned": 1,
    "total": 2,
    "totalRelation": "exact",
    "hasNextPage": true,
    "nextCursor": null,
    "snapshotToken": null,
    "consistency": "live-offset"
  },
  "facets": []
}
```
