When to Use Batch vs. Individual
| Scenario | Recommended Approach |
|---|---|
| Display a single trademark detail page | Individual GET /v1/trademarks/:id |
| Hydrate a dashboard with 10—50 known IDs | Batch POST /v1/trademarks/batch |
| Sync a portfolio of trademarks periodically | Batch, chunked into groups of 100 |
| Search for trademarks matching criteria | Search POST /v1/trademarks/search |
| Iterate through all trademarks in your org | Paginated GET /v1/trademarks |
POST /v1/trademarks/batch
Fetch multiple trademarks by their IDs in a single request.Request
| Field | Type | Required | Description |
|---|---|---|---|
ids | string[] | Yes | Array of trademark IDs (prefixed). Max 100. |
Response
The response preserves the order of your input IDs. Each item in thedata array includes a status field indicating whether that individual fetch succeeded:
A batch request returns HTTP
200 even if some individual items fail. Always check the status field on each item in the data array.Batch Sizing
The batch endpoint always returns detail-tier data. Optimal batch sizes depend on the number of records:| Batch Size | Approximate Response Size |
|---|---|
| 20 | ~200 KB |
| 50 | ~500 KB |
| 100 | ~1—2 MB |
Chunking Large Sets
When you have more than 100 IDs, split them into chunks and process sequentially or with controlled concurrency:Error Handling in Batches
Individual items in a batch can fail independently. Common per-item errors:| Error Type | Meaning | Action |
|---|---|---|
not_found | The ID does not exist in your organization’s data. | Verify the ID. It may have been deleted or belongs to another org. |
gone | The entity was merged into another record. | Use the merged_into_id to fetch the canonical record. |
internal_error | Transient server-side failure for this item. | Retry just the failed IDs in a subsequent batch request. |
Performance Tips
Use list endpoints for lighter data
Use list endpoints for lighter data
If you only need mark text and status for a dashboard, use the list endpoint (
GET /v1/trademarks) which returns summary-tier data. Use the batch endpoint when you need the full detail record.Parallelize with controlled concurrency
Parallelize with controlled concurrency
If you have 1,000 IDs to fetch, you can run up to 3 batch requests in parallel without hitting rate limits. Avoid unbounded concurrency, which can trigger
429 responses.Combine with caching
Combine with caching
Before making a batch request, check your local cache for IDs you already have. Only send uncached IDs in the batch, then merge the results. This reduces payload size and rate limit usage.
Use webhooks to keep batches fresh
Use webhooks to keep batches fresh
Instead of re-fetching entire batches on a schedule, subscribe to
trademark.updated events and only re-fetch the IDs that changed. See the webhooks guide for setup.