Register for a USPTO API key at developer.uspto.gov; the TSDR Data API requires the key as a query parameter on each request
Retrieve trademark case status by serial number: GET https://tsdrapi.uspto.gov/ts/cd/casestatus/sn{serialNumber}/info.json?apikey={your_key}; the response includes current status code, status date, owner, mark description, and filing date
Download the full case file in structured XML format via GET https://tsdrapi.uspto.gov/ts/cd/casestatus/sn{serialNumber}/download_xml.zip for comprehensive prosecution history
Retrieve the trademark image with GET https://tsdrapi.uspto.gov/ts/cd/rawImage/{serialNumber}; returns the mark drawing as an image file
For bulk trademark data, use the USPTO Trademark Bulk Data downloads available on the Open Data Portal (data.uspto.gov) rather than individual API calls to avoid rate limits
Known gotchas
The TSDR API uses serial number or registration number as the lookup key; verify whether you have a serial number (application) or registration number before constructing the URL, as the endpoint prefix differs
API rate limits apply; scanning large portfolios through individual API calls will trigger throttling — use bulk data downloads for trademark monitoring at scale
Status codes returned are USPTO-specific abbreviations (e.g., 710 for REGISTERED); map them using the USPTO TSDR status code reference table, not generic trademark terminology
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp