# USPTO Trademark Status Checker (`sheshinmcfly/uspto-trademark-checker`) Actor

Check the status of any US trademark by serial or registration number using the official USPTO TSDR database. Returns mark name, status, owner, filing date, registration date, and attorney — no login required. Ideal for IP research, brand protection, and due diligence.

- **URL**: https://apify.com/sheshinmcfly/uspto-trademark-checker.md
- **Developed by:** [Sheshinmcfly](https://apify.com/sheshinmcfly) (community)
- **Categories:** Lead generation, Developer tools, Automation
- **Stats:** 1 total users, 0 monthly users, 0.0% runs succeeded, 1 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.00 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## USPTO Trademark Status Checker

Look up the registration status of any **US trademark** by serial or registration number using the official [USPTO TSDR database](https://tsdr.uspto.gov/). No login required — all data is publicly available.

Returns mark name, current status, filing and registration dates, owner name, attorney, and a direct link to the official record.

---

### What data do you get?

| Field | Type | Example |
|-------|------|---------|
| `serialNumber` | string | `"97000001"` |
| `registrationNumber` | string | `"5123456"` |
| `markName` | string | `"APPLE"` |
| `status` | string | `"Registered and Renewed"` |
| `statusDate` | string | `"Jan. 10, 2023"` |
| `filingDate` | string | `"Aug. 28, 2021"` |
| `registrationDate` | string | `"Jan. 10, 2023"` |
| `register` | string | `"Principal"` |
| `markType` | string | `"Trademark"` |
| `owner` | string | `"Apple Inc."` |
| `goodsAndServices` | string | `"Computer hardware and software..."` |
| `internationalClass` | string | `"009, 042"` |
| `attorney` | string | `"Jane Doe"` |
| `url` | string | `"https://tsdr.uspto.gov/#caseNumber=..."` |
| `checkedAt` | string | `"2026-04-23T18:00:00.000Z"` |

---

### How to use

1. Open the actor and click **Try for free**
2. Enter one or more **trademark serial numbers** (8 digits) or **registration numbers**
3. Select **Search type**: serial number (application) or registration number
4. Click **Start** — results ready in under 1 minute
5. Download as **JSON** or **CSV** from the dataset tab

---

### Use cases

- **Brand protection** — Monitor the status of your own trademarks and detect any lapses in renewal
- **Due diligence** — Verify trademark ownership and status before acquiring a company or domain
- **IP research** — Check if a name or mark is registered before filing your own application
- **Legal workflow automation** — Batch-check lists of serial numbers for law firms and IP departments
- **Competitive intelligence** — Track the trademark portfolio of competitors and identify abandoned marks

---

### Input parameters

```json
{
  "serialNumbers": ["97000001", "88888888", "79123456"],
  "searchType": "serialNumber"
}
````

| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| `serialNumbers` | array | required | List of US trademark serial or registration numbers |
| `searchType` | string | `"serialNumber"` | `serialNumber` (application) or `registrationNumber` |

**Serial number format:** 8 digits, no letters (e.g. `97000001`)
**Registration number format:** 5–7 digits (e.g. `5123456`)

***

### Sample output

```json
{
  "serialNumber": "97000001",
  "registrationNumber": "",
  "markName": "RICHIDEA",
  "status": "Abandoned because no Statement of Use timely filed after Notice of Allowance.",
  "statusDate": "May 01, 2023",
  "filingDate": "Aug. 28, 2021",
  "registrationDate": "",
  "register": "Principal",
  "markType": "Trademark",
  "owner": "RICH IDEA E-COMMERCE LIMITED",
  "goodsAndServices": "Retail store services featuring clothing...",
  "internationalClass": "035",
  "attorney": "Andrea Selkregg",
  "url": "https://tsdr.uspto.gov/#caseNumber=97000001&caseSearchType=US_APPLICATION&caseType=DEFAULT&searchType=statusSearch",
  "checkedAt": "2026-04-23T18:00:00.000Z"
}
```

***

### Performance

- Each trademark: ~8–10 seconds (AJAX-rendered page)
- Batch of 10 trademarks: ~2 minutes
- No rate limiting observed for typical batch sizes (up to 25 at a time)
- Uses Playwright for full JS rendering of the TSDR interface

***

### Pricing

This actor charges **$0.002 per trademark checked**.

| Trademarks | Estimated cost |
|------------|---------------|
| 10 | ~$0.02 |
| 100 | ~$0.20 |
| 500 | ~$1.00 |

The Apify free plan includes $5 monthly credit — enough for 2,500 trademark checks per month.

***

### Keywords

USPTO trademark checker, trademark status lookup, TSDR scraper, US trademark search, trademark serial number lookup, USPTO TSDR API, trademark registration checker, trademark owner lookup, intellectual property scraper, brand name trademark status

***

### Legal disclaimer

This actor extracts **publicly available data** from the official USPTO Trademark Status and Document Retrieval (TSDR) system at tsdr.uspto.gov. No login is required. All data is publicly accessible to any visitor without an account. Users are responsible for ensuring their use of the extracted data complies with applicable laws and USPTO's terms of service.

# Actor input Schema

## `serialNumbers` (type: `array`):

List of US trademark serial numbers (8 digits) or registration numbers to check. Example: \["97000001", "79123456"]

## `searchType` (type: `string`):

Whether the numbers provided are serial numbers (application) or registration numbers.

## `proxyConfiguration` (type: `object`):

Datacenter proxies are free and work for most sites. Switch to Residential if you get blocked.

## Actor input object example

```json
{
  "serialNumbers": [
    "97000001",
    "79123456"
  ],
  "searchType": "serialNumber",
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

## `serialNumber` (type: `string`):

US trademark serial number

## `registrationNumber` (type: `string`):

US trademark registration number if registered

## `markName` (type: `string`):

Trademark mark name

## `status` (type: `string`):

Current trademark status from USPTO

## `statusDate` (type: `string`):

Date of the current status

## `filingDate` (type: `string`):

Date the trademark application was filed

## `registrationDate` (type: `string`):

Date the trademark was registered

## `register` (type: `string`):

Trademark register type

## `markType` (type: `string`):

Type of mark

## `owner` (type: `string`):

Current owner or applicant name

## `goodsAndServices` (type: `string`):

Description of goods and services covered

## `internationalClass` (type: `string`):

International trademark class(es)

## `attorney` (type: `string`):

Attorney of record

## `url` (type: `string`):

Direct link to USPTO TSDR record

## `checkedAt` (type: `string`):

ISO timestamp of when the check was performed

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("sheshinmcfly/uspto-trademark-checker").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "proxyConfiguration": { "useApifyProxy": True } }

# Run the Actor and wait for it to finish
run = client.actor("sheshinmcfly/uspto-trademark-checker").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call sheshinmcfly/uspto-trademark-checker --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=sheshinmcfly/uspto-trademark-checker",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "USPTO Trademark Status Checker",
        "description": "Check the status of any US trademark by serial or registration number using the official USPTO TSDR database. Returns mark name, status, owner, filing date, registration date, and attorney — no login required. Ideal for IP research, brand protection, and due diligence.",
        "version": "1.0",
        "x-build-id": "RPOVyy8cpPD8JWtF8"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/sheshinmcfly~uspto-trademark-checker/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-sheshinmcfly-uspto-trademark-checker",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/sheshinmcfly~uspto-trademark-checker/runs": {
            "post": {
                "operationId": "runs-sync-sheshinmcfly-uspto-trademark-checker",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/sheshinmcfly~uspto-trademark-checker/run-sync": {
            "post": {
                "operationId": "run-sync-sheshinmcfly-uspto-trademark-checker",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "serialNumbers"
                ],
                "properties": {
                    "serialNumbers": {
                        "title": "Trademark numbers",
                        "type": "array",
                        "description": "List of US trademark serial numbers (8 digits) or registration numbers to check. Example: [\"97000001\", \"79123456\"]",
                        "items": {
                            "type": "string"
                        }
                    },
                    "searchType": {
                        "title": "Search type",
                        "enum": [
                            "serialNumber",
                            "registrationNumber"
                        ],
                        "type": "string",
                        "description": "Whether the numbers provided are serial numbers (application) or registration numbers.",
                        "default": "serialNumber"
                    },
                    "proxyConfiguration": {
                        "title": "Proxy Configuration",
                        "type": "object",
                        "description": "Datacenter proxies are free and work for most sites. Switch to Residential if you get blocked."
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
