Skip to content

USPTO Trademark Scraper

Try for free

Search the US trademark register (USPTO) by word mark (exact or contains), owner, goods/services, serial or registration number. Filter by class, status and filing or registration dates. Get status, dates, owner and address, attorney, goods and services by class, design codes and the mark image.

®️ USPTO Trademark Scraper

Search the public US trademark register (USPTO data) in bulk: check whether a word or phrase is already a live trademark, list every mark an owner holds, or fetch records by serial or registration number. Each result gives you the status, the key dates, the current owner and address, the attorney, goods and services by class, design codes and the mark image. No login and no API key needed, and a batch of searches finishes in seconds. This is an independent tool and is not affiliated with or endorsed by the USPTO.

✨ Why use USPTO Trademark Scraper?

  • ⚡ Fast bulk checks: run hundreds of phrases in one go. Searches run in parallel against the USPTO search service.
  • 🎯 Exact or contains matching: Exact ignores case and punctuation, so JUST DO IT. and Just-Do-It both match just do it. Contains finds the phrase anywhere in a mark.
  • 🏢 Owner portfolios: list every trademark a company has filed, with no upper limit.
  • 🧾 Full records: you get much more than a yes/no answer: status code and text, filing, registration, publication, abandonment and renewal dates, owner history, attorney, goods and services, design codes, filing basis and TTAB proceedings.
  • 🔎 Useful filters: Nice class, live/registered/pending/dead status, and filing or registration date ranges.
  • 💸 Cheap: you pay per trademark saved, and there is no monthly fee.

🎯 Use cases

  • 👕 Print-on-demand and Merch sellers: screen slogans and design phrases for live marks in class 25 (clothing) before you upload.
  • 🚀 Brand naming and clearance: check a shortlist of names for conflicts across classes before you file.
  • 📈 Competitive intelligence: track the new filings of a competitor by owner name and filing date.
  • ⚖️ IP law firms and agents: bulk-pull records, attorneys of record and status changes for client portfolios.
  • 🧑‍💼 Lead generation: find businesses that recently filed marks in a class (owner, address, attorney).
  • 🗂️ Portfolio monitoring: re-check a list of serial numbers on a schedule and catch status changes.

🚀 How to use

  1. Enter word marks / phrases, owner names, goods & services keywords, serial numbers or registration numbers. You can mix them in one run.
  2. Choose Match mode (exact, contains or broad) and set any filters: classes, status, dates.
  3. Set Max results per search (default 20; 0 = every match).
  4. Click Start. Results appear in the Output tab as a table. Export them as JSON, CSV, Excel or HTML, or fetch them through the API.

📥 Input

FieldDescription
termsWord marks or phrases to look up
ownerNamesOwner or registrant names (all their marks)
serialNumbers / registrationNumbersDirect record lookups (filters are not applied)
goodsAndServicesKeywordsPhrases searched in the goods/services text
maxResultsPerSearchLimit per search (default 20, 0 = no limit)
matchModeexact (default), contains or broad
statuslive (default: registered and pending), all, registered, pending, dead
classesComma-separated Nice classes, for example 25,9,18
filedFrom / filedTo, registeredFrom / registeredToDate ranges (YYYY-MM-DD, YYYY-MM or YYYY)
sortByrelevance, newest, oldest, wordmark
{
  "terms": ["star wars", "just do it"],
  "classes": "25,9",
  "status": "live",
  "maxResultsPerSearch": 50
}

Owner portfolio, newest filings first:

{
  "ownerNames": ["Example Brands Inc"],
  "status": "all",
  "filedFrom": "2024-01-01",
  "sortBy": "newest",
  "maxResultsPerSearch": 0
}

📤 Output

One row per trademark and search. The main fields:

FieldDescription
wordmarkThe word mark (null for design-only marks)
serialNumber, registrationNumberUSPTO numbers
statusLIVE (registered), PENDING (live application) or DEAD
statusCode, statusDescriptionThe USPTO status code and its text
filingDate, registrationDate, publishedForOppositionDate, abandonedDate, cancelledDate, renewalDateKey dates
internationalClasses, cancelledClasses, usClassesClasses
goodsAndServices[{classNumber, description, cancelled}]
ownerName, ownerAddress, ownerEntityType, ownerCitizenship, ownerDbaThe current owner (the last listed owner)
ownersEvery owner entry (registrant, assignees)
attorneyAttorney of record
markType, register, drawingType, designCodes, markDescription, disclaimer, translationMark details
filingBasis, affidavits, proceedings, assignmentRecordedProsecution and maintenance facts
imageUrl, tsdrUrl, assignmentsUrlLinks to the mark image, the TSDR status page and the assignment records
searchType, searchTermWhich input found the record

Example (fictional data, same shape as a real result):

