Search Trademarks
search_trademarksSearch US federal trademarks by mark text — the clearance/knockout-search path. Find registered and pending marks by wordmark without knowing a serial or registration number, then filter by international class and live/dead status to see which marks are actually enforceable. Also finds every mark held by a company: pass owner (e.g. "Nike") to list the trademark portfolio of a brand owner. Covers the full USPTO register (the Trademark Search system that replaced TESS). Keyless. Use this to check whether a proposed brand name conflicts with existing US trademarks. Returns wordmark, serial and registration numbers, status, live flag, international classes, goods/services, owners of record with role and entity type, attorney of record, filing dates, and data_as_of (when USPTO last loaded each record). For a name-availability check, set live_only:true and pass the relevant class (e.g. 35 for advertising/business, 42 for software/SaaS, 9 for downloadable software).
Example tool call
This call uses example arguments supplied in the tool’s input schema.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"query": "TenderBrief",
"live_only": true,
"international_class": "35"
},
"name": "search_trademarks"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Results per page, 1-50 (default 20). | |
| owner | No | Owner-name filter (e.g. "Nike", "Mondelez"). Pass owner alone (no query) to list that owner's whole portfolio. | |
| query | No | Mark text to screen (e.g. "TenderBrief"). Matches the wordmark field. Required unless owner is given. Advanced: pass fielded Lucene (e.g. 'wordmark:apple AND ownerName:"Apple Inc"') and it is used verbatim. | |
| offset | No | Pagination offset (default 0). | |
| live_only | No | If true, return only live marks (registered or pending) — the set that can actually block a new application. Default false (includes dead/abandoned/cancelled). | |
| international_class | No | Optional Nice class filter. Accepts "35", 35, "IC 035", or "035". Common: 9 (software), 35 (advertising/business/retail), 42 (SaaS/tech services). |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| note | No | Present only when total_matches is 0. States what the query did NOT search, so absence in this index is not read as absence of blocking rights. | |
| count | Yes | Rows in this response | |
| query | Yes | ||
| offset | Yes | ||
| source | Yes | ||
| cleared | No | Present only when total_matches is 0. Always null: a knockout search cannot establish that a mark is available, so we never assert it is clear. | |
| results | Yes | ||
| delivery | No | ||
| data_as_of | No | Newest USPTO load timestamp among the returned records | |
| total_matches | Yes | ||
| total_is_capped | No | True when total_matches hit the upstream cap and is a floor, not an exact count |