A mark-level search answers who owns what and where it stands in the process; the company-level tools turn the same register into a portfolio and a filing trend. It reads China's trademark register and expects Chinese company identifiers, which is what makes it useful for brand protection and competitor work in that market.
A server over Handaas's Chinese trademark data. Search marks by name, application number, applicant or filing agent and narrow by status; or step up a level and describe a company's whole portfolio — how many marks it holds, valid against invalid, the classes covered — and how its filings have moved year by year. Because the company-level tools want a registered name or code, a fuzzy keyword search turns a brand, product or partial name into the company records they need.
- Trademark search by mark name, application number, applicant or agency, filtered by status — under rejection review, under invalidation review, preliminary publication and others
- Each result with applicant, agency, mark image, application and registration dates, goods and services covered, and current status
- A company trademark profile: total marks, valid and invalid counts, classes covered and the breakdown by status
- Trend statistics for one company: applications and registrations year by year, plus class and status distribution
- Fuzzy keyword search over companies, resolving a brand, product, person or partial name into the company records the other tools accept
- Paged results, with a cap on how many rows one page returns
A Handaas platform account: the integrator id, secret id and secret key it issues go into the server's environment, or a token if you point a client at Handaas's own remote endpoint instead. Locally it runs on Python 3.10 or newer and can serve over stdio, SSE or streamable HTTP.
Build from source — clone the repository and build it, then deploy it and point your client at the endpoint
