USPTO Trademark Scraper - Marks, Owners, Status & New Filings avatar

USPTO Trademark Scraper - Marks, Owners, Status & New Filings

Pricing

from $5.00 / 1,000 trademark records

Go to Apify Store
USPTO Trademark Scraper - Marks, Owners, Status & New Filings

USPTO Trademark Scraper - Marks, Owners, Status & New Filings

Search the US trademark register (USPTO) by word mark, owner, Nice class or serial number. Get status, filing and registration dates, owner, classes and goods/services, plus an "only new" watch mode for new filings. No login.

Pricing

from $5.00 / 1,000 trademark records

Rating

0.0

(0)

Developer

rj

rj

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

12 hours ago

Last modified

Features

Limited permissions

Share

USPTO Trademark Scraper: Search US Trademarks, Owners, Status & New Filings

Search the US trademark register (USPTO) by word mark, owner, Nice class or serial number and get clean, structured trademark records: status, filing / registration / opposition dates, owner and jurisdiction, Nice classes, goods and services, filing basis and the mark image. Turn on "Only new trademarks" and schedule it, and you have a cheap trademark watch that sends you only new filings that match your brand, competitor or class. It uses the same public JSON API as the official USPTO Trademark Search, so it needs no login, no browser and no proxy. Unlike most trademark Actors, one run handles keyword, owner, class and serial-number searches together, and the price stays at $0.005 per trademark.

What data can you get?

FieldExampleNotes
markTextCOCA-COLAWord mark
serialNumber, registrationNumber78264035, 2844970Registration number is null while pending
status, statusCategorylive, RegisteredRegistered / Pending / Abandoned / Cancelled / Dead
statusDescription, statusDateThe registration has been renewed., 2024-08-23Exact TSDR status text and date with Fetch exact TSDR status
filingDate, registrationDate2003-06-18, 2004-05-25ISO dates
publishedForOppositionDate2004-03-02When the 30-day opposition window opened
abandonmentDate, cancellationDate2009-06-01For dead marks
ownerName, ownerTypeThe Coca-Cola Company, CORPORATIONCurrent owner as recorded on the register
ownerState, ownerCountryDELAWARE, USAJurisdiction only, never a street address
niceClasses[28]International (Nice) classes 1-45
goodsAndServicesIC 028: Board games; ...One line per class, max 2,000 characters
markType, markCategoryStandard characters, TRADEMARKDrawing type and mark category
filingBasis, register1(a), PRINCIPAL1(a) use, 1(b) intent to use, 44(e), 66(a)
drawingUrlhttps://tmcms-docs.uspto.gov/cases/78264035/mark/large.pngImage of the mark
urlTSDR status pageLink to the official record
searchType, searchTerm, scrapedAtkeyword, coca-colaWhich search found the mark

Use cases

  • Trademark watch for law firms and brand owners: schedule a daily or weekly run that outputs only new applications containing your client's mark or filed in their classes, then oppose before the deadline.
  • Name clearance: check whether a product, app or startup name is already taken in the classes you care about, live and dead.
  • Competitor intelligence: list every mark a competitor owns or has just filed (new filings often reveal product launches months early).
  • Ecommerce sellers: check brand names before listing on Amazon or Shopify to avoid IP complaints.
  • Portfolio audits: pull status, dates and classes for a list of serial numbers in one run.
  • Market research: count and analyse new filings per class (e.g. all clothing marks filed this week).

How to use

  1. Enter one or more Search terms (word marks), Owner names or Serial numbers. Each is its own search.
  2. Optionally narrow by Nice classes, Status (live / dead / all) and Filed within (days).
  3. Click Start. Results appear in the dataset; download them as JSON, CSV or Excel, or read them through the API.

Check if a name is taken in a class (live and dead marks):

{
"searchTerms": ["bloom"],
"classes": ["3"],
"status": "all",
"maxItems": 20
}

All live trademarks of a company:

{
"ownerNames": ["Patagonia, Inc."],
"status": "live",
"maxItems": 25
}

New clothing trademark filings of the last 7 days (no search term needed):

{
"classes": ["25"],
"filedWithinDays": 7,
"sortBy": "newest",
"maxItems": 20
}

Weekly watch: new "cola" filings in soft drinks, only marks not seen before:

{
"searchTerms": ["cola"],
"classes": ["32"],
"filedWithinDays": 14,
"sortBy": "newest",
"onlyNew": true,
"watchName": "cola-watch"
}

Look up serial numbers with the exact TSDR status:

{
"serialNumbers": ["78264035", "99485163"],
"fetchDetails": true
}

Output example

Real item from a run (search bloom, class 3, all statuses):

