USPTO Trademark Status Scraper - Classes & Owner avatar

USPTO Trademark Status Scraper - Classes & Owner

Pricing

from $17.50 / 1,000 trademark records

Go to Apify Store
USPTO Trademark Status Scraper - Classes & Owner

USPTO Trademark Status Scraper - Classes & Owner

Look up USPTO trademark status by serial or registration number: mark, filing and status dates, registered classes, owner, attorney of record and prosecution history documents. Export CSV, Excel, JSON. No login or API key. Tested: 10 marks with extras in 29 seconds.

Pricing

from $17.50 / 1,000 trademark records

Rating

0.0

(0)

Developer

RecordsData

RecordsData

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

17 hours ago

Last modified

Share

PunkRecordsData

®️ USPTO Trademark Status Scraper - Classes & Owner

The USPTO Trademark Status Scraper looks up official USPTO trademark records by serial or registration number and returns mark, status, filing and status dates, registered classes, owner, attorney of record and prosecution history documents. Export CSV, Excel, JSON or XML. No login, no API key. Verified 2026-10-03 against live tsdr.uspto.gov. Pricing: $0.02 per trademark record.

The USPTO Trademark Status Scraper reads the public Trademark Status and Document Retrieval (TSDR) page of the United States Patent and Trademark Office for every serial or registration number you give it. In our 2026-10-03 cloud test, 10 trademarks with classes, owner and attorney came back in 29 seconds as 39 dataset rows. It is built for trademark attorneys, brand protection teams, founders doing name clearance and compliance teams.

🔎 What does the USPTO Trademark Status Scraper do?

  • Check the status of a USPTO trademark by serial number (for example 88888888) or registration number (rn4671942).
  • Pull registered classes (International and U.S.), one row per class, each with its own class status.
  • Pull the trademark owner name, address, legal entity type and state or country of organization.
  • Pull the attorney of record and correspondent contact details.
  • Pull the prosecution history: one row per document (application, office actions, notice of allowance, publication, abandonment) with date, page count and download links.
  • Bulk-check a whole portfolio in one run and schedule it daily or weekly.

📋 What data can you extract from the USPTO?

FieldDescription
markThe trademark text (can be N/A for design-only marks)
serialNumberUSPTO serial number
registrationNumberRegistration number, N/A if not registered
filingDateApplication filing date
registerPrincipal or Supplemental
markTypeTrademark, Service Mark and so on
statusCurrent status in the USPTO's own words
statusDateDate of the current status
urlSource TSDR page
for, internationalClasses, usClasses, classStatusClass rows (goods and services, class codes, status)
ownerName, ownerAddress, legalEntityType, stateOrCountryOwner rows
attorneyName, docketNumber, attorneyEmail, correspondentName, correspondentEmailAttorney rows (a field the USPTO does not publish for a case is N/A)
docId, description, displayDate, pageCount, downloadUrlsProsecution history document rows
scrapedAtUTC timestamp of the lookup

🧾 Sample output

Real row from our run on 2026-10-03 (serial 88888889):

{
"mark": "TMI THE METRO INDEX",
"serialNumber": "88888889",
"registrationNumber": "6343310",
"filingDate": "Apr. 27, 2020",
"register": "Principal",
"markType": "Trademark",
"status": "Registered. The registration date is used to determine when post-registration maintenance documents are due.",
"statusDate": "May 04, 2021",
"url": "https://tsdr.uspto.gov/statusview/sn88888889",
"scrapedAt": "2026-10-04T04:52:41.606Z"
}

A prosecution history document row from the same mark:

{
"mark": "TMI THE METRO INDEX",
"serialNumber": "88888889",
"docId": "ORC20210418055902",
"description": "Registration Certificate",
"displayDate": "May. 04, 2021",
"pageCount": 1,
"downloadUrls": [
"https://tsdrsec.uspto.gov/ts/cd/tmcasedoc/downloadproxy?url=/api/casedoc/cms/case/88888889/registration-certificate/6343310_88888889_050421_ORC.pdf"
]
}

💰 How much does it cost to look up USPTO trademarks?

Pay per event. Prices below are the live FREE-tier prices; paid Apify plans get lower rates (down to $0.0175 per trademark record on DIAMOND).

EventWhen it is chargedPrice
trademark-recordOne trademark looked up and saved$0.02
class-recordOne registered class row (only if Classes is on)$0.015
owner-recordOne owner row (only if Owner is on)$0.015
attorney-recordOne attorney row (only if Attorney is on)$0.015
document-recordOne prosecution history document (only if Documents is on)$0.015