{
  "searchType": "wordmark",
  "searchTerm": "sunny trail",
  "wordmark": "SUNNY TRAIL",
  "serialNumber": "97123456",
  "registrationNumber": "7012345",
  "status": "LIVE",
  "statusCode": 700,
  "statusDescription": "REGISTERED",
  "filingDate": "2022-03-14",
  "registrationDate": "2023-08-29",
  "publishedForOppositionDate": "2023-06-13",
  "abandonedDate": null,
  "cancelledDate": null,
  "renewalDate": null,
  "firstUseDate": "2021-11-01",
  "firstUseInCommerceDate": "2021-11-01",
  "internationalClasses": ["025"],
  "cancelledClasses": [],
  "usClasses": ["022", "039"],
  "goodsAndServices": [
    {"classNumber": "025", "description": "Clothing, namely, shirts, hats and hooded sweatshirts.", "cancelled": false}
  ],
  "ownerName": "Sunny Trail Outfitters LLC",
  "ownerAddress": "100 Example Way, Denver, COLORADO 80202, UNITED STATES",
  "ownerEntityType": "LIMITED LIABILITY COMPANY",
  "ownerCitizenship": "COLORADO, USA",
  "ownerDba": null,
  "ownerRole": "REGISTRANT",
  "owners": [
    {"role": "REGISTRANT", "name": "Sunny Trail Outfitters LLC", "entityType": "LIMITED LIABILITY COMPANY", "citizenship": "COLORADO, USA", "dba": null, "address": "100 Example Way, Denver, COLORADO 80202, UNITED STATES"}
  ],
  "attorney": "Alex Example",
  "markType": "TRADEMARK",
  "register": "PRINCIPAL",
  "drawingType": "STANDARD CHARACTER MARK",
  "standardCharacterClaim": true,
  "designCodes": [],
  "markDescription": null,
  "disclaimer": null,
  "translation": null,
  "transliteration": null,
  "filingBasis": ["1A"],
  "affidavits": [],
  "proceedings": [],
  "assignmentRecorded": false,
  "internationalRegistration": null,
  "imageUrl": "https://tmcms-docs.uspto.gov/cases/97123456/mark/large.png",
  "tsdrUrl": "https://tsdr.uspto.gov/#caseNumber=97123456&caseSearchType=US_APPLICATION&caseType=DEFAULT&searchType=statusSearch",
  "assignmentsUrl": "https://assignmentcenter.uspto.gov/search/trademark?serialNumber=97123456",
  "recordUpdatedAt": "2026-09-09T09:18:44"
}

💰 Pricing

You pay $0.01 per 1,000 trademarks saved ($0.00001 per result) and a $0.0002 start fee per run, plus the small platform usage of the run (compute and proxy traffic). Worked examples from our test runs:

  • A check of 3 phrases (25 records): $0.0002 start + $0.00025 results + about $0.0002 usage ≈ $0.0007 in total.
  • A batch of 50 phrases (426 records): $0.0002 start + $0.0043 results + about $0.0017 usage ≈ $0.0062 in total.
  • 10,000 owner-portfolio records: $0.10 in result fees plus the $0.0002 start fee and usage.

A run that finds no match costs only the start fee and the run's tiny usage, so batch many phrases into one run instead of starting one run per phrase.

❓ FAQ

Is it legal? The trademark register is public data published by the USPTO. The actor reads the same public search service the USPTO website uses. It is an independent tool, not affiliated with, endorsed by or operated by the USPTO. Owner names and addresses are part of the public record of a filing. Use the data responsibly and follow privacy law in your country when you process records filed by individuals.

Do I need a login, an API key or a proxy? No. The default datacenter proxy works well, and no USPTO account or key is required.

What is the difference between exact and contains? Exact returns marks whose whole text equals your phrase, ignoring case and punctuation. Contains also returns longer marks that include the phrase (for example STAR WARS RESISTANCE for star wars). Broad runs the website's default all-fields search, which also searches owners, goods/services and translations.

How many results can I get? As many as the register has. Set maxResultsPerSearch to 0 for every match. Large owner portfolios with tens of thousands of marks are paged automatically.

Why is a field empty? Not every record has every field. Pending applications have no registration number or date, design-only marks have no word mark, and old records often lack an attorney or goods text.

Is this legal advice for trademark clearance? No. Results show what is recorded in the register. A real clearance also looks at similar-sounding marks, state marks and common-law use. Ask a trademark attorney before you file.

Can I schedule it or use the API? Yes. Schedule it to monitor phrases or serial numbers, or call it through the API and read the dataset as JSON or CSV.

⚠️ Limits

  • This actor covers US federal trademarks (USPTO) only. It does not cover state registrations, EUIPO or WIPO.
  • The full prosecution history (TSDR documents and events) is not included. Use tsdrUrl to open it.
  • The data is as fresh as the USPTO search index (each record shows when USPTO last refreshed it in recordUpdatedAt).
  • Exact and contains matching work on the mark text. Phonetic or similar-sounding matches are not detected.
  • Image search (searching by a logo picture) is not supported.

Migrating from a batch trademark-check tool? terms and classes take the same values, and each match comes back as one row with richer fields.

Related actors

G2
4.7/5
Excellent
Trustpilot

The internet is full of data.
Start owning yours.

Scrape.ly gives you the infrastructure, the tooling, and the team to extract, process, and operationalize web data at any scale. Setup takes minutes. The advantage lasts forever.

No credit card. No setup calls.