Trademark Details
Use the Trademark Details API for ecommerce brand and trademark research. Review request parameters, response fields, and runnable examples.
/v1 /global /trademarks /detailsAPI data samples
Inspect the request body and complete response shape used by this endpoint.
{
"office": "US",
"brandId": "US502022097612203"
}{
"request_id": "8fb43e59-4ff9-4dc8-a4b7-2ed164e45ab8",
"data": {
"id": "US502022097612203",
"applicant": [
"ANKER INC"
],
"applicantCountryCode": "US",
"applicants": [],
"applicationDate": "2022-09-29",
"applicationLanguageCode": "en",
"applicationNumber": "97612203",
"registrationNumber": "4590785",
"applicationRefNumber": [],
"brandName": [
"1ST AID"
],
"collection": "ustm",
"designatedCountries": [
"US"
],
"designation": [
"US"
],
"filingPlace": "Filing place example",
"kind": [
"Individual"
],
"logos": [
{
"logo": "Logo example",
"logoUrl": "Logo URL example"
}
],
"markFeature": "Combined",
"niceClass": [
5
],
"office": "US",
"status": "Pending",
"statusDate": "2023-05-02",
"type": "TRADEMARK",
"appeals": [
{
"date": "Date example",
"kind": "Kind example"
}
],
"correspondence": "Correspondence example",
"events": [
{
"date": "Date example",
"officeKind": "Office kind example",
"gbdKind": "Gbd kind example",
"doc": "Doc example",
"country": "Country example"
}
],
"expiryDate": "Expiry date example",
"extra": "Extra example",
"gbdStatus": "Gbd status example",
"goodsServicesClassification": {
"kind": "Kind example",
"version": "Version example",
"classification": {
"code": "Code example",
"terms": "Terms example"
}
},
"goodsServicesUnclassified": "Goods services unclassified example",
"markDescriptionDetails": [
{
"text": "ANKER INC",
"languageCode": "en"
}
],
"markDisclaimerDetails": [
{
"text": "ANKER INC",
"languageCode": "en"
}
],
"markImageDetails": [],
"nationalGoodsServicesClassification": {
"kind": "Kind example",
"version": "Version example",
"classification": {
"code": "Code example",
"terms": "Terms example"
}
},
"officeStatus": "Office status example",
"priorities": [
{
"severity": "Severity example",
"code": "Code example",
"field": "Field example",
"type": "Type example",
"message": "Message example"
}
],
"publicationDate": "Publication date example",
"publications": [
{
"date": "Date example",
"identifier": "Identifier example",
"section": "Section example"
}
],
"qc": [
{
"severity": "Severity example",
"code": "Code example",
"field": "Field example",
"type": "Type example",
"message": "Message example"
}
],
"reference": {
"office": "Office example",
"application": {
"date": "Date example",
"number": "Number example"
},
"registration": {
"date": "Date example",
"number": "Number example"
}
},
"refOffice": "Ref office example",
"registrationDate": "Registration date example",
"registrationOfficeCode": "Registration office code example",
"registrationRefNumber": [],
"representatives": [],
"secondLanguageCode": "Second language code example",
"st13": "St13 example",
"terminationDate": "Termination date example",
"wordMarkSpecification": {
"markTransliteration": "Mark transliteration example",
"markTranslation": {
"text": "Text example",
"languageCode": "Language code example"
},
"markVerbalElement": {
"text": "Text example",
"languageCode": "Language code example"
},
"markSignificantVerbalElement": {
"text": "SONICARE",
"languageCode": "en"
}
}
}
}Availability: Available
This endpoint is active in the v1 gateway, OpenAPI, and subscription catalog. A successful call consumes 1 billing unit.
POST /v1/global/trademarks/details
The request and response fields below match the current public contract.
Quick call
First create an API key, then store it in a server-side environment variable:
export ECOMMERCE_DATA_API_KEY="your_api_key"curl --request POST \
--url https://ecommercedataapi.com/v1/global/trademarks/details \
--header "Content-Type: application/json" \
--header "X-API-Key: ${ECOMMERCE_DATA_API_KEY}" \
--data '{
"office": "US",
"brandId": "US502022097612203"
}'Integrate with an AI CLI
Copy for your AI CLI
Paste this task into Codex, Claude Code, Gemini CLI, or another coding agent.
Integrate the "Trademark Details" endpoint from Ecommerce Data API into the current repository. Make the changes directly instead of only returning sample code.
API documentation: https://ecommercedataapi.com/en/docs/global/trademarks/details
Endpoint: POST https://ecommercedataapi.com/v1/global/trademarks/details
API key environment variable: ECOMMERCE_DATA_API_KEY
Example request:
{
"office": "US",
"brandId": "US502022097612203"
}
Requirements:
1. Read the API documentation first, then inspect the repository's language, framework, HTTP client, directory structure, and environment-variable conventions.
2. Reuse the existing API client and error-handling patterns. If none exist, add the smallest reusable Ecommerce Data API client and an endpoint-specific wrapper.
3. Read the key from the server-side ECOMMERCE_DATA_API_KEY environment variable and send Content-Type: application/json plus the X-API-Key header. Never write a real key into source code, browser code, logs, test snapshots, or Git.
4. If the environment variable is missing, tell me to configure ECOMMERCE_DATA_API_KEY myself. Do not request, print, or invent the real key, and continue implementing code and tests that do not require a live request.
5. Implement request and response types from the documentation. Handle non-2xx responses, request_id, error.code, error.message, and 429 rate limits.
6. Add a minimal usage example or test that follows the repository's conventions. Run one minimal live request only when the key is already configured and external requests are allowed; otherwise use mocks or static validation.
7. Run the relevant formatter, type checker, and tests. Report changed files, usage, verification results, and any environment variable I still need to configure.Open this request in Postman
Download the preconfigured collection for this endpoint, then import it into Postman.
Node.js example
const response = await fetch(
'https://ecommercedataapi.com/v1/global/trademarks/details',
{
method: 'POST',
headers: {
'Content-Type': 'application/json',
'X-API-Key': process.env.ECOMMERCE_DATA_API_KEY,
},
body: JSON.stringify({
office: 'US',
brandId: 'US502022097612203',
}),
}
);
const result = await response.json();
if (!response.ok) {
throw new Error(`${result.error?.code}: ${result.error?.message}`);
}
console.log(result.data);Python example
import os
import requests
response = requests.post(
"https://ecommercedataapi.com/v1/global/trademarks/details",
headers={
"Content-Type": "application/json",
"X-API-Key": os.environ["ECOMMERCE_DATA_API_KEY"],
},
json={
"office": "US",
"brandId": "US502022097612203",
},
timeout=30,
)
response.raise_for_status()
print(response.json()["data"])Request body
Send the fields below directly in the JSON body without an extra wrapper. Undefined fields are rejected.
| Field | Type | Required | Description | Example |
|---|---|---|---|---|
office | String | Yes | Trademark office or list of trademark offices. | US |
brandId | String | Yes | Trademark record identifier returned by the search endpoint. | US502022097612203 |
returnFields | String | No | Optional comma-separated response fields. Omit it to receive the standard payload. | id,applicant,applicantCountryCode |
Response structure
| Field | Type | Description |
|---|---|---|
request_id | String | Unique identifier for this request. |
data | Object | Endpoint business data. |
The fields below are inside data. For array endpoints they describe one array item; for paginated endpoints they describe one record in items[].
Response fields
| Field | Type | Description | Example |
|---|---|---|---|
id | String | ID. | US502022097612203 |
applicant | Array | Applicant. | ANKER INC |
applicantCountryCode | String | Applicant country code. | US |
applicants | Array | Applicants. | 格式同office,结构见下表 |
applicationDate | String | Application date. Date or timestamp value. | 2022-09-29 |
applicationLanguageCode | String | Application language code. | en |
applicationNumber | String | Application number. | 97612203 |
registrationNumber | String | Registration number. | 4590785 |
applicationRefNumber | Array | Application ref number. | - |
brandName | Array | Brand name. | [ "1ST AID"] |
collection | String | Collection. | ustm |
designatedCountries | Array | Designated countries. | ["US"] |
designation | Array | Designation. | ["US"] |
filingPlace | String | Filing place. | - |
kind | Array | Kind. | ["Individual"] |
logos | Array | Logos. | - |
logos.logo | String | Logo. | - |
logos.logoUrl | String | Logo URL. | - |
markFeature | String | Mark feature. | Combined |
niceClass | Array | Nice class. | [5] |
office | String | Office. | US |
status | String | Status. | Pending |
statusDate | String | Status date. Date or timestamp value. | 2023-05-02 |
type | String | Type. | TRADEMARK |
appeals | Array | Appeals. | - |
appeals.date | String | Date. Date or timestamp value. | - |
appeals.kind | String | Kind. | - |
correspondence | String | Correspondence. | - |
events | Array | Events. | - |
events.date | String | Date. Date or timestamp value. | - |
events.officeKind | String | Office kind. | - |
events.gbdKind | String | Gbd kind. | - |
events.doc | String | Doc. | - |
events.country | String | Country. | - |
expiryDate | String | Expiry date. Date or timestamp value. | - |
extra | String | Extra. | - |
gbdStatus | String | Gbd status. | - |
goodsServicesClassification | Object | Goods services classification. | - |
goodsServicesClassification.kind | String | Kind. | - |
goodsServicesClassification.version | String | Version. | - |
goodsServicesClassification.classification | String | Classification. | - |
goodsServicesClassification.classification.code | String | Code. | - |
goodsServicesClassification.classification.terms | String | Terms. | - |
goodsServicesUnclassified | String | Goods services unclassified. | - |
markDescriptionDetails | Array | Mark description details. | - |
markDescriptionDetails.text | String | Text. | ANKER INC |
markDescriptionDetails.languageCode | String | Language code. | en |
markDisclaimerDetails | Array | Mark disclaimer details. | - |
markDisclaimerDetails.text | String | Text. | ANKER INC |
markDisclaimerDetails.languageCode | String | Language code. | en |
markImageDetails | Array | Mark image details. | - |
nationalGoodsServicesClassification | Object | National goods services classification. | - |
nationalGoodsServicesClassification.kind | String | Kind. | - |
nationalGoodsServicesClassification.version | String | Version. | - |
nationalGoodsServicesClassification.classification | String | Classification. | - |
nationalGoodsServicesClassification.classification.code | String | Code. | - |
nationalGoodsServicesClassification.classification.terms | String | Terms. | - |
officeStatus | String | Office status. | - |
priorities | Array | Priorities. | - |
priorities.severity | String | Severity. | - |
priorities.code | String | Code. | - |
priorities.field | String | Field. | - |
priorities.type | String | Type. | - |
priorities.message | String | Message. | - |
publicationDate | String | Publication date. Date or timestamp value. | - |
publications | Array | Publications. | - |
publications.date | String | Date. Date or timestamp value. | - |
publications.identifier | String | Identifier. | - |
publications.section | String | Section. | - |
qc | Array | Qc. | - |
qc.severity | String | Severity. | - |
qc.code | String | Code. | - |
qc.field | String | Field. | - |
qc.type | String | Type. | - |
qc.message | String | Message. | - |
reference | Object | Reference. | - |
reference.office | String | Office. | - |
reference.application | Object | Application. | - |
reference.application.date | String | Date. Date or timestamp value. | - |
reference.application.number | String | Number. | - |
reference.registration | Object | Registration. | - |
reference.registration.date | String | Date. Date or timestamp value. | - |
reference.registration.number | String | Number. | - |
refOffice | String | Ref office. | - |
registrationDate | String | Registration date. Date or timestamp value. | - |
registrationOfficeCode | String | Registration office code. | - |
registrationRefNumber | Array | Registration ref number. | - |
representatives | Array | Representatives. | - |
secondLanguageCode | String | Second language code. | - |
st13 | String | St13. | - |
terminationDate | String | Termination date. Date or timestamp value. | - |
wordMarkSpecification | Object | Word mark specification. | - |
wordMarkSpecification.markTransliteration | String | Mark transliteration. | - |
wordMarkSpecification.markTranslation | Object | Mark translation. | - |
wordMarkSpecification.markTranslation.text | String | Text. | - |
wordMarkSpecification.markTranslation.languageCode | String | Language code. | - |
wordMarkSpecification.markVerbalElement | Object | Mark verbal element. | - |
wordMarkSpecification.markVerbalElement.text | String | Text. | - |
wordMarkSpecification.markVerbalElement.languageCode | String | Language code. | - |
wordMarkSpecification.markSignificantVerbalElement | Object | Mark significant verbal element. | - |
wordMarkSpecification.markSignificantVerbalElement.text | String | Text. | SONICARE |
wordMarkSpecification.markSignificantVerbalElement.languageCode | String | Language code. | en |
Response example
{
"request_id": "8fb43e59-4ff9-4dc8-a4b7-2ed164e45ab8",
"data": {
"id": "US502022097612203",
"applicant": ["ANKER INC"],
"applicantCountryCode": "US",
"applicants": [],
"applicationDate": "2022-09-29",
"applicationLanguageCode": "en",
"applicationNumber": "97612203",
"registrationNumber": "4590785",
"applicationRefNumber": [],
"brandName": ["1ST AID"],
"collection": "ustm",
"designatedCountries": ["US"],
"designation": ["US"],
"filingPlace": "Filing place example",
"kind": ["Individual"],
"logos": [
{
"logo": "Logo example",
"logoUrl": "Logo URL example"
}
],
"markFeature": "Combined",
"niceClass": [5],
"office": "US",
"status": "Pending",
"statusDate": "2023-05-02",
"type": "TRADEMARK",
"appeals": [
{
"date": "Date example",
"kind": "Kind example"
}
],
"correspondence": "Correspondence example",
"events": [
{
"date": "Date example",
"officeKind": "Office kind example",
"gbdKind": "Gbd kind example",
"doc": "Doc example",
"country": "Country example"
}
],
"expiryDate": "Expiry date example",
"extra": "Extra example",
"gbdStatus": "Gbd status example",
"goodsServicesClassification": {
"kind": "Kind example",
"version": "Version example",
"classification": {
"code": "Code example",
"terms": "Terms example"
}
},
"goodsServicesUnclassified": "Goods services unclassified example",
"markDescriptionDetails": [
{
"text": "ANKER INC",
"languageCode": "en"
}
],
"markDisclaimerDetails": [
{
"text": "ANKER INC",
"languageCode": "en"
}
],
"markImageDetails": [],
"nationalGoodsServicesClassification": {
"kind": "Kind example",
"version": "Version example",
"classification": {
"code": "Code example",
"terms": "Terms example"
}
},
"officeStatus": "Office status example",
"priorities": [
{
"severity": "Severity example",
"code": "Code example",
"field": "Field example",
"type": "Type example",
"message": "Message example"
}
],
"publicationDate": "Publication date example",
"publications": [
{
"date": "Date example",
"identifier": "Identifier example",
"section": "Section example"
}
],
"qc": [
{
"severity": "Severity example",
"code": "Code example",
"field": "Field example",
"type": "Type example",
"message": "Message example"
}
],
"reference": {
"office": "Office example",
"application": {
"date": "Date example",
"number": "Number example"
},
"registration": {
"date": "Date example",
"number": "Number example"
}
},
"refOffice": "Ref office example",
"registrationDate": "Registration date example",
"registrationOfficeCode": "Registration office code example",
"registrationRefNumber": [],
"representatives": [],
"secondLanguageCode": "Second language code example",
"st13": "St13 example",
"terminationDate": "Termination date example",
"wordMarkSpecification": {
"markTransliteration": "Mark transliteration example",
"markTranslation": {
"text": "Text example",
"languageCode": "Language code example"
},
"markVerbalElement": {
"text": "Text example",
"languageCode": "Language code example"
},
"markSignificantVerbalElement": {
"text": "SONICARE",
"languageCode": "en"
}
}
}
}See Errors and rate limits for error payloads, request tracing, and rate-limit headers.