Trademark data status
Every night we check Goalie IP's own daily-refreshed copy of the USPTO trademark register, and our weekly-refreshed copy of Canada's CIPO register, for freshness, completeness, and accuracy. The checks run against the same database that our search, API, and MCP tools use.
Pass All checks passed.
Report generated October 28, 2026 at 8:07 PM UTC.
Latest checks
| Status | Check | Result |
|---|---|---|
| Pass | U.S. data is current | Latest USPTO daily file loaded: 2026-10-27 (loaded 2026-10-28 13:52 UTC), 1 day(s) before today. |
| Pass | No missing U.S. files | Every daily file the USPTO lists (665, from 2025-01-01) is loaded, plus 90 parts of the USPTO's annual backfile (1884 onward). |
| Pass | Daily files match the source | The last 2 daily file(s) were checked against the production database while the source file was on hand: all 152,772 records present and current, and 100 sampled records matched field for field. 8 earlier file(s) predate these checks. |
| Pass | Production matches the verification copy | The production database and the independent verification copy agree for every record in the last 2 daily file(s). |
| Pass | Canadian data is current | Latest CIPO weekly release loaded: 2026-10-28, 0 day(s) before today. |
| Pass | Records match the USPTO's own record | 494 randomly chosen records over the last 2 night(s) were compared with the USPTO's own case record (TSDR): 99.19% matched on every field checked, 0.2% differed only because the USPTO updated the case after our latest daily file, and 0.61% differed otherwise (95% range 0.21–1.77%). Differences by field: owner 3, classes 1. |
| Pass | No gaps in serial-number ranges | No run of more than 100 consecutive missing serial numbers in the 50-series, 98-series, 99-series (USPTO serial numbers are issued in order, so a long run would mean missing records); 50: 173,397 records, 94.64% of the numbers in use; 98: 941,260 records, 97.26% of the numbers in use; 99: 933,272 records, 98.45% of the numbers in use. |
| Pass | Every record matches the verification copy | All 14,386,587 U.S. records were fingerprinted on both the production database and the independent verification copy; they are identical. |
| Info | Register totals | 14,389,751 U.S. applications and registrations (4,637,715 live); 2,194,773 Canadian records. |
| Pass | Fields are populated | Key fields are populated at their usual rates. |
| Info | Records pass consistency rules | 300 record(s) break at least one consistency rule; most reflect the USPTO's own data and are counted rather than altered. |
History
Last 90 days, oldest on the left: 2 passed, 0 needed attention, 0 failed; reports began 2026-10-27.
Accuracy against the USPTO's own record
Every night, 400 records are chosen at random from our production database and compared with the USPTO's case record for the same serial number (TSDR). Fields compared: registration number, filing date, registration date, status, status date, mark text, owner, classes. A difference counts as lag, not error, when the USPTO updated the case after our latest daily file.
| Records compared (2 nights) | 494 |
| Matched on every field | 99.19% |
| Differed only because the USPTO updated the case after our latest file | 0.2% |
| Differed otherwise (95% range) | 0.61% (0.21–1.77%) |
| Field that differed | Records |
|---|---|
| owner | 3 |
| classes | 1 |
Recent daily files, checked record by record
The USPTO publishes a file of changed records every day. Right after each file is loaded, and before the file is discarded, we look up every record in it in our production database. A record is “out of date” if we hold an older version than the file. Then 50 records are picked at random and compared field by field.
| USPTO daily file | Records in file | Missing | Out of date | Sampled fields matched |
|---|---|---|---|---|
apc261027.xml | 88,734 | 0 | 0 | 50 / 50 |
apc261026.xml | 64,038 | 0 | 0 | 50 / 50 |
apc261025.xml | Loaded before per-file checks began | |||
apc261024.xml | Loaded before per-file checks began | |||
apc261023.xml | Loaded before per-file checks began | |||
apc261022.xml | Loaded before per-file checks began | |||
apc261021.xml | Loaded before per-file checks began | |||
apc261020.xml | Loaded before per-file checks began | |||
apc261019.xml | Loaded before per-file checks began | |||
apc261018.xml | Loaded before per-file checks began | |||
The whole register
A full pass over every U.S. record: how often key fields are filled in, and how many records break a consistency rule. Most flagged records reflect the USPTO's own data — we count them rather than alter them, because our copy should match the USPTO's.
| Field | Records with a value | Previous report |
|---|---|---|
| Owner | 92.38% | 92.38% |
| Goods and services | 92.14% | 92.14% |
| Classes | 92.30% | 92.30% |
| Status code | 100.00% | 100.00% |
| Status date | 100.00% | 100.00% |
| Filing date | 91.98% | 91.98% |
| Mark text (design-only marks have none) | 89.52% | 89.52% |
| Consistency rule | Records flagged | Previous report |
|---|---|---|
| Registered with no registration date | 0 | 0 |
| Registration date earlier than filing date | 11 | 11 |
| Status date in the future | 1 | 1 |
| Filing date in the future | 0 | 0 |
| Status code not in the USPTO's published code list | 8 | 8 |
| Madrid (79-series) serial without a Section 66(a) filing basis | 280 | 280 |
Serial-number coverage
The USPTO issues serial numbers in order within each series, so a long run of numbers missing from our copy would mean missing records. Short gaps are normal, because some numbers are never used. Checked weekly, most recently on 2026-10-27.
| Series | Range checked | Records | Numbers in use | Runs of 100+ missing |
|---|---|---|---|---|
| 50 | 50000003–50183227 | 173,397 | 94.64% | 0 |
| 98 | 98000000–98967800 | 941,260 | 97.26% | 0 |
| 99 | 99000001–99948011 | 933,272 | 98.45% | 0 |
Known limitations
- Pending applications carry the placeholder registration number 0000000 until they register.
- Owner names appear as filed with the USPTO, so the same owner can appear in different cases or spellings (for example "3M COMPANY" and "3M Company").
- Each daily USPTO file reflects the previous day's changes, so the newest filings and status changes reach our copy about a day after the USPTO records them.
- Records before 2025 come from the USPTO's annual backfile; their status history is only as complete as the USPTO's own historical data.
- Canadian data is refreshed weekly from CIPO's bulk release, so it can be up to a week behind CIPO.
How the checks work
- Freshness. The date of the latest USPTO daily file we have loaded, compared with today and with the latest file the USPTO has published. The USPTO publishes a file every day, weekends included. Canadian data is compared with CIPO's weekly release.
- No missing files. Every daily file the USPTO lists is matched against our load log, along with every part of the USPTO's annual backfile, which covers records back to 1884. A missing file is downloaded and loaded automatically.
- Independent copies. Each daily file is loaded separately into our production database and into a second, verification copy. The two are compared record by record for each new file. The full-register statistics are computed on the verification copy only when the two agree.
- Accuracy. A random sample of 400 records is compared each night, field by field, with the USPTO's own case record (TSDR). Results are pooled over 30 days and shown with a 95% statistical range.
- Weekly deep checks. Once a week, every U.S. record is fingerprinted on both copies and the two are compared in full, and each serial-number series is scanned for missing runs.
- What these checks are not. They test our copy against the USPTO's bulk files. They are not a live connection to the USPTO, and they don't replace confirming a critical date with the USPTO itself.
The same report is available as JSON at /api/v1/data-status (no API key needed) for your own monitoring. AI assistants connected to Goalie can read it with the get_data_status tool.