Looking up 1,000 trademarks with no extras costs about $20. Our 10-mark test with classes, owner and attorney produced 10 trademark, 13 class, 8 owner and 8 attorney events, about $0.64 at the FREE tier. Numbers that do not exist, error rows, and extra rows the USPTO leaves empty are never charged. Set a max charge per run and the actor stops cleanly at your limit. Free users get 10 lookups per run.

🚀 How to scrape USPTO trademark status in 3 steps

  1. Open the actor and paste serial or registration numbers into Serial or registration numbers (add rn before a registration number).
  2. Switch on only the extras you need: Classes, Owner, Attorney, Prosecution history documents.
  3. Click Start, then download the dataset as JSON, CSV, Excel or XML.

⚙️ Input

FieldDescription
numbersSerial or registration numbers. Default ["88888888"]. Duplicates are removed
maxItemsMax trademarks to look up (free plan capped at 10). Extra rows do not count against it
includeClassesOne row per registered class (default off)
includeOwnerOwner row (default off)
includeAttorneyAttorney and correspondent row (default off)
includeDocumentsProsecution history documents, one row each (default off)
{
"numbers": ["88888888", "88888889", "rn4671942"],
"maxItems": 10,
"includeClasses": true,
"includeOwner": true
}

📦 Output

Rows go to the default dataset in the order looked up: the trademark row first, then its class, owner, attorney and document rows. Open the Overview view for the main fields or download everything. A number with no USPTO record produces one error row (not charged) and the run status says how many were not found. An empty numbers list fails the run immediately with nothing charged.

⚖️ USPTO trademark scraper vs alternatives

Prices measured from the public Apify Store on 2026-10-03:

ActorEvent priceClasses, owner, attorney, documents
This actor$0.02 per trademark record (FREE tier)Yes, each a separate optional event
dev00/uspto-trademark-api$0.003 per check on paid plansVerification only
scrapesage/uspto-trademark-scraper$0.004 per trademarkSome enrichment events
memo23/uspto-trademark-scraper$0.007 per resultSingle result event

We are not the cheapest for a plain status check. If you only need a yes or no on a batch of numbers, a one-event verifier costs less. This actor costs more per mark because it reads the full TSDR record and can add every class, the owner, the attorney and the file wrapper in the same run.

🧰 Use cases

  • Portfolio monitoring: re-check the status of every mark a client or competitor holds.
  • Pre-launch clearance: confirm an existing registration before committing to a brand name.
  • Due diligence and KYB: list the trademarks and owners behind a company.
  • Litigation prep: export the complete prosecution history with download links.

🔌 Run via API, schedule and integrate

curl -X POST "https://api.apify.com/v2/acts/RecordsData~uspto-trademark-status-scraper/runs?token=YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"numbers":["88888888"],"includeOwner":true}'

Use Apify Scheduler for daily or weekly checks, and the Make, Zapier or n8n integrations to push results to Google Sheets, Slack or a warehouse. The actor is also callable from MCP clients through Apify's MCP server.

The actor reads public trademark records that the USPTO publishes for anyone on tsdr.uspto.gov. It does not log in or bypass anything. Owner and attorney details are part of the public record, but you are responsible for using them in line with applicable law such as privacy and marketing rules. This is an independent tool, not affiliated with the USPTO.

❓ Frequently asked questions

Can I search USPTO trademarks by name?

No. The USPTO name search sits behind a bot challenge, so this actor works from known serial or registration numbers. Find the number once in the USPTO Trademark Search tool, then use this actor for repeatable bulk lookups.

Why did I get 0 results?

The numbers you gave do not exist at the USPTO (the site answers HTTP 503 for unknown numbers). The run then ends with a "No USPTO record found" status, one uncharged error row per number, and no charge. Check for typos and add rn for registration numbers.

Why does one trademark return several class rows?

A mark can register in several International and U.S. classes, each with its own status. Each class is a separate row and a separate class-record event.

Why is mark sometimes N/A?

Some applications are design-only marks with no literal text. They are still real records, so the trademark row is delivered with mark set to N/A.

What is in the prosecution history?

Every document in the file wrapper: application, drawing, office actions, responses, notice of allowance, publication, registration certificate and later notices. In our test, one registered mark returned 30 documents.

Will I be charged for failed lookups?

No. Error rows, unknown numbers and empty extra rows are saved without a charge event.

Is the data real-time and official?

Yes, it comes from the USPTO TSDR status pages at the time of the run.

Can I schedule recurring checks?

Yes. Use Apify Scheduler on any cron schedule.

🔗 Want more public-records data?

🆘 Support

Open an issue from the Issues tab or write to contact.punkrecordsdata@gmail.com. Last updated: 2026-10-03