USPTO Trademark Status Monitor & Lookup avatar

USPTO Trademark Status Monitor & Lookup

Pricing

from $3.00 / 1,000 trademark records

Go to Apify Store
USPTO Trademark Status Monitor & Lookup

USPTO Trademark Status Monitor & Lookup

Track US trademarks by serial number. Returns mark text, LIVE/DEAD status, owner, Nice classes, goods and services, and reports exactly what changed since your last run. Built for scheduled portfolio and competitor watching. No API key needed.

Pricing

from $3.00 / 1,000 trademark records

Rating

0.0

(0)

Developer

Technical Dost Solutions

Technical Dost Solutions

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Categories

Share

Watch your US trademark portfolio and get told the moment a status changes — abandonment, registration, cancellation, a new owner or a new opposition. No API key required.

Give it a list of USPTO serial numbers, put it on a weekly schedule, and it reports exactly which marks changed and what changed about them. Missing a status deadline can cost a registration, and nothing on the USPTO side emails you when a third party's mark goes abandoned.


What you get

{
"markText": "SEEK BEAUTY",
"serialNumber": "88888888",
"changeStatus": "changed",
"changedFields": ["caseStatus", "statusDate", "liveDeadStatus"],
"liveDeadStatus": "DEAD",
"caseStatus": "Abandoned because no Statement of Use or Extension Request timely filed after Notice of Allowance was issued.",
"statusDate": "2022-12-12",
"previousCaseStatus": "Notice of Allowance sent",
"previousStatusDate": "2021-11-09",
"filingDate": "2020-04-27",
"publicationDate": "2021-09-14",
"registrationDate": null,
"register": "Principal",
"niceClasses": ["036", "039"],
"goodsAndServices": [
{ "classNumber": "036", "description": "Real estate services, namely, property management services for condominium buildings..." },
{ "classNumber": "039", "description": "Leasing of garage space; Parking garage services..." }
],
"ownerName": "1000 South Michigan Equities, LLC",
"owners": [
{
"name": "1000 South Michigan Equities, LLC",
"citizenship": "UNITED STATES OF AMERICA",
"address": "c/o Time Equities, 55 Fifth Avenue, 15th Floor, New York, NEW YORK, 10003, UNITED STATES OF AMERICA"
}
],
"attorneyName": "Matthew J. Levinstein",
"attorneyEmail": "chiipmail@gtlaw.com",
"assignmentCount": 0,
"proceedingCount": 0,
"tsdrUrl": "https://tsdr.uspto.gov/statusview/sn88888888",
"checkedAt": "2026-08-17T17:22:04.118Z"
}

changeStatus is one of new, changed or unchanged. When it is changed, changedFields names exactly which fields moved and previousCaseStatus / previousStatusDate show what they were before.


Main use cases

  • Portfolio docketing. Watch every mark you own or prosecute and catch status movement without checking TSDR by hand.
  • Competitor and watch-list monitoring. Track a competitor's applications through publication, allowance and registration — or catch the moment one goes abandoned and the wording becomes available.
  • Abandonment alerts. liveDeadStatus flipping to DEAD is the single most actionable signal here.
  • Assignment / ownership tracking. assignmentCount and owner changes surface when a mark is sold.
  • Opposition awareness. proceedingCount rises when TTAB proceedings are filed.
  • Docket reconciliation. Cross-check your practice management system against the register.

Quick start

Baseline your portfolio (returns everything, records the current state):

{
"serialNumbers": ["88888888", "97000001"],
"onlyChanges": false
}

Then switch on change-only mode and schedule it weekly:

{
"serialNumbers": ["88888888", "97000001"],
"onlyChanges": true
}

Input reference

FieldTypeDefaultWhat it does
serialNumbersarrayrequired8-digit serial numbers. 88/888,888 and sn88888888 are normalised. Up to 2,000 per run.
onlyChangesbooleanfalseReturn only marks that changed since the last run.
includeMarkTextbooleantrueAdd mark wording and goods/services. Cached after the first fetch.
includeProsecutionHistorybooleanfalseAdd the file history with document links.
prosecutionHistoryLimitinteger20Most recent history entries to include.
stateStoreNamestringuspto-trademark-stateNamed store holding previous observations. Use different names for separate portfolios.

How the monitoring works

