USPTO Trademark Search Scraper
Pricing
Pay per event
USPTO Trademark Search Scraper
Search USPTO trademark records by keyword, owner, serial number, registration number, status, and class. Export owners, goods/services, dates, and links.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Stas Persiianenko
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
Search and extract public USPTO trademark records from the official Trademark Search system.
Use this actor to collect word marks, serial numbers, registration numbers, owners, goods and services, Nice classes, live/dead status, filing dates, registration dates, and USPTO detail links for brand research, IP due diligence, and trademark monitoring workflows.
What does USPTO Trademark Search Scraper do?
USPTO Trademark Search Scraper turns USPTO trademark search results into structured dataset rows.
It can search by:
- 🔎 Trademark keyword or phrase
- 🏢 Owner, applicant, or registrant name
- 🔢 USPTO serial number
- 🧾 USPTO registration number
- ⚖️ Live or dead status
- 🧩 International class / Nice class
The actor uses the same public JSON endpoints that power the USPTO Trademark Search web app and can optionally enrich each record with detail data from USPTO TSDR.
Who is it for?
This actor is built for people who need repeatable trademark intelligence without manually copying search results.
- ⚖️ IP attorneys checking potential conflicts
- 🏢 In-house legal teams monitoring brand filings
- 🕵️ Brand-protection analysts watching names and owners
- 📈 Market researchers tracking competitor marks
- 🧾 Agencies preparing clearance reports
- 🤖 Developers feeding trademark data into internal tools
Why use it?
Manual USPTO searches are useful for one-off lookups, but they are slow to repeat and hard to export.
This actor helps you:
- Export search results as JSON, CSV, Excel, XML, or RSS
- Run the same monitoring query on a schedule
- Mix keyword and owner searches with direct serial-number lookups
- Keep URLs back to USPTO and TSDR for legal review
- Enrich selected runs with TSDR detail fields
- Integrate USPTO data into dashboards, CRMs, spreadsheets, and data warehouses
Data extracted
| Field | Description |
|---|---|
serialNumber | USPTO serial number |
registrationNumber | USPTO registration number when available |
wordmark | Trademark word mark / mark text |
status | Live or Dead |
ownerNames | Owner/applicant names |
ownerFullText | USPTO owner text with entity and address details |
goodsAndServices | Goods and services descriptions |
internationalClasses | Nice / international classes |
markType | Mark type values from USPTO |
filingDate | Filing date |
registrationDate | Registration date when available |
statusDate | USPTO status date when available |
attorney | Attorney name when available |
designCodeDescription | Design code descriptions when present |
detailUrl | USPTO Trademark Search detail URL |
tsdrUrl | TSDR status URL |
imageUrl | USPTO mark image URL |
caseStatus | Optional TSDR case status when detail enrichment is enabled |
How much does it cost to scrape USPTO trademark search results?
The actor uses pay-per-event pricing.
You pay a small start fee for each run and a per-record fee for each trademark record saved.
Keep includeDetails disabled for broad monitoring runs when you only need search-result fields. Enable detail enrichment when you need deeper TSDR case status data.
Input options
searchQuery
A word, phrase, brand name, slogan, or product name to search in USPTO trademark records.
Example:
"nike"
ownerName
An owner, applicant, registrant, or company name.
Example:
"NIKE"
serialNumbers
Direct USPTO serial-number lookups.
Example:
["73758651", "97123456"]
registrationNumbers
Direct USPTO registration-number lookups.
Example:
["1558118"]
status
Choose all, live, or dead.
internationalClasses
Filter to one or more Nice classes.
Examples:
["025", "IC 009"]
includeDetails
When true, the actor calls the USPTO TSDR detail endpoint for each result.
This adds fields such as caseStatus, publicationDate, earliestRenewalDate, and related-record counts.
maxItems
Maximum trademark records to save.
Use small limits for testing and larger limits for monitoring or research exports.
Example input
{"searchQuery": "nike","status": "live","internationalClasses": ["025"],"includeDetails": false,"maxItems": 50}
Example output
{"searchQuery": "nike","serialNumber": "73758651","registrationNumber": "1558118","wordmark": "I.E. NIKE","status": "Dead","alive": false,"ownerNames": ["NIKE, INC. (CORPORATION; OREGON, USA)"],"goodsAndServices": ["(CANCELLED) IC 025: [ FOOTWEAR ]."],"internationalClasses": ["IC 025"],"filingDate": "1988-10-20","registrationDate": "1989-09-26","detailUrl": "https://tmsearch.uspto.gov/search/summary?serial=73758651","tsdrUrl": "https://tsdr.uspto.gov/#caseNumber=73758651&caseSearchType=US_APPLICATION&caseType=DEFAULT&searchType=statusSearch","scrapedAt": "2026-07-10T00:00:00.000Z"}
How to run
- Open the actor on Apify.
- Enter a trademark keyword, owner name, serial number, or registration number.
- Choose status and class filters if needed.
- Set
maxItems. - Run the actor.
- Download the dataset in your preferred format.
Tips for better results
- Use exact brand names for clearance-style checks.
- Use owner search for portfolio monitoring.
- Use class filters to narrow broad marks.
- Start without
includeDetailsfor faster broad searches. - Enable
includeDetailsfor final review exports. - Keep
maxItemssmall while testing a new query.
Common workflows
Trademark clearance research
Search a proposed name and export matching live and dead records for review.
Owner portfolio monitoring
Run a scheduled owner query to detect newly visible filings for a company or competitor.
Class-specific brand monitoring
Combine a keyword with one or more Nice classes to focus on a product category.
Direct record enrichment
Provide serial numbers or registration numbers to normalize known marks into a structured dataset.
Integrations
You can connect the dataset to:
- Google Sheets
- Airtable
- Slack alerts
- Legal review dashboards
- Brand monitoring systems
- Data warehouses
- Custom APIs through Apify webhooks
API usage
Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('automation-lab/uspto-trademark-search-scraper').call({searchQuery: 'nike',status: 'live',maxItems: 50,});console.log(run.defaultDatasetId);
Python
from apify_client import ApifyClientclient = ApifyClient('YOUR_APIFY_TOKEN')run = client.actor('automation-lab/uspto-trademark-search-scraper').call(run_input={'searchQuery': 'nike','status': 'live','maxItems': 50,})print(run['defaultDatasetId'])
cURL
curl -X POST 'https://api.apify.com/v2/acts/automation-lab~uspto-trademark-search-scraper/runs?token=YOUR_APIFY_TOKEN' \-H 'Content-Type: application/json' \-d '{"searchQuery":"nike","status":"live","maxItems":50}'
MCP usage
Use the actor from Claude Desktop, Claude Code, or other MCP-compatible clients with Apify MCP Server.
MCP server URL:
https://mcp.apify.com/?tools=automation-lab/uspto-trademark-search-scraper
Claude Code setup:
$claude mcp add apify-uspto-trademark-search "https://mcp.apify.com/?tools=automation-lab/uspto-trademark-search-scraper"
Claude Desktop JSON config:
{"mcpServers": {"apify-uspto-trademark-search": {"url": "https://mcp.apify.com/?tools=automation-lab/uspto-trademark-search-scraper"}}}
Example prompts:
- "Search USPTO trademarks for this proposed brand name and summarize live conflicts."
- "Find live USPTO trademark records owned by this company in class 025."
- "Export USPTO trademark records for these serial numbers."
Scheduling
Create an Apify schedule to run the same query daily, weekly, or monthly.
Scheduling is useful for:
- New filings by a competitor
- New marks containing a monitored word
- Class-specific brand monitoring
- Portfolio snapshots
Webhooks
Use Apify webhooks to notify your system when a run finishes.
Common webhook targets include:
- Slack
- Make
- Zapier
- Internal legal dashboards
- Data ingestion APIs
Data quality notes
The actor returns data available from USPTO public systems at run time.
USPTO records can contain missing registration numbers, cancelled records, old owner text, or marks without images.
Always review official USPTO/TSDR links before making legal decisions.
Limitations
- The actor is not legal advice.
- USPTO may change its public web app or API behavior.
- Very broad queries can return many records; use
maxItemsand filters. - Detail enrichment adds one extra USPTO detail request per record.
Legality
This actor extracts public data from official USPTO public search systems.
You are responsible for using the data lawfully, respecting Apify terms, USPTO terms, and any professional obligations that apply to your work.
FAQ
Can I search by serial number?
Yes. Add serial numbers to serialNumbers.
Can I search by registration number?
Yes. Add registration numbers to registrationNumbers.
Can I get only live trademarks?
Yes. Set status to live.
Why are some registration numbers empty?
Pending applications and some dead records may not have a registration number.
Why is a mark image missing?
Some marks do not have a usable image URL, especially typed drawings or older records.
Should I enable detail enrichment?
Enable it when you need deeper case-status fields. Leave it off for faster and cheaper broad searches.
Troubleshooting
My query returns too many records
Add a status filter, owner name, international class, or lower maxItems.
My query returns no records
Try a broader keyword, remove class filters, or check the spelling in the official USPTO search interface.
Related scrapers
Other automation-lab actors that may fit adjacent IP and legal workflows:
- https://apify.com/automation-lab/uspto-trademark-status-checker
- https://apify.com/automation-lab/uspto-patent-assignments-scraper
Support
If you need a field that is visible in USPTO but missing from this actor, open an issue with an example serial number and the field you need.
Changelog
See .actor/CHANGELOG.md for release notes.
Ready-to-use examples
Use the task examples in Apify after publication for:
- Search-intent trademark keyword exports
- Owner portfolio monitoring
- Detail-enriched due diligence exports