USPTO API: Search US trademarks
Finds US trademark filings matching a brand name, optionally limited to likely goods or service classes. Exact marks come first, similar marks follow; not a legal clearance opinion.
Unofficial. Not affiliated with or endorsed by USPTO.
Inputs
Values from the run on Oct 31, 2026, shown under Output.
- Brand Name, required
brand_name Brand to check, for example Sunbeam.
Sunbeam
- Max Results optional
max_results Maximum records returned, for example 25.
25 (default)
Whole number from 1 to 100.
- Include Dead optional
include_dead Include inactive filings, for example false for live marks only.
false (default)
True or false.
- Product Category optional
product_category Products or services in plain words, for example coffee, clothing or software.
coffee
Default
.
Input as JSON
{ "brand_name": "Sunbeam", "product_category": "coffee"}Output
{ "summary": "28 live trademarks match Sunbeam for coffee", "trademarks": [ { "owner": "SUNBEAM PRODUCTS, INC.", "status": "Live - registered", "classes": [ "012 - Vehicles", "015 - Musical instruments", "009 - Software, electronics and scientific instruments" ], "mark_text": "SUNBEAM", "filing_date": "1941-03-19", "serial_number": "71441695", "mark_image_link": "https://tmcms-docs.uspto.gov/cases/71441695/mark/large.png" , "registration_date": "1941-09-09", "uspto_status_link": "https://tsdr.uspto.gov/#caseNumber=71441695&caseSearchType=US_APPLICATION&caseType=DEFAULT&searchType=statusSearch" , "goods_and_services": "US 021: Electrical Appliances Comprising Electric Flatirons (Group A); [ Electric Toaster Grills, Electric Toaster and Table Stoves, and ] Electric Toasters (Group B); Electric Heating Pads for General Use (Group C); [ Portable Electric Radiant Heaters for General Use (Group D); ] [ Electric Percola", "registration_number": "0390181" }, { "owner": "Sunbeam Products, Inc.", "status": "Live - registered", "classes": [ "007 - Machines", "009 - Software, electronics and scientific instruments", "010 - Medical devices" ], "mark_text": "SUNBEAM", "filing_date": "1998-05-05", "serial_number": "75479650", "mark_image_link": "https://tmcms-docs.uspto.gov/cases/75479650/mark/large.png" , "registration_date": "2001-03-20", "uspto_status_link": "https://tsdr.uspto.gov/#caseNumber=75479650&caseSearchType=US_APPLICATION&caseType=DEFAULT&searchType=statusSearch" , "goods_and_services": "IC 007: [ELECTRIC FOOD BLENDERS, GRINDERS, JUICERS, PROCESSORS AND SLICERS FOR COMMERCIAL OR DOMESTIC USE; ELECTRIC KNIVES, KNIFE AND SCISSOR SHARPENERS, SAUSAGE STUFFERS, ICE CRUSHERS, BAG SEALERS;] ELECTRIC HAIR CLIPPERS AND TRIMMERS[, AND BLADES AND BRUSHES THEREFOR].; IC 009: [SCALES; THERMOCOUP", "registration_number": "2436123" }, { "owner": "Sunbeam Products, Inc.", "status": "Live - registered", "classes": [ "011 - Lighting, heating and cooking appliances" ], "mark_text": "SUNBEAM", "filing_date": "2010-01-28", "serial_number": "77922031", "mark_image_link": "https://tmcms-docs.uspto.gov/cases/77922031/mark/large.png" , "registration_date": "2011-04-05", "uspto_status_link": "https://tsdr.uspto.gov/#caseNumber=77922031&caseSearchType=US_APPLICATION&caseType=DEFAULT&searchType=statusSearch" , "goods_and_services": "IC 011: Electrical cooling apparatus for household use, namely, refrigerators, [ keg coolers, ] beverage coolers, [ wine coolers, ice makers, ] and freezers [, and parts and accessories thereto ].", "registration_number": "3941830" } ]}Code
curl https://api.fous.com/v1/runs \ -H "Authorization: Bearer $FOUS_API_KEY" \ -H "Content-Type: application/json" \ -d '{"method":"uspto.gov/search_trademarks","input":{"brand_name":"Sunbeam","product_category":"coffee"}}' # Save as fous.py, then run: python3 fous.pyimport json, os, timefrom urllib.error import HTTPErrorfrom urllib.request import Request, urlopenAPI = "https://api.fous.com/v1/runs" KEY = os.environ["FOUS_API_KEY"]HEADERS = { "Authorization": f"Bearer {KEY}", "Content-Type": "application/json" ,}def call(url, body=None): data = json.dumps(body).encode() if body else None request = Request(url, data, HEADERS) try: with urlopen(request, timeout=120) as r: return r.status, json.load(r) except HTTPError as error: message = json.load(error)["error"]["message"] raise RuntimeError(message) from errorstatus, run = call(API, { "method": "uspto.gov/search_trademarks" , "input": { "brand_name": "Sunbeam", "product_category": "coffee" }})# 202: still going after 30 s. Ask again until it ends.while status == 202: time.sleep(2) status, run = call(f"{API}/{run['id']}")print(json.dumps(run["data"], indent=2))// Save as fous.mjs, then run: node fous.mjsconst api = "https://api.fous.com/v1/runs" ;const headers = { Authorization: `Bearer ${process.env.FOUS_API_KEY}`, "Content-Type": "application/json" ,};let response = await fetch(api, { method: "POST", headers, body: JSON.stringify({ "method": "uspto.gov/search_trademarks" , "input": { "brand_name": "Sunbeam", "product_category": "coffee" } }), signal: AbortSignal.timeout(120_000),});let run = await response.json();// 202: still going after 30 s. Ask again until it ends.while (response.status === 202) { await new Promise((done) => setTimeout(done, 2_000)); response = await fetch(`${api}/${run.id}`, { headers }); run = await response.json();}if (!response.ok) throw new Error(run.error.message);console.log(run.data);# Connect your agent to Fous once, over MCP (Streamable HTTP):# https://api.fous.com/mcp# Set FOUS_API_KEY first: create a key at https://app.fous.com/keys.# Claude Codeclaude mcp add \ --scope user \ --transport http fous https://api.fous.com/mcp \ --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"# Codexcodex mcp add fous \ --url https://api.fous.com/mcp \ --bearer-token-env-var FOUS_API_KEY# Cursor, VS Code, Windsurf, Cline and morenpx -y add-mcp https://api.fous.com/mcp -g -n fous \ --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"# Then ask your agent:# "Use Fous to run uspto.gov/search_trademarks# with {"brand_name":"Sunbeam","product_category":"coffee"}"Over HTTP, the answer’s data holds the output. A run still going after 30 seconds answers 202 with its id: ask GET /v1/runs/{id} until it ends.
Schema
Input schema
{ "type": "object", "required": [ "brand_name" ], "properties": { "brand_name": { "type": "string", "minLength": 1, "description": "Brand to check, for example Sunbeam." }, "max_results": { "type": "integer", "default": 25, "maximum": 100, "minimum": 1, "description": "Maximum records returned, for example 25." }, "include_dead": { "type": "boolean", "default": false, "description": "Include inactive filings, for example false for live marks only." }, "product_category": { "type": "string", "default": "", "description": "Products or services in plain words, for example coffee, clothing or software." } }}Output schema
{ "type": "object", "required": [ "summary", "trademarks" ], "properties": { "summary": { "type": "string" }, "trademarks": { "type": "array", "items": { "type": "object", "required": [ "mark_text", "owner", "status", "goods_and_services", "classes", "filing_date", "registration_date", "serial_number", "registration_number", "mark_image_link", "uspto_status_link" ], "properties": { "owner": { "type": [ "string", "null" ] }, "status": { "type": "string" }, "classes": { "type": "array", "items": { "type": "string" } }, "mark_text": { "type": [ "string", "null" ] }, "filing_date": { "type": [ "string", "null" ] }, "serial_number": { "type": "string" }, "mark_image_link": { "type": [ "string", "null" ] }, "registration_date": { "type": [ "string", "null" ] }, "uspto_status_link": { "type": "string" }, "goods_and_services": { "type": [ "string", "null" ] }, "registration_number": { "type": [ "string", "null" ] } }, "additionalProperties": false } } }, "additionalProperties": false}- Price
- 1 credit per completed run (1¢ with pay as you go); failed runs are free.
- Method
uspto.gov/search_trademarks- Returns
- summary, marks with owner, status, goods and services, classes, dates, serial and registration numbers, image and status links
Use it from your agent
Give your agent this line. It reads SKILL.md, gets a Fous API key and connects the Fous MCP server. Its run then takes the method uspto.gov/search_trademarks with the inputs above.
Ask your agent
- Is anyone already using the name "Bluepine" as a trademark for outdoor apparel? Show me live filings with owners and status.
- Check the USPTO for existing trademarks on "Kettle & Crow" in the coffee and cafe space, up to 50 results.
- I'm naming my new budgeting app "Ledgerly" — pull any registered or pending US marks that match or look similar, including abandoned ones.
- Search uspto.gov for trademarks named "Nimbus" related to software, and give me serial numbers, registration numbers, and goods descriptions.
- Find US trademark filings for the brand "Solstice Skin" covering cosmetics, just the top 10 active ones with filing dates and owners.
See more
All USPTO methodsGets the current status and prosecution history of one U.S. trademark by name, serial number or registration number. For a name, it picks the newest live matching mark (or the one matching the owner) and lists the other matches.
uspto.gov/get_trademark_statusSearch WIPO Global Brand Database trademarks by brand name, registering office, status and Nice class in relevance order. Status follows the registering office's reported status; missing record details are null.
branddb.wipo.int/search_trademarksFinds U.S. consumer product recalls matching a product type or brand, newest first, with hazards, remedies, incidents, sale details and photos when published.
cpsc.gov/search_recallsSearches USDA FoodData Central foods and branded products by food or brand name, ranked by relevance. Calories and serving sizes are null when not supplied.
fdc.nal.usda.gov/search_foodsGets one public patent or published application by number, title, or Google Patents link, with claims, citations, family and classifications.
patents.google.com/get_patentFinds U.S. nonprofits by organization name, optionally filtered by state and city, with the latest reported revenue and assets.
projects.propublica.org/search_nonprofitsFinds U.S. federal grant opportunities by topic, agency, applicant type and status, with funding and eligibility details. Open results exclude opportunities whose closing date has passed.
grants.gov/search_grantsFinds Google Patents about an invention. Optional filters: inventor, assignee, country, filing date and publication stage. Legal status is the site's estimate.
patents.google.com/search_patents