Previous observations live in a named Key-Value Store on your own account, so your history is yours and persists between runs.

The Actor compares a deliberately narrow set of fields between runs — case status, status date, LIVE/DEAD, registration date, owner name, assignment count and proceeding count. Prosecution history is excluded from that comparison on purpose: it accumulates entries constantly, and treating every new document as a "change" would make the monitor cry wolf.

Mark text is fetched once, then cached. The USPTO page carrying the mark wording is rate-limited hard, so fetching it for every mark on every run would make scheduled runs slow. Since that wording never changes, the Actor reads it the first time it sees a mark and reuses it afterwards. A weekly run over an established portfolio makes one fast request per mark.


Pricing

EventPriceWhen it happens
Trademark record$0.003A mark is returned — new, or changed
Status check$0.0005A mark was checked and found unchanged (change-only mode)

The two-tier design exists so scheduled monitoring stays cheap. A weekly run over 200 marks where nothing changed costs 200 × $0.0005 = $0.10. The week one mark goes abandoned it costs 199 × $0.0005 + 1 × $0.003 = $0.10.

You are not charged for:

  • serial numbers with no USPTO record
  • failed requests, retries or USPTO rate-limiting
  • invalid serial numbers — reported and skipped before any work
  • anything after the maximum charge you set for the run

How this compares

ActorPrice per recordChange detectionMark text
This Actor$0.003 (+ $0.0005 unchanged)yesyes
memo23/uspto-trademark-scraper$0.007 + $0.00005/run
nexgendata/uspto-trademark-search$0.05 + $0.0001/run
nexgendata/euipo-esearch-trademarks$0.10 + $0.005/runEUIPO, not USPTO

Competitors' list prices as published on Apify Store on 2026-08-17; check current figures before relying on this table.


Using the API

curl -X POST "https://api.apify.com/v2/acts/technicaldost~uspto-trademark-status-monitor/run-sync-get-dataset-items?token=<TOKEN>" \
-H 'Content-Type: application/json' \
-d '{ "serialNumbers": ["88888888"], "onlyChanges": false }'

JavaScript — alert on anything that went dead:

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('technicaldost/uspto-trademark-status-monitor').call({
serialNumbers: ['88888888', '97000001'],
onlyChanges: true,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
for (const mark of items.filter((m) => m.liveDeadStatus === 'DEAD')) {
console.log(`${mark.markText} (${mark.serialNumber}) is now DEAD: ${mark.caseStatus}`);
}

Python:

from apify_client import ApifyClient
client = ApifyClient("<TOKEN>")
run = client.actor("technicaldost/uspto-trademark-status-monitor").call(run_input={
"serialNumbers": ["88888888"],
"onlyChanges": True,
})
for m in client.dataset(run["defaultDatasetId"]).iterate_items():
print(m["markText"], m["changeStatus"], m["changedFields"])

Add a webhook on your Task so a change pushes straight into Slack or your docketing system.


Limitations

Please read these before buying — the scope is deliberate.

  • Lookup by serial number only. There is no wordmark search. The USPTO search endpoint sits behind a bot-detection challenge, and this Actor does not attempt to defeat it. If you need to find marks by name, do that in USPTO's own search, then bring the serial numbers here to monitor them.
  • Registration numbers are not accepted as input. The status endpoint keys on serial numbers. A registered mark's serial number is on its registration certificate and on TSDR.
  • Mark text comes from a rate-limited page. The first run over a large portfolio is slow — budget roughly 4 seconds per new mark. Later runs are fast because the wording is cached. Set includeMarkText: false for a fast first run without the wording.
  • No similarity or clearance analysis. This Actor reports the register's own data. It does not judge likelihood of confusion.
  • US marks only. No EUIPO, WIPO or other national registers.
  • Not legal advice. This is a data tool. Docketing decisions and filing deadlines should be confirmed against USPTO's own records and with a qualified attorney.


Data source and responsible use

Data comes from public USPTO TSDR endpoints. US trademark register data is a public record produced by the United States federal government. The Actor paces its requests to stay within what the service tolerates and does not attempt to bypass rate limiting or bot detection.

Records include attorney and owner contact details as published on the public register. Use them for legitimate IP administration.

Not affiliated with or endorsed by the United States Patent and Trademark Office.