Skip to main content
GET
Search every available register with structured filters. Returns a page of summaries, newest filing first.
  • Different parameters are combined with AND. Several values of one parameter, repeated or comma-separated, are combined with OR.
  • At least one filter is required; jurisdiction counts. Without jurisdiction, every available register is searched.
  • owner_*, representative_*, previous_owner_* and the party phrase filters need jurisdiction with at most 5 codes.
  • Phrase filters take one value of 1 to 200 characters. goods_services_phrase is not available in v1.
  • include=full returns full trademark objects instead of summaries, with limit of at most 25.
  • To get the next page, send the same filters and sort with cursor set to next_cursor.
Searching explains every filter, anchored and broad searches, sorting and totals.

Authorizations

Authorization
string
header
required

Your API key: Authorization: Bearer pk_live_... (or pk_test_...).

Query Parameters

jurisdiction
string[]

Registers to search, as listed by GET /v1/jurisdictions (e.g. CH, US, EM, WO). Repeat the parameter or separate values with commas (OR), up to 20. Default: every available register.

application_number
string[]

Exact application number in the office's format, e.g. VA 2026 00923. Matched as sent, upper-cased, and upper-cased without spaces, so letter case and extra spaces do not matter; keep the office's own spacing and punctuation. Repeat the parameter for several values (OR), up to 100.

registration_number
string[]

Exact registration number in the office's format. Matched as sent, upper-cased, and upper-cased without spaces, so letter case and extra spaces do not matter; keep the office's own spacing and punctuation. Repeat the parameter for several values (OR), up to 100.

number
string[]

Matches either the application or the registration number. Matched as sent, upper-cased, and upper-cased without spaces, so letter case and extra spaces do not matter; keep the office's own spacing and punctuation. Repeat the parameter for several values (OR), up to 100.

international_registration_number
string[]

Madrid international registration number, in national registers and WIPO's. Matched as sent, upper-cased, and upper-cased without spaces, so letter case and extra spaces do not matter; keep the office's own spacing and punctuation. Without a number or mark_text filter, at most 1,000 records may match (else 422 query-too-broad). Repeat the parameter for several values (OR), up to 20.

priority_number
string[]

Number of a claimed priority application. Matched as sent, upper-cased, and upper-cased without spaces, so letter case and extra spaces do not matter; keep the office's own spacing and punctuation. Without a number or mark_text filter, at most 1,000 records may match (else 422 query-too-broad). Repeat the parameter for several values (OR), up to 20.

mark_text
string[]

Exact mark text, compared after the normalization stored names get (case, accents, punctuation and trailing legal forms are ignored). Repeat the parameter for several values (OR), up to 20.

mark_text_phrase
string

Phrase in the mark text, its translation or transliteration: Latin and Cyrillic match whole words in order, CJK the exact character sequence. No substring search.

Required string length: 1 - 200
primary_owner_name
string[]

Exact name of the first-listed owner (normalized like mark_text); fast in any scope. Repeat for several values: primary_owner_name and primary_owner_key are one filter, and all their values are combined with OR, up to 20 together.

primary_owner_key
string[]

