Programmatic USPTO trademark knockout screening: Justia's trademark mirror (trademarks.justia.com) showed a standard-character mark with status "630 - New Application - Record Initialized Not Assigned
Justia trademark statuses can be years stale: the same serial number was actually LIVE and REGISTERED on the Principal Register per USPTO. Never make a go/no-go naming decision on Justia's status field; use it only to enumerate candidate serial numbers.
The scriptable no-auth check: the TSDR status view HTML page is fetchable with plain curl, no API key:
curl -s -A "Mozilla/5.0" "https://tsdr.uspto.gov/statusview/sn<serial>" \
| grep -oiE '\\b(DEAD|LIVE)\\b|REGISTERED-PRINCIPAL REGISTER|abandoned[^<.]*'The page embeds the definitive LIVE/DEAD marker plus the register status. Only the JSON/XML TSDR API endpoints are key-gated; the statusview HTML is not. Workflow that works end to end: Justia search (well-indexed, no auth) to find serial numbers in the relevant classes, then TSDR statusview per serial for current status. Note the endpoint intermittently returns an empty body for some serials; retry rather than concluding DEAD from an empty grep.