aboutsummaryrefslogtreecommitdiffstats

tmview-py

CLI tool to search EU trademark registries via TMview, which aggregates 137M+ marks from EUIPO, all 27 EU member states, and WIPO international registrations.

Install

pip install -e .

Usage

tmview <query> [options]
Options:
  -o, --offices CODES   Comma-separated office codes (default: all EU + WIPO)
  -l, --limit N         Max results (default: 20, max: 100)
  -c, --classes NUMS    Nice class filter, comma-separated (e.g. 9,35)
  -s, --status STATUS   registered | pending | expired
  -v, --verbose         Show fetch timestamp column
  -d, --download-logos  Download logo images to DIR
      --similar-to IMG  Find trademarks with visually similar logos to IMG
  --json                Output raw JSON instead of table
  --page N              Page number (default: 1)
  --all-offices         Also include non-EU offices (US, GB, JP, CH, etc.)

Examples

tmview "NIKE"
tmview "TESLA" --offices EM,DE,FR
tmview "APPLE" --classes 9,35 --status registered
tmview "GOOGLE" --json | jq '.[:3]'
tmview "COCA COLA" --limit 50 --page 2
tmview "Hacking-Lab" --all-offices -v

# Image similarity search
tmview --similar-to logo.png
tmview --similar-to logo.png --all-offices -d ./matches

Output columns

Column Description
Origin Office code + name where the mark was filed
Name Trademark name
Status Registration status (colour-coded)
Type Mark type: Word, Figurative, Combined, 3D, etc.
Owner First listed applicant/owner
Classes Nice classes (see below)
Applied Application date
App # Application number
Fetched Timestamp of the API request (-v only)

Nice classes

Trademarks are categorised by the Nice Classification system — 45 classes that group goods and services. Common ones:

Class Covers
9 Software, electronics, computers
25 Clothing, footwear
35 Advertising, business services
38 Telecommunications
41 Education, entertainment
42 IT services, SaaS, research

Use -c to filter: tmview "APPLE" -c 9,42

Status colours

  • Green — Registered
  • Yellow — Filed / Pending
  • Red — Expired / Refused

Office codes

Default search covers all EU member states plus EUIPO (EM) and WIPO international registrations (WO). Notable codes:

Code Registry
EM EUIPO (EU-wide)
WO WIPO / Madrid Protocol (international)
BX Benelux (Belgium, Netherlands, Luxembourg)
DE Germany
FR France
GB UK (post-Brexit)
CH Switzerland
US USPTO

Full list: tmview --help

Caching

Results are cached in ~/.cache/tmview/ keyed by query parameters. Cached responses are served instantly and flagged with (cached — fetched <timestamp>) on stderr. Delete the cache directory to force fresh results.