Trademark Watch: Opposition Deadline Alerts, 70+ IP Offices avatar

Trademark Watch: Opposition Deadline Alerts, 70+ IP Offices

Pricing

from $20.00 / 1,000 term watches

Go to Apify Store
Trademark Watch: Opposition Deadline Alerts, 70+ IP Offices

Trademark Watch: Opposition Deadline Alerts, 70+ IP Offices

Watch trademark filings across EUIPO, WIPO and EU national offices via TMview: new applications matching your brand terms, with Nice classes, applicants, status and opposition deadlines. Built for IP professionals, founders and AI agents.

Pricing

from $20.00 / 1,000 term watches

Rating

0.0

(0)

Developer

Juan de Pablos

Juan de Pablos

Maintained by Community

Actor stats

0

Bookmarked

14

Total users

4

Monthly active users

5 days ago

Last modified

Share

Global Trademark Watch — USPTO, EUIPO, WIPO & 70+ Offices (TMview)

Know when someone files a mark like yours — before the opposition window closes. One call per watched term: new trademark filings across USPTO, EUIPO, WIPO and 70+ national offices worldwide (Japan, Korea, China, UK, Canada, Brazil, ...), with Nice classes, applicants, status and opposition deadlines, as clean JSON.

Trademark watching is a paid professional service for a reason: miss the ~3-month opposition window and your only option is expensive litigation. This Actor gives you the raw watch feed for the price of an API call.

What you get per watched term

{
"query": "nike",
"offices": ["EM", "ES"],
"totalInSource": 11,
"returned": 11,
"newMarks": [
{
"st13": "EM500000019334355",
"name": "NIKE",
"office": "EM",
"applicationNumber": "019334355",
"applicationDate": "2026-03-20",
"oppositionPeriodEnd": "2026-08-14",
"url": "https://www.tmdn.org/tmview/#/tmview/detail/EM500000019334355"
}
],
"marks": [
{
"st13": "EM500000019334355",
"name": "NIKE",
"office": "EM",
"applicationNumber": "019334355",
"status": "Filed",
"type": "Word",
"niceClasses": [19],
"applicants": ["HarbisonWalker International, Inc."],
"applicationDate": "2026-03-20",
"oppositionPeriodStart": "2026-05-14",
"oppositionPeriodEnd": "2026-08-14",
"protectedIn": ["DE", "FR", "ES", "IT", "..."],
"url": "https://www.tmdn.org/tmview/#/tmview/detail/EM500000019334355",
"isNew": true
}
],
"meta": {
"newCount": 1,
"isBaseline": false,
"noveltyTracking": "on",
"noveltyFrom": "2026-01-04",
"watchKey": "w-nike-4c1f90ab72",
"knownMarks": 11
}
}

newMarks is the alert. marks is the full picture, with isNew on each filing. If you only want to be woken up by what changed, read meta.newCount and stop there when it is zero.

Why this beats checking manually

  • Global in one call: USPTO (US), EUIPO (EM), WIPO (WO), UK, Japan, Korea, China, Canada, Brazil and 70+ offices — the same search on TMview's official aggregated data.
  • Opposition deadlines included: oppositionPeriodEnd is the date that matters. Sort by it, alert on it.
  • Built for recurring watch: the Actor remembers what it already showed you for each watch, so every run tells you what changed since the last one. No date bookkeeping on your side.
  • Nice-class filtering: watch class 25 (apparel) or 9/42 (software) instead of drowning in noise.

Use cases

  • Founders / brand owners: watch your brand and close variants; act inside the opposition window instead of paying for litigation later.
  • IP law firms & agents: bulk watchlists (25 terms per run) as structured data for your docketing system.
  • Agencies: pre-filing clearance quick-check — what exists in this class across offices?
  • AI agents: "is anyone filing marks similar to X?" — one tool call, structured answer.

Input

FieldDescription
query / termsTerm(s) to watch — up to 25 per run with per-term overrides
officesTMview codes: ["US", "EM", "WO", "JP", "GB", ...] (default ["EM", "US", "WO"])
statuses["Filed"] for the watch use-case; empty for all
niceClassese.g. [25] or [9, 42]
filedSinceYYYY-MM-DD, only applications on/after this date. Optional: novelty is tracked for you
maxResultsPerTermCap per term (default 100). Limits what is shown, not what is watched

Use with AI agents (MCP)

This Actor is exposed as a tool on the Apify MCP Server:

{
"mcpServers": {
"trademark-watch": {
"url": "https://mcp.apify.com?tools=jdepablos/trademark-watch-tmview",
"headers": { "Authorization": "Bearer <APIFY_TOKEN>" }
}
}
}

What counts as new, and what you pay for

A watch is a term plus the offices, statuses and Nice classes you search it in. For each watch the Actor keeps a list of the filings it has already reported to you, in a key-value store inside your own Apify account. It is created by your first run and only your runs can read it.

Two events:

EventWhen it is charged
term-watchEvery term scanned. In a watch service, a quiet day is still the service.
match-foundOnly when that term returns at least one filing you had not been shown before. Once per term, never per mark.

The rules behind match-found, so the invoice is never a surprise:

  • The first run of a watch never triggers it. There is nothing to compare against yet, so that run records the baseline and charges term-watch only. Look for meta.isBaseline.
  • A filing applied for before your watch started never counts as new, even the first time you see it. Widening filedSince or raising maxResultsPerTerm pulls older filings into view: you get them in marks, you are not charged for them. The cutoff sits in meta.noveltyFrom and allows 90 days of slack, because offices publish with a delay and a late-indexed filing can still be worth opposing.
  • Nothing new, nothing charged. Watching a term twice a day while it stays quiet costs term-watch twice and nothing else.
  • Failed terms are never charged and never recorded as seen.
  • If the state cannot be read or written, the run still returns your data and match-found is not charged. meta.noveltyTracking says which mode you got.

Changing offices, statuses or Nice classes starts a separate watch with its own baseline, because it is a different search. Changing filedSince or maxResultsPerTerm does not: those only crop what you see.

To start a watch from scratch, delete the trademark-watch-state key-value store in your Apify account, or just the w-... record for that term. The next run records a fresh baseline.

FAQ

Is this legal advice? No. It is structured public data from the official TMview aggregator. Opposition decisions belong with your IP counsel — this makes sure they hear about conflicts in time.

Does it do similarity/fuzzy matching? v0.1 matches the term as TMview's search does (contains-style). Watch variants by adding them as separate terms ("nike", "nyke", "naik").

How fresh is the data? TMview is the offices' own aggregation service, updated continuously. Run it on a schedule and each run reports what changed since the previous one.

Can the developer see what I watch? No. The watch state lives in a key-value store created inside your own Apify account by your own runs, next to the datasets those runs produce. Other accounts cannot read it, and neither can we. Your watchlist is also the Actor input, which stays in your account for the same reason.

The other half of brand protection

Registers are only half the picture. A trademark filing takes months and is public; a lookalike domain takes ten minutes and nobody tells you. If you watch one, you probably want to watch the other:

  • Brand Domain Watch — finds domains impersonating your brand from public Certificate Transparency logs: typosquats, phishing keywords (login, verify, billing), high-abuse TLDs, and domains registered in the last 30 days. Same idea as this Actor, applied to the internet instead of the registers.

Other data tools by this developer