Skip to main content
Look up US trademark applications and registrations via the USPTO Trademark Status & Document Retrieval (TSDR) system. Supports lookup by serial number or registration number. Returns mark text, owner, goods/services, Nice classes, filing/registration dates, attorney of record, and mark images.

Look up a trademark

Endpoint
POST /legal/v1/trademark-search
// Look up by serial number
const result = await client.legal.trademarkSearch({
  serialNumber: '97123456',
});

console.log(`${result.markText} — ${result.status}`);
console.log(`Owner: ${result.owner?.name}`);
console.log(`Classes: ${result.niceClasses.join(', ')}`);

for (const gs of result.goodsAndServices) {
  console.log(`  Class ${gs.classNumber}: ${gs.description}`);
}
You can also look up by registration number:
const result = await client.legal.trademarkSearch({
  registrationNumber: '6789012',
});

Key parameters

ParameterTypeDescription
serialNumberstringUSPTO serial number (e.g. “97123456”)
registrationNumberstringUSPTO registration number (e.g. “6789012”)
Provide either serialNumber or registrationNumber. If both are provided, serialNumber takes precedence.

Response fields

FieldTypeDescription
serialNumberstringUSPTO serial number
registrationNumberstring | nullRegistration number (if registered)
markTextstring | nullText of the trademark
markTypestring | nullType (Standard Character Mark, Design Mark, etc.)
statusstring | nullCurrent status (Registered, Pending, Abandoned, etc.)
statusDatestring | nullDate of most recent status update
filingDatestring | nullFiling date
registrationDatestring | nullRegistration date
ownerobject | nullOwner name, address, and entity type
attorneystring | nullAttorney of record
goodsAndServicesarrayGoods/services with class numbers
niceClassesnumber[]Nice classification class numbers
imageUrlstring | nullURL to the mark image
usptoUrlstringCanonical TSDR link
See the API reference for the full response schema.