USPTO Trademark Search API

Instant search across 13 million+ trademark records sourced directly from the USPTO. Updated daily.

13M+ Records Daily Updates Free Tier AI-Ready

Quick Start — No Sign-Up Required

The free tier is available immediately with no API key. Just make a request:

# Search by trademark name
curl "https://tmsearchapi.com/search/mark?q=Nike"

# Search by owner
curl "https://tmsearchapi.com/search/owner?q=Apple+Inc"

# Combined search (mark + owner)
curl "https://tmsearchapi.com/search/combined?mark=swoosh&owner=Nike&limit=10"

Each response is JSON with a results array, total_count, and metadata:

{
  "results": [
    {
      "serial_number": "78123456",
      "registration_number": "3456789",
      "status_code": "REGD",
      "status_date": "2005-06-14",
      "mark": "NIKE",
      "classes": "025",
      "descriptions": "Footwear",
      "owner_name": "NIKE, INC.",
      "owner_country": "US"
    }
  ],
  "total_count": 1,
  "query": "Nike",
  "search_type": "mark"
}

Pricing

Free
$0 / day

50 requests per day, per IP address. Resets at midnight UTC. No account needed.

When the limit is exceeded the API returns HTTP 429 with upgrade instructions.
Paid
$20 / 5,000 calls

Valid for 30 days from payment date. Pay once in USDC, USDT, or DAI on Base Mainnet — no subscription.

Generate an API key → send payment on-chain → submit tx proof in your next request header.

How to upgrade

# 1. Generate your API key (free, instant)
curl -X POST "https://tmsearchapi.com/api/keys"
# Returns: {"api_key": "tm_abc123...", "credits": 0}

# 2. Check your key and get the payment address
curl -H "X-API-Key: tm_abc123..." "https://tmsearchapi.com/api/usage"

# 3. Send $20 in USDC/USDT/DAI on Base Mainnet (chainId 8453)
#    to the payment address shown above

# 4. Submit transaction proof with your next search
curl -H "X-API-Key: tm_abc123..."      -H "X-Payment: <base64-encoded-tx-proof>"      "https://tmsearchapi.com/search/mark?q=Apple"
# Credits are applied automatically and the search runs

The X-Payment header is Base64-encoded JSON containing transactionHash, token, payer, and amount.

Endpoints

GET/search/mark?q=…

Search by trademark name. Tries exact match first, then falls back to case-insensitive partial match. limit defaults to 100, max 1000.

GET/search/owner?q=…

Search by owner / registrant name. Includes fuzzy fallback for common typos. limit defaults to 100, max 1000.

GET/search/combined?mark=…&owner=…

Search by both mark name AND owner simultaneously. At least one parameter required. Results must satisfy both conditions.

POST/api/keys

Generate a new API key for the paid tier. No request body required. Key starts with 0 credits.

GET/api/keys/verify

Check whether an API key is valid and return its current credit balance and expiry date. Requires X-API-Key header. Does not consume any credits.

GET/api/usage

Check remaining credits, reset date, and payment instructions. Requires X-API-Key header.

GET/health

Database connectivity and environment status check.

Full interactive documentation with live request testing: /docs — Machine-readable OpenAPI schema: /openapi.json

Use with Your AI Assistant

You can point any AI assistant — ChatGPT, Claude, Perplexity, and others — directly at this API. Share the link below and your assistant will understand how to search trademarks on your behalf.

Option 1 — Share the AI summary link

Copy this URL and paste it into your AI chat. The assistant can read it and will immediately know how to use the API for you.

https://tmsearchapi.com/llms.txt

Option 2 — Share the full schema

For technical assistants or tools that support OpenAPI, share this URL for the full machine-readable spec:

https://tmsearchapi.com/openapi.json

Example prompts to try

Once your AI assistant has the API details, try saying:

"Search the trademark API for any marks containing 'Bolt' and tell me who owns them."

"Check if there are any trademarks registered to Acme Corp."

"Find trademarks in the name 'STARLINK' and give me their status and registration numbers."

"Search for the trademark 'SWOOSH' owned by Nike and return the class codes."

For developers — custom GPTs & agents

Import /openapi.json directly into ChatGPT's custom action builder, LangChain, or any OpenAPI-compatible agent framework. No authentication configuration needed for the free tier.