# Search USPTO records

Source: https://joinopenfile.com/docs/api/search-marks
Index: https://joinopenfile.com/llms.txt

`POST /api/v1/marks/search`

Live federal marks with the same name, split into the person's classes and elsewhere, or every mark an owner holds. `checked: true` means the USPTO answered. A failed search returns an error, never an empty result.

In the MCP server this is `search_marks`.

## Example

```bash
curl -X POST https://api.joinopenfile.com/v1/marks/search \
  -H "content-type: application/json" \
  -d '{
  "mark": "Quillbrook",
  "classes": [
    4
  ]
}'
```

## Body

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `mark` | string | No | The name to search. Leave it out to list an owner's marks. |
| `classes` | array of integer | No | Nice classes to sort results by. |
| `owner` | string | No | The applicant, to set their own marks apart. On its own, lists their marks. |

## Errors

| Status | When |
| --- | --- |
| `400` | Invalid input. |
| `429` | Too many requests. |
| `502` | The USPTO or a website didn't answer. Nothing was checked. |

The body is the [error shape](https://joinopenfile.com/docs/errors.md).
