USPTO trademark search API

Search US trademark applications and registrations (USPTO) by wordmark, to check whether a brand name is already taken before using or filing it.

$0.02GET /v1/us/trademarkMCP us_trademarkFree tier

What you get

  • US trademark applications and registrations matching a wordmark
  • Serial number, mark, owner, status (live or dead), filing and registration dates
  • Nice classes and a link to the USPTO TSDR record

Parameters

  • qstringrequiredquery

    Wordmark

    2–200 characters

  • statuslive | dead | alloptionalquery

    Live, dead or all marks

    default live

  • limitintegeroptionalquery

    Maximum number of marks

    1 to 25 · default 10

  • matchall | anyoptionalquery

    Require all words or any word

    default all

Try it

With a key, every Run is paid from your credits and the balance updates after each call. Kept only in this browser tab; sent only to this site.

Wordmark. 2–200 characters.

Live, dead or all marks. Default live.

Maximum number of marks. 1 to 25, default 10.

Require all words or any word. Default all.

Without a key it runs on your free tier (10 calls a day per IP). An agent pays $0.02 per successful call.

Equivalent curl
curl "https://402check.com/v1/us/trademark?q=acme"

Example response

Example response
[
  {
    "serial": "77724923",
    "mark": "ACME",
    "owner": "Acme Products Company (CORPORATION; MISSOURI, USA)",
    "status": "live",
    "filed": "2009-04-29",
    "registered": "2010-04-06",
    "classes": [
      "012"
    ],
    "url": "https://tsdr.uspto.gov/#caseNumber=77724923&caseType=SERIAL_NO&searchType=statusSearch"
  }
]

First of 3 live marks our test fixture returns.

HTTP

Request (free tier, no key)
curl "https://402check.com/v1/us/trademark?q=acme"
Request with a credits key
curl -H "Authorization: Bearer rk_YOUR_KEY" "https://402check.com/v1/us/trademark?q=acme"

MCP

tools/call request
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "us_trademark",
    "arguments": {
      "q": "acme"
    }
  }
}

Endpoint https://402check.com/mcp. Setup for Cursor, Claude and other clients is in the docs.

Source and limits

Data from USPTO Trademark Search.

  • US marks only
  • The USPTO search backend is undocumented and can change without notice (then 502 upstream_error, not charged)
  • At most 25 marks per call; match=all requires every word, match=any accepts any

Questions

How much does a search cost?

$0.02 per successful call. The first 10 calls a day per IP address are free.

Do I need an account?

No. Call it without credentials on the free tier, pay per call with x402 over HTTP, or send a prepaid rk_ key bought by card.

Does it include dead marks?

Only when asked: status defaults to live; pass status=dead or status=all.

Am I charged for a failed call?

No. Credits are deducted and x402 payments settled only on a 2xx response; errors such as invalid_query or upstream_error cost nothing.