A stored owner name key (a party's name_key), matched verbatim against the first-listed owner. Repeat for several values: primary_owner_name and primary_owner_key are one filter, and all their values are combined with OR, up to 20 together.

owner_name
string[]

Exact name of any current owner, holder or applicant (normalized). Needs jurisdiction with 1 to 5 registers. Repeat for several values: owner_name and owner_key are one filter, and all their values are combined with OR, up to 20 together.

owner_key
string[]

A stored name_key of any current owner, holder or applicant, verbatim. Needs jurisdiction with 1 to 5 registers. Repeat for several values: owner_name and owner_key are one filter, and all their values are combined with OR, up to 20 together.

representative_name
string[]

Exact name of a current representative or correspondent (normalized). Needs jurisdiction with 1 to 5 registers. Repeat for several values: representative_name and representative_key are one filter, and all their values are combined with OR, up to 20 together.

representative_key
string[]

A stored name_key of a current representative or correspondent, verbatim. Needs jurisdiction with 1 to 5 registers. Repeat for several values: representative_name and representative_key are one filter, and all their values are combined with OR, up to 20 together.

previous_owner_name
string[]

Exact name of a previous owner or holder (normalized). Needs jurisdiction with 1 to 5 registers. Repeat for several values: previous_owner_name and previous_owner_key are one filter, and all their values are combined with OR, up to 20 together.

previous_owner_key
string[]

A stored name_key of a previous owner or holder, verbatim. Needs jurisdiction with 1 to 5 registers. Repeat for several values: previous_owner_name and previous_owner_key are one filter, and all their values are combined with OR, up to 20 together.

owner_name_phrase
string

Phrase in the names of current owners, holders and applicants. Needs jurisdiction with 1 to 5 registers.

Required string length: 1 - 200
representative_name_phrase
string

Phrase in the names of current representatives and correspondents. Needs jurisdiction with 1 to 5 registers.

Required string length: 1 - 200
goods_services_phrase
string

Reserved: goods and services phrase search is not available yet (400 invalid-request, code not-yet-available).

office
string[]

Registering office; WIPO's register reports WO. Repeat the parameter or separate values with commas (OR), up to 20.

origin_office
string[]

Office of origin of an international registration (WIPO's register). Repeat the parameter or separate values with commas (OR), up to 20.

status
enum<string>[]

Status value; other = a status outside this list, unknown = the office says unknown, none = not stated. Repeat the parameter or separate values with commas (OR), up to 20.

Available options:
registered,
pending,
abandoned,
cancelled,
expired,
unknown,
other,
none
status_category
enum<string>[]

live, dead or unknown; none = not stated. Repeat the parameter or separate values with commas (OR), up to 20.

Available options:
live,
dead,
unknown,
none
mark_feature
enum<string>[]

Mark feature; other = a value outside this list, none = not stated. Repeat the parameter or separate values with commas (OR), up to 20.

Available options:
word,
figurative,
combined,
three_dimensional,
colour,
combination_of_colours,
sound,
hologram,
olfactory,
motion,
multimedia,
position,
pattern,
touch,
taste,
stylized_characters,
other,
none
mark_kind
enum<string>[]

Kind of mark; other = a value outside this list, none = not stated. Repeat the parameter or separate values with commas (OR), up to 20.

Available options:
individual,
collective,
certificate,
guarantee,
defensive,
geographical,
common_right,
logotype,
service,
trademark,
denomination,
other,
none
has_image
boolean

true: only records with a mark image; false: only records without.

primary_owner_country
string[]

ISO 3166-1 alpha-2 country of the first-listed owner. Repeat the parameter or separate values with commas (OR), up to 20.

nice_class
integer[]

Nice class, 1 to 45; a record matches if it lists any of them. Repeat the parameter or separate values with commas (OR), up to 20.

similar_group_code
string[]

Similar-group code (CN, KR). Repeat the parameter or separate values with commas (OR), up to 20.

vienna_code
string[]

Vienna code: 27.05.01 matches exactly; 27 or 27.05 matches the codes under it and needs jurisdiction, nice_class or primary_owner_country too. Repeat the parameter or separate values with commas (OR), up to 20.

designated_country
string[]

ISO 3166-1 alpha-2 country designated by an international registration. Repeat the parameter or separate values with commas (OR), up to 20.

application_date_from
string<date>

Earliest application date, YYYY-MM-DD, inclusive.

application_date_to
string<date>

Latest application date, YYYY-MM-DD, inclusive.

registration_date_from
string<date>

Earliest registration date, YYYY-MM-DD, inclusive.

registration_date_to
string<date>

Latest registration date, YYYY-MM-DD, inclusive.

publication_date_from
string<date>

Earliest publication date, YYYY-MM-DD, inclusive.

publication_date_to
string<date>

Latest publication date, YYYY-MM-DD, inclusive.

expiry_date_from
string<date>

Earliest expiry date, YYYY-MM-DD, inclusive.

expiry_date_to
string<date>

Latest expiry date, YYYY-MM-DD, inclusive.

renewal_date_from
string<date>

Earliest renewal date, YYYY-MM-DD, inclusive.

renewal_date_to
string<date>

Latest renewal date, YYYY-MM-DD, inclusive.

termination_date_from
string<date>

Earliest termination date, YYYY-MM-DD, inclusive.

termination_date_to
string<date>

Latest termination date, YYYY-MM-DD, inclusive.

opposition_period_end_date_from
string<date>

Earliest opposition period end date, YYYY-MM-DD, inclusive.

opposition_period_end_date_to
string<date>

Latest opposition period end date, YYYY-MM-DD, inclusive.

status_date_from
string<date>

Earliest status date, YYYY-MM-DD, inclusive.

status_date_to
string<date>

Latest status date, YYYY-MM-DD, inclusive.

sort
enum<string>
default:-application_date

-application_date (newest first, the default) or application_date. registration_date and expiry_date, either direction, need an anchor filter (a number, name, key or phrase). Undated records come last.

Available options:
-application_date,
application_date,
-registration_date,
registration_date,
-expiry_date,
expiry_date
limit
integer
default:25

Items per page, 1 to 100 (default 25; at most 25 with include=full). Pages can be short, even empty, while has_more is true.

Required range: 1 <= x <= 100
include
string[]

full: return full trademark objects instead of summaries (limit at most 25).

Allowed value: "full"
include_total
boolean
default:false

true: add total {value, relation}; computed on the first page and carried in the cursor.

cursor
string

next_cursor of the previous page. Send it with the same filters and sort; limit, include and include_total may change.

Maximum string length: 6000

Response

Successful Response

object
string
required
Allowed value: "list"
data
(TrademarkSummary · object | Trademark · object)[]
required

Search and feed item built from the core row only (plan 0). Ask include=full (limit <= 25) for full trademark objects.

has_more
boolean
required
next_cursor
string | null
required
unavailable_jurisdictions
string[]
required
search_progress
SearchProgress · object | null
total
TotalDocument · object | null