US trademark search

GET https://api.api.sh/trademarks/v1/search
1 credit / call government & registries try it in the playground →

US trademark applications and registrations from the USPTO: search the word mark, owner, goods and services or mark description, and filter by Nice class, live or dead status and filing or registration date ranges, sorted by relevance, filing date or registration date. Each mark has serial and registration numbers, word mark, live and registered flags, status, mark type, register, drawing type, filing, registration, publication, abandonment and renewal dates, first use dates, Nice and US classes, goods and services, owner (name, type, citizenship; city and address for business owners), attorney, filing basis, design codes, disclaimer, translation, proceedings, an image link and the status page. Give at least one of q, owner, goods or description. Pass next_page back as page; null on the last page (up to 10,000 matches).

Every response includes credits_used: the credits this call cost.

Parameters

nametypedescription
q string Words in the word mark. Example: apple
owner string Words in the owner's name.
goods string Words in the goods and services.
description string Words in the mark description (design marks).
class string Comma-separated Nice classes, 1-45. Example: 9
status live | dead live or dead marks only. Example: live
filed_from string Filed on or after (YYYY-MM-DD).
filed_to string Filed on or before (YYYY-MM-DD).
registered_from string Registered on or after (YYYY-MM-DD).
registered_to string Registered on or before (YYYY-MM-DD).
sort relevance | filed | -filed | registered | -registered relevance (default), filed (newest first), -filed, registered (newest first), -registered.
limit integer Marks per page, 1-100. Example: 25
page integer Page number, starting at 1. Pass next_page back as page; it is null on the last page. Example: 1

Every endpoint also takes fresh, raw, fields (see lean responses and caching).

Example

curl "https://api.api.sh/trademarks/v1/search?q=apple" \
  -H "x-api-key: $APISH_KEY"

Response

A JSON object with the fields described above, plus raw (the source's own data), cached, fetched_at and credits_used. Errors return {"success": false, "error": "…"} with the HTTP status (see errors). A lookup that ran but found nothing (404) costs the price above; refused calls and errors on our side are free (what's charged).

The fastest way to see the full response is the playground: it runs this endpoint with your account and shows the exact JSON.