US Trademark Name Check API
static JSON · exact + sound-alike

Is that name already a live US trademark?

Static JSON API · 4,422,065 live word-text marks · exact + sound-alike lookup · data as of 2026-09-06

Checks LIVE USPTO federal filings bearing word text, as of the data date below — NOT a legal clearance search, and never legal advice. This API answers one narrow question fast: does a name (or a sound-alike spelling of it) appear among live federal filings with word text? It does not judge likelihood of confusion, does not cover design-only or state or common-law rights, and is no substitute for an attorney’s clearance search.

Try it now

How the lookup works (2 static requests, no key)

Every mark is indexed under two documented keys: an exact key (uppercase, punctuation stripped: “Coca-Cola” → COCACOLA) and TM-KEY v1, a coarse phonetic key (“QUICK” and “KWIK” → KWK). Compute the keys with /js/tmkey.js (or reimplement from the spec), hash each key to its shard, fetch the shard, read your key:

const { normExact, tmkey, shardOf } = require("./tmkey.js");
const k = normExact("Kwik Kleen");        // "KWIKKLEEN"
const p = tmkey("Kwik Kleen");            // "KWKLN"
// exact:    https://tm-check.pages.dev/v1/x/${shardOf(k)}.json  → .keys[k]
// phonetic: https://tm-check.pages.dev/v1/p/${shardOf(p)}.json  → .keys[p]
curl https://tm-check.pages.dev/v1/meta.json

A key absent from its shard means: no live word-text mark normalizes to it. Each present key carries n (true total) and up to 100 exact / 50 phonetic records — registered marks first, then newest filings.

Plans

Who this is for