VOOZH about

URL: https://apify.com/automation-lab/uspto-trademark-status-checker

โ‡ฑ USPTO Trademark Status Checker & TSDR Bulk Lookup ยท Apify


Pricing

Pay per event

Go to Apify Store

USPTO Trademark Status Checker

Check USPTO trademark serial and registration numbers in bulk. Export status, owners, filing dates, classes, goods/services, and TSDR links.

Pricing

Pay per event

Rating

0.0

(0)

Developer

๐Ÿ‘ Stas Persiianenko

Stas Persiianenko

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

6 days ago

Last modified

Categories

Share

Check USPTO trademark serial and registration numbers in bulk and export clean status data from the official TSDR system.

The actor turns a list of trademark numbers into structured records with mark name, live/dead status, owner, dates, goods and services, classes, attorney, and source links.


What does USPTO Trademark Status Checker do?

USPTO Trademark Status Checker reads public USPTO Trademark Status and Document Retrieval (TSDR) status pages and converts them into spreadsheet-ready data.

Use it when you have serial numbers or registration numbers and need a repeatable export instead of opening each TSDR page by hand.

The actor is designed for official-data workflows, portfolio checks, due diligence, and brand monitoring.

Who is it for?

  • ๐Ÿง‘โ€โš–๏ธ IP attorneys checking client trademark portfolios
  • ๐Ÿ›ก๏ธ Brand protection teams monitoring live/dead status changes
  • ๐Ÿ›’ Amazon and private-label sellers validating marks before product launches
  • ๐Ÿงพ Due diligence teams reviewing trademark assets in acquisitions
  • ๐Ÿ”Ž Domain and naming researchers checking whether a brand name is already protected
  • ๐Ÿ“Š Operations teams that need CSV, JSON, Excel, or API output from USPTO pages

Why use this actor?

Manual TSDR checks are slow when you need to review dozens or hundreds of marks.

This actor helps you:

  • โœ… Check many serial or registration numbers in one run
  • โœ… Export normalized results to CSV, JSON, Excel, XML, or API
  • โœ… Keep official USPTO source links with every row
  • โœ… Preserve per-number errors for invalid or empty records
  • โœ… Avoid browser automation overhead by using server-rendered USPTO pages

What data can you extract?

FieldDescription
inputNumberNumber exactly as you entered it
normalizedNumberDigits-only USPTO number
numberTypeSerial, registration, or unknown
markNameTrademark mark text
statusUSPTO status text
statusDateDate associated with the current status
filingDateApplication filing date
registrationNumberRegistration number, when available
registrationDateRegistration date, when available
registerPrincipal or Supplemental register
markTypeUSPTO mark type
liveDeadFlagLIVE or DEAD summary when detected
ownerNameCurrent owner name
ownerAddressCurrent owner address
attorneyNameAttorney of record
goodsServicesGoods and services description
classesInternational classes
tm5StatusTM5 common status descriptor
tsdrUrlOfficial USPTO status page
documentsUrlOfficial USPTO documents tab link
errorPer-number error, if any
scrapedAtExtraction timestamp

How much does it cost to check USPTO trademark status?

The actor uses pay-per-event pricing.

Current pricing is a $0.005 run-start fee plus a tiered per-record fee. The BRONZE per-record price is $0.000024217, with lower rates on higher Apify usage tiers.

This pricing works well for both one-off due diligence and recurring portfolio checks because you only pay for processed numbers.

Input options

You can provide numbers in two ways:

  1. Add values to Serial or registration numbers.
  2. Paste a bulk list into Paste numbers.

Numbers can contain punctuation, spaces, or line breaks. The actor normalizes them to digits before requesting USPTO TSDR.

Example input

{
"trademarkNumbers":["85071981","90000000","74656267"],
"includeDocuments":true,
"maxConcurrency":2,
"requestDelayMs":250
}

Example output

{
"inputNumber":"85071981",
"normalizedNumber":"85071981",
"numberType":"serial",
"markName":"AVB",
"status":"REGISTERED AND RENEWED",
"statusDate":"Jun. 25, 2020",
"filingDate":"Jun. 25, 2010",
"registrationNumber":"4012345",
"registrationDate":"Aug. 16, 2011",
"liveDeadFlag":"LIVE",
"ownerName":"Example owner",
"classes":["010"],
"tsdrUrl":"https://tsdr.uspto.gov/statusview/sn85071981",
"documentsUrl":"https://tsdr.uspto.gov/#caseNumber=85071981&caseSearchType=US_APPLICATION&caseType=DEFAULT&searchType=documentSearch",
"error":null,
"scrapedAt":"2026-06-22T00:00:00.000Z"
}

Exact field values depend on the live USPTO TSDR record.

How to run it

  1. Open the actor on Apify.
  2. Paste serial or registration numbers.
  3. Keep concurrency at the default value for large lists.
  4. Start the run.
  5. Download the dataset as CSV, JSON, Excel, XML, or HTML.

Tips for best results

  • Use official USPTO serial or registration numbers.
  • Keep very large checks conservative to avoid USPTO throttling.
  • Use requestDelayMs if you are checking long portfolios.
  • Keep includeDocuments enabled when reviewers need source links.
  • Review the error field instead of assuming every number exists.

Handling invalid numbers

The actor does not fail the whole run when one number is invalid.

Instead, it saves a row with the original input and an error message.

This makes it easier to clean spreadsheets because successful and failed checks stay aligned with your input list.

Integrations

