Brazil Trademark Watch — INPI/RPI Monitor & Deadline Alerts
Pricing
Pay per event
Brazil Trademark Watch — INPI/RPI Monitor & Deadline Alerts
Never miss a Brazilian trademark deadline. Get a same-day alert when a new INPI/RPI dispatch — grant, opposition, office action — hits a process or owner you watch. Delta only: new movements, no noise.
Pricing
Pay per event
Rating
0.0
(0)
Developer
MoreLock
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
INPI Trademark Watch — Brazil RPI Gazette Monitor
Watch Brazilian trademark processes and get notified only when a new dispatch is published — without opening the INPI's RPI gazette every week to check by hand.
Overview
An INPI office action or opposition opens a response deadline the day it publishes in the RPI — miss it and the trademark can lapse. This actor watches the gazette for you and flags a new dispatch the same day it hits a process or owner you track. US and EU offices are well served on Apify; Brazil's INPI/RPI was, until now, a manual weekly check.
Every week the Brazilian PTO (INPI) publishes the RPI — Revista da Propriedade Industrial (Industrial Property Gazette), the official record where every movement on a trademark application or registration appears: grants, rejections, office actions, oppositions, renewals and more. Two fields the RPI publishes in each edition — the process number and the owner name — are the key to everything here.
The actor downloads the edition you point it at, matches it against your watch list, and compares it with the history from the previous run. Whatever already appeared in a past edition is not reported again; only a genuinely new dispatch enters the dataset. This is a delta monitor, not a re-scrape: you pay attention to changes, not to noise.
A structured tax ID (CNPJ) is not a field in the RPI data — the INPI publishes the owner's name / company name, not the document. So watching here is by process number (exact) or by owner name (case-insensitive substring), never by CNPJ.
Brazil is a top-tier trademark jurisdiction (Madrid Protocol member since 2019, hundreds of thousands of filings a year), so foreign brand owners and their counsel routinely need to track local movements — office actions that open a response deadline, third-party oppositions, and the status of their own portfolio.
Features
- Watch by process number (exact match) or by owner / company name (substring).
- Real delta between runs: the history of already-seen dispatches persists in a named key-value store, isolated per watch-config.
- The list of relevant IPAS dispatch codes is configurable — the default covers the 12 most frequent codes (grant, rejection, office action, opposition, etc.), but you decide what fires an alert.
- Processes one or several RPI editions in a single run, always oldest to newest, so the delta closes correctly.
- An edition that is not yet published or does not exist does not bring the run down — it is skipped with a warning and the rest continues.
- Automatic baseline on the first run of each watch-config: nothing is "born" as a false alert.
- Official dispatch wording is returned exactly as the INPI publishes it (in Portuguese), the authoritative source text — no lossy machine translation of legal terms.
Input example
{"watchProcesses": ["936582294"],"watchOwners": ["Renova Ltda"],"relevantCodes": ["IPAS029", "IPAS158", "IPAS270"],"editions": [2896],"stateStoreName": "my-trademark-portfolio"}
Output example
Real output of a test run (edition 2896, process 936582294):
{"process_number": "936582294","owner": "RENOVA LTDA EPP","dispatch_code": "IPAS158","dispatch_description": "Concessão de registro","nice_class": ["38"],"rpi_edition": 2896,"edition_date": "07/07/2026","detected_at": "2026-07-13T02:05:02.707Z"}
When there is no new relevant dispatch for any watched process, the dataset comes back empty — that is the expected answer, not a failure (see FAQ).
Parameters
| Field | Type | Required | Description |
|---|---|---|---|
watchProcesses | array of string | No* | Process numbers to watch. Exact match. |
watchOwners | array of string | No* | Owner / company names to watch. Case-insensitive substring match. |
relevantCodes | array of string | No | IPAS codes that fire an alert. Empty or omitted falls back to the default 12 most frequent codes. |
editions | array of number | Yes | Numbers of the RPI editions to process (e.g. [2896]). This version requires an explicit edition. |
stateStoreName | string | No | Name of the history key-value store. Blank = derived automatically from the watch-config (same config always falls into the same store; different configs stay isolated). |
* At least one of watchProcesses or watchOwners must be filled, otherwise no process is watched and the run emits nothing.
Tips
- Find the current edition number on the official RPI page before running — this version does not resolve "the latest edition" on its own.
- Run it on a schedule (weekly; Tuesday is the usual publication day) with the same fixed
stateStoreNameto keep the delta persisting. - If
watchOwnersmatches hundreds of processes in one edition, the log warns you — usually a sign the term is too generic (e.g. a single common word). - Changing
watchProcesses,watchOwnersorrelevantCodeschanges the hash of the derived store and creates a new baseline — the old history does not disappear, it just stops being consulted.
Use cases
- Trademark firm monitoring a client portfolio: one
stateStoreNameper client, automatic alert on an office action or opposition. - Foreign brand owner tracking its Brazilian filings: know the day a grant, renewal or any critical dispatch is published, without depending on an INPI email notice.
- Competitive watch by owner: follow a specific competitor's filings and dispatches by name.
- Legal team with a procedural deadline: a dispatch that opens a response window (opposition, office action) becomes a same-day task the moment it is published.
- Trademark portfolio audit: run against the whole list of company processes on every edition to make sure nothing slipped through.
- CRM / ticketing integration: the per-event dataset feeds a webhook or automation (Zapier/Make) that opens a ticket for each new dispatch.
FAQ
Why can't I watch by CNPJ (tax ID)? Because the RPI does not publish a structured CNPJ — only the owner's name / company name. Watch by name (substring) or by process number, which is exact.
The dataset came back empty, did something break? Not necessarily. An empty dataset is the correct answer when no new relevant dispatch was published for the watched processes/owners in that edition(s). "No news" is a valid result.
Do I have to provide editions every time?
Yes, in this version. Automatic resolution of "the latest published edition" is not implemented — check the current number on the RPI before running.
Does a wrong or not-yet-published edition bring the run down?
No. The invalid edition is skipped with a log warning (editions_failed in the final summary) and the rest processes normally.
Why is the dispatch description in Portuguese? It is the INPI's official, authoritative wording as published in the gazette. Machine-translating legal dispatch terms would risk changing their meaning, so the actor returns the source text verbatim. The IPAS code is language-neutral and lets you map each dispatch to your own glossary.
Why two charge events (run and dispatch) instead of one per dataset item? Downloading and processing an edition has a fixed cost (a file of tens of MB, tens of thousands of processes), regardless of how many dispatches hit your watch. Charging only per item would leave small watchlists running at a loss. The run event covers that fixed cost; the per-dispatch event pays for the signal.
Pricing
Pay-per-event (PPE) model, two events:
| Event | Price |
|---|---|
Monitor run (monitor_run) — 1x per run, covers any edition processed | US$ 0.15 |
New dispatch detected (dispatch_detected) — 1x per item emitted in the dataset | US$ 0.75 |
Real cost example: watching 1 process against 1 edition with 1 new relevant dispatch = US$ 0.15 (run) + US$ 0.75 (dispatch) = US$ 0.90. Running against an edition with no new dispatch for your watched processes costs only the US$ 0.15 run event — an empty dataset is not a bug, it is the honest result of "nothing changed" (see FAQ). The first run of each watch-config always establishes the baseline: dispatches that already exist on first read become history, not alerts — you do not pay to "discover" the entire past of a process at once.
Related Actors
Part of a suite of Brazilian company data & compliance actors:
- Brazil Company Data — Bulk CNPJ Lookup & Enrichment — registry data from the Receita Federal.
- Brazil Due Diligence — CNPJ Registry + Reclame Aqui — registry + reputation by CNPJ.
- Brazil Company Risk Score — registry, reputation & protest signal.
- Brazil ESG Supply-Chain Monitor — slave-labor "Dirty List" + IBAMA by CNPJ.
Changelog
- v0.0 (13/07/2026): first version. Watch by process/owner, delta with automatic baseline, PPE charging per run + per dispatch detected, invalid editions do not bring the run down.
Contact
Questions, a suggestion for a new field, or an IPAS code missing from the default list: open an issue on the Actor's page in the Apify Store, or message me through the paulovitor18 profile.