Discover/USPTO API
live

USPTO APItmsearch.uspto.gov

Search and retrieve US trademark data from USPTO. Query by wordmark or serial number, get owner details, filing dates, status, and goods/services classes.

Endpoint health
verified 5d ago
search_trademarks
get_trademark_details
2/2 passing latest checkself-healing
Endpoints
2
Updated
21d ago

What is the USPTO API?

The USPTO Trademark Search API provides access to US trademark registration data across 2 endpoints, covering search by wordmark or serial number and detailed case lookups. The search_trademarks endpoint returns paginated results including serial numbers, registration IDs, mark type, status, and filing dates. The get_trademark_details endpoint returns owner information, goods/services classes, prosecution status, correspondent details, and TM5 status for a specific serial number.

Try it
Maximum results to return per page
Search term - trademark name/wordmark or serial number (e.g., 'apple' or '78406612')
Pagination offset for results
api.parse.bot/scraper/82426fc4-aff3-4504-aa52-1dea89a26c73/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/82426fc4-aff3-4504-aa52-1dea89a26c73/search_trademarks?limit=10&query=apple&offset=0' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace tmsearch-uspto-gov-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

from parse_apis.uspto_trademark_search_api import USPTO, TrademarkSummary, Trademark

client = USPTO()

# Search for trademarks by wordmark name
for summary in client.trademarks.search(query="apple"):
    print(summary.serial_number, summary.wordmark, summary.status)
    print(summary.owner_name, summary.international_class)

    # Navigate from summary to full trademark detail
    detail = summary.details()
    print(detail.tm5_live_dead, detail.status_date)

    for owner in detail.owners:
        print(owner.name, owner.entity_type, owner.citizenship)

    for cls in detail.classes:
        print(cls.class_number, cls.first_use_anywhere_date)

    print(detail.correspondent.name, detail.correspondent.email)
    print(detail.registration_maintenance.earliest_renewal_date)
    break

# Direct lookup by serial number
tm = client.trademarks.get(serial_number="97161824")
print(tm.serial_number, tm.registration_id, tm.tm5_live_dead)

for entry in tm.prosecution_history:
    print(entry.date, entry.description, entry.proceeding)
All endpoints · 2 totalmissing one? ·

Full-text search over USPTO trademark filings by wordmark name or serial number. Returns paginated results ordered by relevance. Serial numbers (all-digit queries) match exactly; text queries match against the wordmark and pseudo-mark fields with phrase boosting. Each result is a TrademarkSummary with filing metadata, owner, and class info. Offset-based manual pagination via offset and limit params.

Input
ParamTypeDescription
limitintegerMaximum results to return per page
queryrequiredstringSearch term - trademark name/wordmark or serial number (e.g., 'apple' or '78406612')
offsetintegerPagination offset for results
Response
{
  "type": "object",
  "fields": {
    "limit": "integer - requested limit",
    "query": "string - the search term used",
    "total": "integer - total number of matching trademarks",
    "offset": "integer - pagination offset used",
    "trademarks": "array of trademark summary objects"
  },
  "sample": {
    "data": {
      "limit": 10,
      "query": "apple",
      "total": 5029,
      "offset": 0,
      "trademarks": [
        {
          "id": "85841295",
          "status": "Cancelled",
          "attorney": null,
          "wordmark": "APPLE 'N' APPLE",
          "mark_type": [
            "TRADEMARK"
          ],
          "filed_date": "2013-02-05T00:00:00",
          "owner_name": [
            "Haidar, Raed (INDIVIDUAL; USA)"
          ],
          "serial_number": "85841295",
          "registration_id": "4366276",
          "registration_date": "2013-07-09",
          "goods_and_services": [
            "(CANCELLED) IC 034: [ Hookah tobacco ]."
          ],
          "international_class": [
            "IC 034"
          ]
        }
      ]
    },
    "status": "success"
  }
}

About the USPTO API

Trademark Search

The search_trademarks endpoint accepts a query parameter supporting both wordmark text (e.g., apple) and numeric serial numbers (e.g., 78406612). Results are paginated via offset and limit parameters and include a total count of matching records. Each item in the trademarks array carries a serial_number, registration_id, wordmark, mark_type, status, and filed_date, giving enough context to filter or triage results before pulling full case details.

Trademark Detail

The get_trademark_details endpoint takes a single serial_number and returns a structured record covering the full case. The owners array includes each owner's name, entity_type, address, and citizenship. The classes array lists each Nice Classification class number alongside firstUseAnywhereDate and firstUseInCommerceDate dates. Additional fields include attorney, correspondent (name, address, email), status, status_date, mark_type, and tm5_status — the TM5 designation relevant for international filings.