You can connect USPTO Trademark Status Checker to:

  • ๐Ÿ“„ Google Sheets for portfolio monitoring
  • ๐Ÿงฐ Zapier or Make for recurring brand checks
  • ๐Ÿ—„๏ธ Airtable for trademark asset databases
  • ๐Ÿ“ฌ Slack or email alerts when a downstream workflow detects status changes
  • ๐Ÿงช Internal due-diligence tools using the Apify API

API usage

Node.js

import{ ApifyClient }from'apify-client';
const client =newApifyClient({token: process.env.APIFY_TOKEN});
const run =await client.actor('automation-lab/uspto-trademark-status-checker').call({
trademarkNumbers:['85071981','90000000'],
includeDocuments:true
});
const{ items }=await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Python

from apify_client import ApifyClient
import os
client = ApifyClient(os.environ['APIFY_TOKEN'])
run = client.actor('automation-lab/uspto-trademark-status-checker').call(run_input={
'trademarkNumbers':['85071981','90000000'],
'includeDocuments':True,
})
items = client.dataset(run['defaultDatasetId']).list_items().items
print(items)

cURL

curl-X POST 'https://api.apify.com/v2/acts/automation-lab~uspto-trademark-status-checker/runs?token=YOUR_APIFY_TOKEN'\
-H'Content-Type: application/json'\
-d'{"trademarkNumbers":["85071981","90000000"],"includeDocuments":true}'

MCP integration

Use this actor from Claude Desktop, Claude Code, or other MCP clients through Apify MCP Server.

MCP URL:

https://mcp.apify.com/?tools=automation-lab/uspto-trademark-status-checker

Claude Code setup:

$claude mcp add apify-uspto-trademark-checker https://mcp.apify.com/?tools=automation-lab/uspto-trademark-status-checker

Claude Desktop JSON config:

{
"mcpServers":{
"apify-uspto-trademark-checker":{
"url":"https://mcp.apify.com/?tools=automation-lab/uspto-trademark-status-checker"
}
}
}

Example prompts:

  • "Check these USPTO serial numbers and summarize which marks are live."
  • "Turn this trademark portfolio into a CSV with owner, status, filing date, and TSDR links."
  • "Find rows with missing or invalid trademark numbers from this list."

Official source

The actor reads public USPTO TSDR status pages.

Each dataset item includes the official source URL so you can click through and verify the current record.

Reliability notes

USPTO is a government website and may throttle bursts of traffic.

The actor uses conservative defaults, retries temporary 403/429/5xx responses, and exposes advanced delay and concurrency settings.

If you run very large lists, use lower concurrency and a delay between requests.

Legality

USPTO trademark status pages are public government records.

You should still use the data responsibly, respect USPTO availability, and follow applicable laws and professional duties for your use case.

This actor does not bypass logins, paywalls, or private systems.

FAQ

Why do I see an error for one number?

The number may be invalid, missing from TSDR, or temporarily unavailable. Check the error field and open the tsdrUrl manually if you need to verify.

Why is a run slower for large lists?

The actor intentionally uses conservative concurrency because USPTO can throttle bursts. Increase concurrency carefully or decrease it for maximum reliability.

Can I monitor status changes?

Yes. Schedule the actor on Apify, export each run, and compare status, statusDate, and liveDeadFlag in your downstream workflow.

Related scrapers

Other automation-lab actors can support adjacent due-diligence workflows:

Support

If a USPTO layout change breaks extraction, open an Apify issue with a run link and example serial numbers.

Changelog

0.1

Initial version with bulk trademark number input, TSDR status extraction, per-number errors, and official source links.

You might also like

USPTO Trademark Status Checker

sheshinmcfly/uspto-trademark-checker

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.

10

USPTO Trademark Assignment Scraper

parseforge/uspto-trademark-scraper

Search and extract trademark assignment data from the USPTO Assignment Center. Look up by owner name, serial number, or registration number. Get mark text, filing dates, owners, assignees, conveyance info, and document links. Covers millions of US trademark records.

USPTO Patent & Trademark Scraper

solidcode/uspto-patent-trademark-scraper

[๐Ÿ’ฐ $3.50 / 1K] Search and extract US patent and trademark records from the USPTO. Look up by keyword, inventor, assignee, or classification, or pull specific patent and trademark numbers โ€” get titles, abstracts, owners, inventors, dates, status, and classifications.

๐Ÿ” โ„ข๏ธ Trademark Search โ€” USPTO Database Lookup

nexgendata/trademark-search

Search USPTO trademark database for registered & pending marks. Get filing status, owner data, classifications & history. Essential for brand clearance & IP due diligence. Pay per search.

EUIPO Trademark Scraper - EU Trademark Search & Monitoring

jungle_synthesizer/euipo-trademark-scraper

Scrape EUIPO trademark database via eSearch API. Extract records: application/registration numbers, status, applicant, Nice classes, goods and services, opposition data, and mark type. Search by name, applicant, Nice class, date range, and status. For brand-protection teams and trademark attorneys.

๐Ÿ‘ User avatar

BowTiedRaccoon

4

USPTO Trademark Search โ€” Lookup, Availability & Data

sian.agency/uspto-trademark-scraper

Search and extract USPTO trademark data โ€” keyword search, brand-name availability checks, owner and full-text search, serial-number lookups, class suggestions, and expiring-mark discovery. Seven operations, one clean dataset per run. No API key, no setup.

๐Ÿ‘ User avatar

SIรN Oรœ

6

USPTO Trademark Search & AI Analysis

abcdemprendes/uspto-trademark-search-ai

Your brand is at risk every day without a trademark. Competitors can file first. Copycats can steal your name. USPTO can reject you. Run AI-powered trademark clearance in seconds. English & Spanish.

2