USPTO Trademark Scraper - Status, Owners & New Filings
Pricing
from $2.80 / 1,000 trademark records
USPTO Trademark Scraper - Status, Owners & New Filings
Scrape US trademarks from the USPTO register by brand name, owner, goods, class or serial number: status, filing and registration dates, Nice classes, goods & services, owner and address, attorney. Add TSDR e-mails and history. Monitor new filings. No API key.
Pricing
from $2.80 / 1,000 trademark records
Rating
0.0
(0)
Developer
Top Api
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
2
Monthly active users
8 days ago
Last modified
Categories
Share
What does USPTO Trademark Scraper do?
USPTO Trademark Scraper extracts US trademark applications and registrations from the USPTO trademark register (the index behind tmsearch.uspto.gov, 13.3 million filings) and turns a brand name, owner, goods description, class or serial number into structured rows: one trademark with its status, dates, classes, goods & services, owner and attorney. Built for brand-clearance and print-on-demand checks, IP law firms and brand-protection teams.
USPTO trademark search API · TESS alternative · TSDR status lookup · trademark monitoring
- Search the way USPTO does: wordmark (contains or exact), sounds-like (phonetic), owner name, goods & services text or any text, filtered by live / pending / registered / dead status, Nice class and filing date
- Bulk in one run: 25 phrases in 4 seconds, 14,397 records of one search in 4 minutes (measured on the platform)
- Exact lookups: serial numbers, registration numbers or TSDR links, 100 per request
- Owner and attorney on every row: owner name, entity type, address, attorney of record; add the TSDR record for attorney and correspondent e-mail, prosecution history, assignments and the renewal window
- Monitor mode: a scheduled run returns only new filings and marks whose USPTO status changed
- No login, cookies or USPTO API key
- Export anywhere: JSON, CSV, Excel, XML; schedules, webhooks, Make, Zapier, n8n, Google Sheets, API and MCP
What data can you get from USPTO trademarks?
🔢 Serial number serialNumber | 📜 Registration number | ™️ Wordmark |
| 🔊 Pseudo mark (phonetic spelling) | 🚦 Status: LIVE / DEAD + statusCategory | 📝 USPTO status code and description |
| 📅 Filing date | 📅 Registration date | 📅 Published for opposition, abandoned, cancelled |
🏷️ Nice classes internationalClasses | 🇺🇸 US classes | 📦 Goods & services text |
| 🏢 Owner name + entity type | 📍 Owner address, city, state | 🌐 Owner citizenship / organized in |
| ⚖️ Attorney of record | 📧 Attorney + correspondent e-mail (TSDR) | 🗂️ Docket number (TSDR) |
| 🖼️ Mark image URL | 🎨 Design codes + descriptions | ✍️ Disclaimer, description, transliteration |
| 📚 Prosecution history (TSDR) | 🔁 Assignments + TTAB cases (TSDR) | ⏰ Renewal window + grace deadline (TSDR) |
| 🔗 TSDR and Trademark Search links | 🎯 Similarity score to your phrase | 🆕 Change type in monitor mode |
How to scrape USPTO trademarks with USPTO Trademark Scraper
- Create a free Apify account (it comes with monthly free credit).
- Open USPTO Trademark Scraper and go to the Input tab.
- Type brand names or phrases into Brand names or phrases, or paste serial numbers into Serial or registration numbers.
- Pick a Status, add Nice classes or a filing-date window if you need them.
- Click Start and watch the trademarks arrive in the Output tab.
- Export the USPTO trademark data as JSON, CSV or Excel, or read it through the API.
⬇️ Input
| Parameter | Type | Description |
|---|---|---|
| 🔍 What to scrape | ||
searchTerms | array | Words or phrases, one search each, e.g. "star wars". USPTO field tags work too: "WM:coffee AND IC:030". Prefill ["star wars"]. |
searchField | select | wordmark (contains the phrase, default), wordmarkExact, soundsLike (phonetic), owner, goodsAndServices, anyText. |
serialNumbers | array | 8-digit serials, registration numbers (2239077, RN 2239077) or TSDR / Trademark Search URLs. Filters do not apply. |
| 🎯 Filters (sent to USPTO) | ||
statusFilter | select | all (empty), live, pending, registered, dead. Prefill live. |
niceClasses | array | Nice classes 1-45, A, B or 200, e.g. "25". Any listed class matches. |
filedAfter / filedBefore | date | Filing-date window, absolute (2026-09-01) or relative (30 days). |
sortBy | select | relevance (default), newest, oldest filing first. |
| ✂️ Refine results | ||
excludeKeywords | array | Drop marks whose wordmark contains any of these words. |
withAttorneyOnly | boolean | Keep only filings that name an attorney. Default false. |
| ➕ Extra data | ||
includeDetails | boolean | Add the TSDR case record (e-mails, history, assignments, renewal window). Default false. |
| 🔁 Monitoring | ||
monitorMode | boolean | Only marks not delivered before, plus marks whose status changed. Default false. |
monitorStoreName | string | Named store that remembers each watch. Default uspto-trademark-monitor. |
| 📦 Output | ||
maxResultsPerSearch | integer | Most trademarks per search term. Default 100, prefill 10, 0 = every match. |
maxResults | integer | Most trademarks for the run. Default 1,000, prefill 50, 0 = no limit. |
compact | boolean | Core fields only, for AI agents and spreadsheets. Default false. |
| ⚙️ Advanced | ||
proxyConfiguration | object | Default Apify proxy (the run starts direct and moves to a fresh proxy IP when USPTO refuses one). |
maxConcurrency | integer | Requests in flight, 1-10. Default 4. |
Input JSON
{"searchTerms": ["star wars", "just do it", "mama bear"],"searchField": "wordmark","statusFilter": "live","niceClasses": ["25"],"maxResultsPerSearch": 20}
Check a list of phrases before you print them
Paste up to 1,000 phrases into searchTerms, set statusFilter to live and niceClasses to the classes you sell in (25 for apparel). Every phrase is its own search; matchCountForQuery on each row says how many marks USPTO found for it, and a phrase with no live mark simply returns no rows (nothing is charged for it). similarityScore (0-100) tells an exact STAR WARS (100) from STAR WARS RESISTANCE. Set maxResultsPerSearch to 1 for one best match per phrase, or raise it to see every conflicting mark.
Use "contains", "exact" or "sounds like" on purpose
wordmark returns marks that contain your phrase ("mama bear" finds MAMA BEAR BY DEARFOAMS), plus the foreign equivalents USPTO indexes with them ("tea" also finds OCHA and TÉ DELUXE; a low similarityScore marks them). USPTO's index ignores words like "not" and "be", so for a phrase containing one the actor keeps only marks that really contain it ("not today" returned 9 marks, not the 185 TODAY marks). wordmarkExact returns only the exact wordmark. soundsLike uses USPTO's phonetic copy of each mark: "lululemon" also returns LULULUMIN and LALALOOM.
Watch new filings with a date window and monitor mode
For a weekly watch, set filedAfter to "14 days", turn on monitorMode and give the watch its own monitorStoreName. The first run delivers every match; later runs read only records USPTO reloaded since the previous run and deliver new marks plus status changes (changeType: new or statusChanged, with previousStatusCode).
⬆️ Output
One row per USPTO trademark (a real row from the 25-phrase class-25 run, shortened):
{"searchTerm": "just do it","serialNumber": "86444421","registrationNumber": "4764071","wordmark": "JUST DO IT","statusCategory": "REGISTERED","statusDescription": "REGISTERED AND RENEWED","filingDate": "2014-11-04","registrationDate": "2015-06-30","internationalClasses": ["018", "025"],"goodsAndServices": ["IC 018: All purpose sport bags; Backpacks.", "IC 025: Footwear; Headbands; ..."],"ownerName": "Nike, Inc.","ownerEntity": "CORPORATION","ownerAddress": "One Bowerman Drive, Beaverton, OREGON 970056453, UNITED STATES","attorney": "Jennifer Martin Reynolds","markImageUrl": "https://tmcms-docs.uspto.gov/cases/86444421/mark/large.png","tsdrUrl": "https://tsdr.uspto.gov/#caseNumber=86444421&caseSearchType=US_APPLICATION&caseType=DEFAULT&searchType=statusSearch","similarityScore": 100,"matchCountForQuery": 4}
With includeDetails on, the same row also carries the TSDR record (a real row from the details run):
{"serialNumber": "50081566","wordmark": "COFFEE RUSH","attorneyEmail": "docketing@khpatent.com","correspondentEmail": "docketing@khpatent.com","correspondentAddress": "Owen W. Dukelow, Kolisch Hartwell, P.C., 900 SW 5th Ave., Ste. 2300, Portland, Oregon 97204, United States","docketNumber": "YST401","tm5Status": "LIVE/APPLICATION/Awaiting Examination","prosecutionHistory": [{ "date": "2026-09-04", "description": "NEW APPLICATION ENTERED" }],"detailsStatus": "ok"}
USPTO trademark fields
Fill measured on a live run of 14,397 records ("coffee" in class 30, every status) and, for TSDR fields, a 150-record details run of new coffee filings.
| Field | Meaning | Filled |
|---|---|---|
serialNumber, wordmark, status, statusCategory, statusDescription | Identity and current USPTO status | 100% (wordmark 99.9%: design-only marks have none) |
filingDate / registrationDate | Filed / registered | 99.7% / 50.9% (registered marks) |
internationalClasses, usClasses, goodsAndServices | Classes and goods & services as filed | 100% |
ownerName, ownerEntity, ownerAddress, ownerCitizenship | Owner of record | 100% |
attorney | Attorney of record | 64.3% |
markImageUrl | Mark drawing (none for pre-2003 typed drawings) | 93.1% |
disclaimer, designCodes, markDescription | Mark details | 73.8% / 38.3% / 35.8% |
firstUseAnyDate, firstUseCommerceDate | First use dates | 64.8% |
correspondentEmail, correspondentAddress (TSDR) | Who receives USPTO mail | 100% |
attorneyEmail (TSDR) | Attorney's e-mail | 48.7% (= rows with an attorney) |
prosecutionHistory (TSDR) | Every docket event, with document links | 100% |
maintenanceWindowOpens, maintenanceDueBy, maintenanceGraceDeadline (TSDR) | Next Section 8/9 filing window | registered marks only |
How can I use USPTO trademark data?
- 👕 Print-on-demand and Merch sellers: check slogans against live marks in class 25 before listing.
- ⚖️ IP law firms: pull new filings with the attorney and correspondent e-mail to offer prosecution, opposition or renewal work.
- 🛡️ Brand-protection teams: watch for new applications that contain or sound like your brand.
- 🏢 Competitive intelligence: map a competitor's portfolio by owner name, classes and filing dates.
- 🔁 Renewal and docketing services: find registrations whose Section 8/9 window opens soon.
- 🤖 Legal-tech and AI agents: feed structured USPTO records into clearance tools and LLM pipelines.
How much does it cost to scrape USPTO trademarks?
USPTO Trademark Scraper is pay-per-result: $2.80 per 1,000 USPTO trademarks, no start fee. The TSDR details add-on costs $1.90 per 1,000 trademarks that receive them. You only pay for trademarks written to your dataset.
| Trademarks | Records only | With TSDR details |
|---|---|---|
| 100 | $0.28 | $0.47 |
| 1,000 | $2.80 | $4.70 |
| 10,000 | $28.00 | $47.00 |
Apify platform usage is included in the price. Measured on the platform: 10 trademarks in 3 seconds, 108 trademarks for 25 phrases in 4 seconds, 150 trademarks with TSDR details in 74 seconds, all on 256 MB with a memory peak under 85 MB.
USPTO trademarks in your tools: integrations, API, scheduling & MCP
- Schedule it: a daily or weekly Apify schedule with
monitorModeturns a search into a new-filings feed. - Webhooks: get a call when the run finishes and pull the new rows into your CRM or docketing system.
- Make, Zapier, n8n, Google Sheets, Slack: send USPTO trademarks wherever your team works.
- API: run it from code with Python or JavaScript; rival input names such as
terms+classesare accepted too. - MCP: connect AI assistants through the Apify MCP server and ask for "live class 25 marks containing 'mama bear'".
More scrapers by TopApi
- Similarweb Scraper - use it when you need the traffic behind a brand's website.
- Instagram Contact Scraper - use it to reach a brand owner through its Instagram account.
- Google Maps Reviews Scraper - use it to watch what customers say about a brand's locations.
- Facebook Page Posts Scraper - use it to follow a brand's own posts.
- X Profile Scraper - use it to check whether a brand name is taken on X.
- Google Geocoding Scraper - use it to put owner addresses on a map.
All TopApi actors: apify.com/topapi.
Limits & empty runs
- Source: the USPTO trademark search index; it is reloaded daily, and new applications usually appear one to two days after filing.
- Rate limit: USPTO allows each IP about 100-150 requests in 5 minutes. A search page carries up to 500 trademarks, so searches rarely reach it; TSDR details are one request each, and a large details run moves to fresh Apify proxy IPs (measured: 150 details, one refusal, finished on the proxy).
- Depth: the index pages any search to the end; 14,397 of 14,397 records of one search were delivered in a test run.
- TSDR details are slower (1-4 seconds each); a TSDR record that does not answer leaves the row without details and the add-on is not charged.
- Empty run: no matching marks, or every match already delivered in monitor mode. Nothing is charged;
RUN_SUMMARYin the key-value store lists the USPTO count per search.
FAQ
How many trademarks can USPTO Trademark Scraper return?
Every match of a search: set maxResultsPerSearch and maxResults to 0. A test run returned all 14,397 trademarks USPTO counts for "coffee" in class 30.
Can USPTO Trademark Scraper check if a brand name is available?
It returns the live and dead US marks that contain, match or sound like your name in the classes you choose. Whether a name is available is a legal judgment; use the rows as research.
Can I monitor new USPTO trademark filings with USPTO Trademark Scraper?
Yes. Turn on monitorMode, add a filedAfter window and schedule the run. Each run delivers only new marks and status changes.
Does USPTO Trademark Scraper give the attorney's e-mail?
Yes, with includeDetails: attorneyEmail and correspondentEmail come from the public TSDR case record, with the correspondent's postal address and docket number.
Can I look up trademarks by serial or registration number with USPTO Trademark Scraper?
Yes. Paste serial numbers, registration numbers or TSDR links into serialNumbers; 100 numbers go to USPTO in one request, and unknown numbers are listed in RUN_SUMMARY.
Do I need a USPTO account or API key for USPTO Trademark Scraper?
No. It reads the same public search index and TSDR records as USPTO's Trademark Search website, with no login, cookies or key.
Can I use USPTO Trademark Scraper with the Apify API or MCP?
Yes. Start runs from the API in any language and read the dataset, or call it from an AI assistant through the Apify MCP server.
Why did my USPTO Trademark Scraper run return no trademarks?
USPTO found no mark for that phrase, status and class, or monitor mode had already delivered every match. Check matchCountForQuery and RUN_SUMMARY; nothing is charged for an empty search.
Is USPTO Trademark Scraper affiliated with the USPTO, and is it legal advice?
No. It is an independent tool that reads public USPTO records, and its output is not legal advice.
Your feedback
We keep improving USPTO Trademark Scraper. Found a bug or missing a field? Open an issue on the Issues tab.