Data Coverage

Data reflects the USPTO's TSDR and TMSEARCH systems, which cover federally registered and pending US trademarks. Status descriptions match USPTO case status language, making the API suitable for monitoring active applications, abandoned marks, or registered trademarks. Serial numbers are the consistent identifier across both endpoints and can be stored from search results for subsequent detail lookups.

Reliability & maintenanceVerified

The USPTO API is a managed, monitored endpoint for tmsearch.uspto.gov — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when tmsearch.uspto.gov changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official tmsearch.uspto.gov API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
5d ago
Latest check
2/2 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Check whether a proposed brand name conflicts with existing registered or pending US trademarks before filing
  • Monitor the status and status_date of a portfolio of trademarks by serial number for automated prosecution tracking
  • Extract owner entity_type and address data to map trademark ownership across corporate families
  • Retrieve firstUseInCommerceDate from the classes array to establish priority timelines in disputes
  • Look up correspondent and attorney fields to identify which law firms manage specific trademark portfolios
  • Search by serial number to confirm registration_id and current status before licensing negotiations
  • Aggregate tm5_status fields to identify trademarks with active international filing designations
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min

One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does USPTO offer an official developer API for trademark data?+
Yes. The USPTO provides the Trademark Status and Document Retrieval (TSDR) API and the Open Data Portal at developer.uspto.gov, which offer bulk downloads and some programmatic access. Coverage and response structure differ from this API.
What does get_trademark_details return beyond what search_trademarks includes?+
The search endpoint returns a summary — wordmark, serial_number, registration_id, mark_type, status, and filed_date. The detail endpoint adds the owners array (entity_type, address, citizenship), the classes array with use dates, attorney of record, correspondent contact details, status_date, and tm5_status. You need a valid serial_number to call the detail endpoint, which you can obtain from a prior search.
Does the API return prosecution history documents or image files of the mark?+
Not currently. The API returns structured case metadata including status, owners, classes, and correspondent info, but does not return prosecution history documents, office action text, or mark image files. You can fork this API on Parse and revise it to add an endpoint targeting those document resources.
Are state trademark registrations or common-law marks included?+
No. Coverage is limited to federal USPTO filings — registered, pending, abandoned, and cancelled marks in the TMSEARCH database. State-level registrations and unregistered common-law marks are not included. You can fork this API on Parse and revise it to incorporate additional sources if state registration data is needed.
How does pagination work in search_trademarks?+
The endpoint returns a total field with the full match count alongside the current page of results. Use offset to advance through pages and limit to control page size. For example, to retrieve results 21–40, set offset=20 and limit=20. Both parameters are optional; omitting them returns a default first page.
Page content last updated . Spec covers 2 endpoints from tmsearch.uspto.gov.
Related APIs in Government PublicSee all →
quickcompany.in API
Search Indian trademark registrations and retrieve detailed information about specific marks, including status, proprietor, and correspondence history. Browse trademark journals, explore Nice Classification classes, and filter results by status, class, or keyword to monitor registrations and track opposition trends.
onapi.gov.do API
Search and retrieve detailed information about trademarks, patents, and institutional news from the Dominican Republic's National Industrial Property Office (ONAPI). Monitor trademark registrations, patent applications, expedient status updates, and browse available sign types and countries in their database.
trademo.com API
Access comprehensive global trade data to search companies, find manufacturers by country, and review detailed trade profiles, sanctions lists, and politically exposed persons (PEP) lists. Monitor global trade indices and build a complete directory of international trading partners and compliance information.
examplecourt.gov API
Search and retrieve court judgments, case details, and legal metadata from a national court reporting portal, with support for advanced filtering by court and case category. Access complete case information including full text and browse paginated results to find relevant legal precedents.
sec.gov API
Search for publicly traded companies and instantly access their SEC filings with details like filing type, date, description, and accession numbers. Find the regulatory documents you need to research company financial information and compliance records.
swissreg.ch API
Search and retrieve detailed information about Swiss patents, including their full specifications, publication history, and related targets directly from the official Swiss patent registry. Access comprehensive patent data through simple lookups or broad searches to track innovations and filing details in Switzerland.
beta.trademap.org API
Analyze international trade patterns by accessing comprehensive goods and services trade statistics, time series data, and trade indicators across countries and product classifications. Track trade flows using standardized HS and EBOPS product codes to compare performance metrics and coverage across different markets and time periods.
businesssearch.ohiosos.gov API
Search for registered businesses in Ohio and retrieve detailed information like entity names, registration status, and corporate details from the Ohio Secretary of State's office. Quickly look up company information to verify business registrations or find details about Ohio-based entities.