Skip to main content
Signa syncs trademark data from production offices, with more planned. Each office publishes data on its own schedule. This guide explains what to expect in terms of data freshness and how to check the current state of each source.

Per-office sync schedule

Production offices

To see how current an office’s data is, read last_synced_at (when Signa last completed a data pull from the office that processed records) and update_cadence on List Offices. A record’s source_data_date dates the last change Signa saw for that record, not the last time Signa checked it.

Italy (UIBM)

Source: UIBM (Ufficio Italiano Brevetti e Marchi), about 1.41 million trademark records from its register, with filing dates back to 1879.
  • Sync time. last_synced_at for IT on List Offices is when Signa last completed a data pull from UIBM. It is Signa’s sync time, not the date UIBM last updated its data.
  • Business-day updates. Signa refreshes Italian records from UIBM on business days. Runs from Tuesday to Saturday pick up each business day’s changes.
  • National marks only. Records under the IT office are Italian national marks. No Madrid designations sit under that office.
  • Owners not yet resolved into entities. Owners in Italy are not yet resolved into entities at launch. Italian owners appear as individual owners until entity resolution runs, within about a week.

Brazil (INPI)

Source: INPI (dados abertos, Revista da Propriedade Industrial).
  • Sync time. last_synced_at for BR on List Offices is when Signa last completed a data pull from INPI. It is Signa’s sync time, not the date INPI last updated its data.
  • Weekly updates. INPI publishes its gazette, the Revista da Propriedade Industrial, every Tuesday. New filings and status changes reach Signa after that publication, so Brazilian data can be up to about a week behind INPI’s own search.
  • Statuses as of the last gazette. Signa reads Brazilian statuses from INPI’s register export and the weekly gazette. A status that changes without a gazette notice shows once INPI publishes one. A small number of records have an unknown status, because INPI’s export leaves the status empty or the gazette has not yet stated a stage.
  • Records first seen in the gazette. A record that first reaches Signa through a gazette notice carries only what that notice states, so it can lack a filing date or mark details until a later notice supplies them.

Mexico (IMPI)

Source: IMPI (datos abiertos, SIGA, MARCIA).
  • Sync time. last_synced_at for MX on List Offices is when Signa last completed a data pull from IMPI. It is Signa’s sync time, not the date IMPI last updated its data.
  • No ownership history. IMPI publishes only the current owner of a record. Mexican records carry no earlier owners or recorded ownership transfers.
  • Statuses as of Signa’s last read. Signa does not yet re-derive Mexican statuses every night. A status that changes without an IMPI filing, such as a registration that lapses at the end of its renewal grace period or an application that lapses because nobody answered IMPI, shows once Signa next reads the record from IMPI.
  • Madrid designations of Mexico follow WIPO’s renewals. IMPI does not record renewals of an international registration made through WIPO, so IMPI’s own record can show a renewed designation as expired. Where WIPO shows the international registration renewed and Mexico still designated within its term, Signa shows the designation as registered, with WIPO’s term end as its expiry date and status.basis computed. Otherwise the designation keeps IMPI’s status.

Planned offices

Additional offices are planned and will be onboarded progressively: DPMA (Germany), BOIP (Benelux), DKPTO (Denmark), PRH (Finland), ISIPO (Iceland), UPRP (Poland), JPO (Japan), KIPO (South Korea), CNIPA (China), DIP (Thailand), IP Vietnam.
Sync frequencies represent the target schedule for production offices. Actual freshness depends on office uptime and data availability. Check last_synced_at on List Offices for when Signa last completed a data pull from each office.

Understanding source_data_date

Every trademark’s detail response carries a provenance object that tells you when the record last changed at the source, alongside the two top-level Signa timestamps: source_data_date moves when the office data for a record changes. Re-reading an unchanged record in a later file or crawl normally leaves it alone, so an older date usually means the record has not changed since, not that Signa stopped checking it. For example, a USPTO record with provenance.source_data_date: "2026-03-20" last changed in the office’s March 20 publication. If US last_synced_at on List Offices is today, Signa completed a US data pull today. That is office-level freshness only: it does not prove this record was re-read or is unchanged, so check the official registry for time-sensitive details. The office timestamp lives on the detail tier at provenance.office_updated_at (search and list rows no longer carry a flat office_updated_at).

Consistency model

Trademark reads come from two sources, and neither is a strong read-after-write guarantee. The difference matters when you read a record soon after an office update was ingested.

Detail endpoints

  • Endpoints: GET /v1/trademarks/{id} and other single-resource fetches
  • Source: the database. Detail reads may be served from a read replica, which can trail the primary briefly.
  • Caching: trademark detail responses carry Cache-Control: private, max-age=300, stale-while-revalidate=60, so a client or proxy that honors it can keep serving a copy up to five minutes old, plus a minute of background revalidation. This cache is the main reason a detail read can trail a write. Revalidate with the ETag in If-None-Match, or skip your cache, when you need the latest state.
  • Use detail reads when you need the current record, for example right after a scheduled sync or a correction.

Search endpoints

  • Endpoints: GET and POST /v1/trademarks (list and search), sent with Cache-Control: private, no-store
  • Source: the search index, which is updated from the database asynchronously
  • Most changes reach search shortly after they reach the database, but an individual record can lag longer, for example after a large batch of updates.
What this means in practice:
  1. When a trademark is updated, the detail endpoint reflects the change first; search follows.
  2. When a search row and the detail record disagree, trust the detail record.
  3. For the typical pattern (search, then fetch detail for the rows you care about), fetch detail without a cached copy if freshness matters, and compare updated_at if you need to know which is newer.

Checking office status

Use the reference data endpoints to check the current sync status of each office. These are the fields to read for “how current is Signa’s data for this office?”:
  • last_synced_at: when Signa last completed a data pull from the office (incremental, full or backfill sync) that processed records. Detail and enrichment runs do not move it.
  • update_cadence: how often Signa refreshes the office (daily, weekly, monthly or on_demand).

Finding recently updated records

Filter by updated_at to find records that changed within a time window:
For the office’s own timeline on a specific mark, use Trademark Events.

Known limitations

Certain offices publish data with a built-in delay. For example, some offices only publish weekly gazette updates, meaning a status change on Monday may not appear in Signa’s data until the following week’s publication.
A full sync captures the current state of each record but may not include all historical events. Some offices only provide current snapshots without event history. Signa preserves all events it observes going forward, but events that occurred before the first sync may be missing.
Not all offices make mark images available through their data feeds. Some require separate image downloads. Image availability is indicated by the has_media field on trademark records.
Most offices provide goods/services descriptions in their local language. Signa stores the original text and language code but does not translate. Language codes are best-effort: WIPO-origin text on Norwegian, Swedish, Swiss or French records can be English under the local language code. Some offices (EUIPO, WIPO) provide multi-language descriptions.