Polls Korea's official KIPRIS Plus Open API for a watchlist of applicants/marks/applications and emits events on new filings and status changes. Extends this operator's USPTO/EPO patent-dispute monitor into a jurisdiction neither source touches. Pay-per-event: billed for what changed.
Timeout-budget fix: watchlistApplicants/watchlistApplicationNumbers have
no size cap, and every watchlist entry is walked strictly sequentially, each
with its own independent retry budget. Real worst case per entry at this
Actor's own DEFAULT settings (maxRetries=4, requestTimeoutSecs=30s) is
~165s under a real KIPRIS Plus outage - so ~22 watchlist entries (an entirely
realistic size) already exceed this Actor's own live-confirmed
defaultRunOptions.timeoutSecs=3600s, at just the defaults; at
input_schema.json's own allowed ceiling (maxRetries=8,
requestTimeoutSecs=120s) a single entry's own worst case is ~1155s.
src/main.ts now tracks the run's real remaining time budget via
Actor.getEnv().timeoutAt and stops starting new watchlist entries (or, mid-
entry, new items) once there isn't enough of it left to safely attempt more
within the entry's own worst-case retry window (computed from the actual
configured maxRetries/requestTimeoutSecs, via a new
estimateWorstCaseFetchMs() in src/http.ts) - exiting cleanly instead of
being hard-killed by the platform, and deferring only the unattempted tail of
the watchlist to the next scheduled run (dataset items and delta state were
already persisted per-item, so nothing already processed this run is lost).
maxItemsPerWatchlistEntry (previously unbounded) now has a maximum: 1000
in input_schema.json as a documented ceiling on a single entry's own item
count. 5 new unit tests for the worst-case-timing math; all 23 automated
tests, tsc --noEmit, npm run build, and npm run lint pass clean.
1.1.0 - 2026-09-11
Pricing model change (Option B, requested explicitly): byoKiprisServiceKey
was already required input from the first build - this pass makes that the
Actor's permanent, deliberate business model rather than a stopgap, and
drops the per-event price accordingly since this Actor now carries no
KIPRIS Plus license cost of its own to recoup. result $0.15 -> $0.02;
result-summary $0.05 -> $0.008 - now in line with this fleet's other
delta-monitor rates. No code changes; input_schema.json's
byoKiprisServiceKey description, the top-level input description, and
README were updated to state the BYOK requirement as a design decision, not
a limitation. Not yet pushed to Apify Console, so this pricing has not yet
been entered into Console's monetization setup.
1.0.0 - 2026-09-11
Initial build. Watchlist-driven delta monitor for Korean patent/utility-model
filings via KIPRIS Plus's real, live-confirmed bibliographic search endpoint,
with status normalized from raw text into a FILED/PUBLISHED/REGISTERED/
REJECTED/WITHDRAWN/UNKNOWN vocabulary. Per-watchlist-entry cold-start
baselining, SHA-256 dual-fingerprint delta engine, Pay-Per-Event billing
($0.15 result / $0.05 result-summary) sized to recoup this Actor's real,
quantified KIPRIS Plus license cost ($1,783/yr, independently confirmed live).
Disclosed limitation, not hidden: KIPRIS Plus is a paid, registered
service this build does not have a key for. The transport layer and XML
error envelope were verified live against the real server (including a
genuine SERVICE_KEY_IS_NOT_REGISTERED_ERROR response); the success-path
item field names are modeled on a real but unofficial third-party reference
implementation, not independently confirmed. A test-caught, fixed-before-
shipping defect would have made every successful response misclassify as a
fatal error (fast-xml-parser coercing resultCode="00" into the number
0) - the most consequential bug found in this fleet-expansion batch so
far. Full account in AGENTS.md. 18 automated tests, clean build/lint. Not
yet pushed to Apify Console.