{
"id": "86183032",
"serialNumber": "86183032",
"registrationNumber": "5291299",
"url": "https://tsdr.uspto.gov/#caseNumber=86183032&caseType=SERIAL_NO&searchType=statusSearch",
"markText": "EVER BLOOM",
"markType": "Standard characters",
"markCategory": "TRADEMARK",
"drawingUrl": "https://tmcms-docs.uspto.gov/cases/86183032/mark/large.png",
"status": "dead",
"statusCategory": "Cancelled",
"statusDescription": "Cancelled",
"statusDate": null,
"filingDate": "2014-02-03",
"registrationDate": "2017-09-19",
"publishedForOppositionDate": "2014-06-17",
"abandonmentDate": null,
"cancellationDate": "2024-03-29",
"ownerName": "SHISEIDO COMPANY, LIMITED",
"ownerType": "CORPORATION",
"ownerState": null,
"ownerCountry": "JAPAN",
"ownerRole": "ORIGINAL REGISTRANT",
"niceClasses": [3],
"goodsAndServices": "(CANCELLED) IC 003: [ Cosmetic creams for skin care; cosmetic preparations for skin care; lotions for skin; ... ].",
"filingBasis": "1(a)",
"register": "PRINCIPAL",
"detailsFetched": false,
"searchType": "keyword",
"searchTerm": "bloom",
"scrapedAt": "2026-11-08T12:28:52.914Z"
}

With Fetch exact TSDR status on, statusDescription holds the official status text (e.g. The registration has been renewed.), statusDate is filled and detailsFetched is true.

A RUN_SUMMARY record in the key-value store lists, per search, the total number of matches, how many marks were output, any serial numbers that were not found, and request statistics.

Pricing

Pay per event: you pay only for results, not for run time.

EventPriceWhen
trademark$0.005Each trademark record in the output
trademark-details$0.002Each mark for which the exact TSDR status was fetched (only with Fetch exact TSDR status)

Examples:

  • 1,000 trademarks ≈ $5.00
  • 1,000 trademarks with exact TSDR status ≈ $5.00 + $2.00 = $7.00
  • A daily watch that finds 5 new filings a day ≈ $0.025 per day, about $0.75 per month

Set Maximum cost per run in the run options; the Actor stops cleanly when the budget is reached and never charges beyond it.

Tips and limits

  • Watch mode: "Only new trademarks" remembers the serial numbers each watch has output (in a named key-value store, per Watch name). The first run outputs and charges everything it finds, so combine it with Filed within (days) and Sort by: Newest filings first. Use a separate watch name per client or brand.
  • Search terms match marks that contain the words (phrase match plus the USPTO's pseudo-mark spellings). For a fuzzy "sounds like" clearance search, run several spellings.
  • Owner search matches the owner name as a phrase (small word-order differences allowed), so "Patagonia" also finds "Eko Patagonia". Use the full legal name for precision.
  • Serial-number lookups ignore the status, class and date filters. Serial numbers that don't exist are listed in RUN_SUMMARY.
  • 10,000 results per search: the USPTO search returns at most 10,000 results for one query. Narrow big searches by class, status or filing date.
  • statusDate is only filled with Fetch exact TSDR status, which makes one extra request per mark (about one mark per second, following the USPTO's rate guidance).
  • Data freshness: the USPTO index is usually updated daily; brand-new filings appear a day or so after filing.
  • Only US (USPTO) trademarks. EUIPO / WIPO / TMview are not covered.

FAQ

Is it legal to scrape USPTO trademark data? Trademark records are public government records, published by the USPTO for anyone to search. This Actor reads only that public data, at a polite rate, without logging in. It does not collect personal contact data: no emails, phone numbers, street addresses or attorney/correspondent contacts. Owner names are kept because they are the public register owner, but only the owner's state and country are returned. You are responsible for using the data in line with the law and the USPTO terms of use.

Do I need a proxy? No. The USPTO search API answers Apify's servers directly. If you ever see "HTTP 403/429" or "AWS WAF challenge" in the log, enable Apify Proxy (datacenter). Residential proxies are not supported: if you pick a residential group, the Actor logs a warning and uses datacenter proxy instead.

Why is statusDate empty? The search index doesn't include the date of the latest status. Turn on Fetch exact TSDR status to get it with the exact status text.

How fresh is the data? Live: every run queries the USPTO trademark search at run time.

Can I search by mark image / design code? Not in this version. Ask in the Issues tab if you need it.

Integrations

  • API: run the Actor and read results with the Apify API or the JavaScript / Python clients.
  • Make, Zapier, n8n: use the Apify integration to send new filings from a scheduled watch to Slack, email, Google Sheets or your CRM.
  • MCP: AI agents can call this Actor through the Apify MCP server to check trademark availability on demand.
  • Webhooks: trigger your own endpoint when a watch run finishes.

Changelog

  • 0.1 (November 2026): first release. Keyword, owner, serial-number and class/date searches, live/dead status filter, exact TSDR status, only-new watch mode.

More scrapers by the same developer

Browse all my Actors on my Apify Store profile.

Support

Found a bug or need a field that's missing? Open an issue in the Issues tab and include your input and the run ID.