Design Patent TRO API
Design Patent TRO API provides global design patent data retrieval to assist with new product initiatives and compliance screening, while supporting deep cross-referencing to fetch corresponding US patent litigation details and full event timeline.
API Description
Design Patent TRO API provides global design patent data retrieval to assist with new product initiatives and compliance screening, while supporting deep cross-referencing to fetch corresponding US patent litigation details.
This interface supports querying basic patent information by product description keywords, design classifications, or assignees. By configuring the cross-reference control parameter enable_litigation, applications can seamlessly switch between two operational modes:
- Patent Research Mode (Default): Exclusively retrieves the registration, ownership, and active status of global design patents.
- Smart Risk Control Mode (
enable_litigation=true): Automatically executes a chained query sequence. The system first screens for potential infringement risks within the design patent database. If matching assets are identified, it leverages the patent numbers to deep-dive into corresponding US litigation dockets, delivering structured matching lawsuits alongside a complete Docket Timeline.
Key Highlight: Fully encapsulates the data linkage logic between design patents and judicial litigation at the underlying level. Applications can establish an end-to-end data loop from “at-risk patents” to “associated lawsuits” in a single API call, eliminating the need to comprehend or integrate multiple disparate legal databases.
🤖 Pulling this data to power an AI Agent? Instead of writing custom parsing code, leverage our MCP Server to grant your AI workspace native, real-time access with zero integration friction.
Request URL
Request Headers
| Parameters | Parameter value | Type | Description |
|---|---|---|---|
| Content-Type | application/json | string | Data format |
| Authorization | Bearer xxx | string | Authorization Token |
Request Parameters
| Parameters | Required | Type | Description |
|---|---|---|---|
| irn | Yes | string | International registration number |
| ds | Yes | string | Specify country |
| source | Yes | string | Data source |
| ed | No | string | Expiration date |
| from | No | int | Page start position |
| hol | No | string | Right holder |
| id | No | string | Unique identifier |
| id_search | No | string | ID variant |
| lcs | No | string | Design classification (Locarno Classification number, e.g. 30-01) |
| prod | No | string | Product description keyword |
| rd | No | string | Registration date |
| num | No | int | Items per page |
| status | No | string | Legal status |
| enable_litigation | No | boolean | Whether to enable Smart Risk Control Mode. Default false. When true: after patents are matched, the patent number (IRN) is used to query related US litigation cases, which are joined into each patent’s cases field (see credit consumption below). |
Response value
Top level
| Return value | Type | Description |
|---|---|---|
| total | int | Total matched patents |
| hits | array | Patent result list; element structure below |
hits[] — patent object (WIPO fields)
| Field | Type | Description |
|---|---|---|
| ID | string | Patent unique identifier ({SOURCE}.{number}, e.g. USID.D1000009) |
| IRN | string | International registration / patent number (e.g. D1000009) |
| SOURCE | string | Source country code (USID / CNID / JPID / EMID / HAGUE, etc.) |
| STATUS | string | Legal status: ACT Active / PEND Pending / DEL Inactive (may be empty for some sources) |
| RD | string | Registration date (ISO 8601, e.g. 2023-09-26T23:59:59Z) |
| HOL | array<string> | Holder / owner names |
| PROD | array<string> | Product / design indication |
| PROD_EN / PROD_ZH | array<string> | Localized product indication (PROD_EN for English sources, PROD_ZH for CNID) |
| LCS | array<string> | Design classification (Locarno Classification, e.g. 30-01) |
| DS | array<string> | Designated states |
| DC | int | Number of designs |
| DOC | string | Source data file path |
| IMG | array<string> | Image relative path list |
| IMG_DATA | array<object> | Image object list; each has filename and url (full accessible image URL) |
| DETAIL_URL | string | WIPO official detail page link |
| DETAIL_DATA | object | Structured detail; structured sub-object contains name_and_address_of_the_holders, indication_of_products, class_and_subclass_of_the_locarno_classification, date_of_the_national_registration, national_registration_number, designer, etc. (fields vary by source) |
The following fields are returned only when enable_litigation=true: | ||
| litigationStatus | string | Litigation query status: success / skipped no patent number extracted, not queried / failed litigation query failed |
| caseTotal | int | Number of litigation cases related to this patent (0 means queried but no related cases) |
| cases | array | Related US litigation cases; element structure below |
cases[] — litigation case object (enable_litigation=true only)
| Field | Type | Description |
|---|---|---|
| docketId | long | Internal unique case ID |
| docketNumber | string | Court docket number (e.g. 2:24-cv-00058) |
| caseId | string | Litigation system case ID |
| caseName | string | Case name (e.g. LunaMarie LLC v. Remy and Roo LLC) |
| court | string | Court name |
| courtId | string | Court code (e.g. azd) |
| assignedTo | string | Presiding judge |
| suitNature | string | Nature of suit (e.g. 830 Property Rights: Patent) |
| jurisdiction | string | Jurisdiction type (e.g. Federal Question) |
| status | string | Case status (e.g. terminated) |
| dateFiled | string | Filing date |
| dateTerminated | string | Termination date (empty if still open) |
| parties | array<string> | Parties (plaintiff / defendant) |
| patentNumbers | array<string> | Patent numbers involved in the case |
| entryTotal | int | Total number of docket entries for the case |
| entries | array | Docket timeline (up to 50 by default); element structure below |
cases[].entries[] — docket entry object
| Field | Type | Description |
|---|---|---|
| documentNumber | string | Document number |
| dateFiled | string | Filing date of this entry |
| description | string | Entry / document description |
| documentHref | string | Document detail link |
| pdfUrl | string | PDF download URL |
| patentNumbers | array<string> | Patent numbers related to this entry |
| extraDocument | array | Attached documents |
Request example
Return example
Smart Risk Control Mode (enable_litigation=true)
With enable_litigation enabled, matched patents continue to query related US litigation cases by patent number (IRN); cases are joined into each patent’s cases field. Request example:
Response structure: a matched patent hit keeps all patent fields (IRN, HOL, PROD, LCS, DETAIL_DATA, IMG_DATA, SOURCE, RD, STATUS, etc. — same as the “Return example” above), and additionally appends three fields: litigationStatus, caseTotal, cases:
Credit Consumption
- Average response time:
5s - Credit Consumption:
- Patent Research Mode:
2 credits/request(design patent search only) - Smart Risk Control Mode (
enable_litigation=true):- Litigation deep-dive executed:
14 credits/request(regardless of whether related cases are found) - No patent found, deep-dive skipped:
2 credits/request
- Litigation deep-dive executed:
- Patent Research Mode:
Pagination billing: each page is billed independently — every paging request counts as a brand-new query. With Smart Risk Control Mode enabled, each additional page deducts 14 credits cumulatively, so paginate as needed.

