get_trademark_by_registration
Pack: trademarks · Connect: https://pipeworx.io/mcp (see Connect below for a single-pack URL)
No MCP client? Call it directly: GET https://gateway.pipeworx.io/v1/tools/get_trademark_by_registration for the schema, then POST the same URL with its arguments for the data.
Look up one US trademark by its registration number (e.g. “4872338”): mark text, serial number, current status and live flag, owners of record, attorney of record, registration/renewal/cancellation dates, international classes and goods/services, with data_as_of. Keyless. Optional api_key switches to USPTO’s TSDR case-status record instead.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
registration_number | string | yes | USPTO registration number (e.g., “4872338”) |
api_key | string | no | Optional USPTO TSDR API key. Omit for the keyless register record. |
Example call
Arguments
{
"registration_number": "4872338"
}
curl
curl -X POST https://gateway.pipeworx.io/trademarks/mcp \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"get_trademark_by_registration","arguments":{"registration_number":"4872338"}}}'
TypeScript (@pipeworx/sdk)
import { Pipeworx } from '@pipeworx/sdk';
const pipeworx = new Pipeworx();
const result = await pipeworx.call('get_trademark_by_registration', {
"registration_number": "4872338"
});
Response shape
| Field | Type | Description |
|---|---|---|
found | boolean | Keyless path: whether the register holds this number |
reason | string | When found is false: not_in_register, invalid_number or upstream_unavailable |
hint | string | |
source | string | |
data_as_of | string | null | |
delivery | string | |
record | object | Register record (keyless path) |
other_matches | array | |
serial_number | string | null | USPTO serial number |
registration_number | string | null | Trademark registration number |
mark_text | string | null | Text or verbal element of the mark |
status | string | null | Current status of the trademark |
status_date | string | null | Date of the current status |
filing_date | string | null | Application filing date |
registration_date | string | null | Trademark registration date |
owner_name | string | null | Owner/applicant name |
attorney | string | null | Attorney name if applicable |
goods_services | string | null | Goods and services description |
international_class | string | null | International classification number |
raw_available | boolean | Whether raw XML data was available |
Full JSON Schema
{
"type": "object",
"description": "Without api_key: {found, source, data_as_of, record} from the USPTO register. With a TSDR api_key: the flat TSDR case-status fields.",
"properties": {
"found": {
"type": "boolean",
"description": "Keyless path: whether the register holds this number"
},
"reason": {
"type": "string",
"description": "When found is false: not_in_register, invalid_number or upstream_unavailable"
},
"hint": {
"type": "string"
},
"source": {
"type": "string"
},
"data_as_of": {
"type": [
"string",
"null"
]
},
"delivery": {
"type": "string"
},
"record": {
"type": "object",
"description": "Register record (keyless path)",
"properties": {
"wordmark": {
"type": [
"string",
"null"
]
},
"serial_number": {
"type": "string"
},
"registration_number": {
"type": [
"string",
"null"
]
},
"registration_date": {
"type": [
"string",
"null"
]
},
"abandon_date": {
"type": [
"string",
"null"
]
},
"status": {
"type": "string"
},
"status_code": {
"type": [
"number",
"null"
]
},
"live": {
"type": "boolean"
},
"mark_type": {
"type": "array",
"items": {
"type": "string"
}
},
"international_classes": {
"type": "array",
"items": {
"type": "string"
}
},
"goods_services": {
"type": "array",
"items": {
"type": "string"
}
},
"owner": {
"type": "array",
"items": {
"type": "string"
}
},
"filed_date": {
"type": [
"string",
"null"
]
},
"url": {
"type": "string"
},
"owners_of_record": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"role": {
"type": [
"string",
"null"
]
},
"entity_type": {
"type": [
"string",
"null"
]
},
"natural_person": {
"type": "boolean"
},
"citizenship": {
"type": [
"string",
"null"
]
},
"location": {
"type": [
"string",
"null"
],
"description": "City / state / country for organisations only; always null for natural persons. Street addresses are never served."
}
}
}
},
"attorney_of_record": {
"type": [
"string",
"null"
]
},
"data_as_of": {
"type": [
"string",
"null"
],
"description": "When USPTO last loaded this record into the register index"
},
"mark_description": {
"type": [
"string",
"null"
]
},
"disclaimer": {
"type": [
"string",
"null"
]
},
"current_basis": {
"type": "array",
"items": {
"type": "string"
}
},
"original_basis": {
"type": "array",
"items": {
"type": "string"
}
},
"first_use_date": {
"type": [
"string",
"null"
]
},
"first_use_in_commerce_date": {
"type": [
"string",
"null"
]
},
"published_for_opposition_date": {
"type": [
"string",
"null"
]
},
"cancel_date": {
"type": [
"string",
"null"
]
},
"renewal_date": {
"type": [
"string",
"null"
]
},
"register": {
"type": [
"string",
"null"
]
},
"assignment_recorded": {
"type": "boolean"
},
"international_registration_number": {
"type": [
"string",
"null"
]
}
}
},
"other_matches": {
"type": "array",
"items": {
"type": "object"
}
},
"serial_number": {
"type": [
"string",
"null"
],
"description": "USPTO serial number"
},
"registration_number": {
"type": [
"string",
"null"
],
"description": "Trademark registration number"
},
"mark_text": {
"type": [
"string",
"null"
],
"description": "Text or verbal element of the mark"
},
"status": {
"type": [
"string",
"null"
],
"description": "Current status of the trademark"
},
"status_date": {
"type": [
"string",
"null"
],
"description": "Date of the current status"
},
"filing_date": {
"type": [
"string",
"null"
],
"description": "Application filing date"
},
"registration_date": {
"type": [
"string",
"null"
],
"description": "Trademark registration date"
},
"owner_name": {
"type": [
"string",
"null"
],
"description": "Owner/applicant name"
},
"attorney": {
"type": [
"string",
"null"
],
"description": "Attorney name if applicable"
},
"goods_services": {
"type": [
"string",
"null"
],
"description": "Goods and services description"
},
"international_class": {
"type": [
"string",
"null"
],
"description": "International classification number"
},
"raw_available": {
"type": "boolean",
"description": "Whether raw XML data was available"
}
}
}
Connect
Add this to your MCP client config — every tool in the catalog, including this one — or use one-click install buttons:
{
"mcpServers": {
"pipeworx": {
"url": "https://pipeworx.io/mcp"
}
}
}
Connect to just the trademarks pack
{
"mcpServers": {
"trademarks": {
"url": "https://gateway.pipeworx.io/trademarks/mcp"
}
}
}
See Getting Started for client-specific install steps.