Switzerland SHAB UID Portfolio Event Monitor avatar

Switzerland SHAB UID Portfolio Event Monitor

Pricing

from $20.00 / 1,000 shab event delivereds

Go to Apify Store
Switzerland SHAB UID Portfolio Event Monitor

Switzerland SHAB UID Portfolio Event Monitor

Watch a list of Swiss CHE UIDs and emit typed SHAB / official gazette events — new registrations, modifications, deletions, bankruptcies — from Amtsblattportal. Not a Zefix directory dump and not a Moneyhouse scrape.

Pricing

from $20.00 / 1,000 shab event delivereds

Rating

0.0

(0)

Developer

Daniel Witney

Daniel Witney

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

7 hours ago

Last modified

Share

Watch a book of Swiss CHE UIDs and receive typed SHAB / SOGC gazette events the day Amtsblattportal publishes new registrations, modifications, deletions, or bankruptcy notices for those companies. Not a Zefix directory dump. Not a Moneyhouse / local.ch HTML scrape. Not paid register-monitoring seats.

Value proposition

  • UID watchlist × daily official SHAB ingest → SHAB_NEW (HR01), SHAB_MODIFICATION (HR02), SHAB_DELETION (HR03), SHAB_BANKRUPTCY (KK*).
  • Official Amtsblattportal public REST API (amtsblattportal.ch, tenant shab). Fair-use HTTP pacing. No Moneyhouse / CRIF / paid Zefix reseller key. Optional Zefix PublicREST (free EHRA Basic Auth) is documented for future enrich — not required for the gazette path.
  • Pay only for unique delivered acts on watched UIDs. Quiet days ≈ $0. Durable KVS checkpoint + publication_id / event_uid dedupe. Events carry official gazette provenance.

PRODUCTION USE (required for real monitoring)

Store default ≠ product. Schema defaults use sourceMode=fixture so Apify Store daily auto-tests leave a non-empty health dataset without calling Amtsblattportal. That fixture path only writes a non-billable RUN_STATUS / FIXTURE_HEALTH row. It is not SHAB monitoring.

For production monitoring you must:

  1. Set sourceMode = live
  2. Provide uidNumbers (CHE-XXX.XXX.XXX) and optionally watchlistPairs as UID|Company name for display
  3. Schedule runs on gazette days (or use lookbackDays for catch-up) with fair-use requestPaceMs

Official references:

Matching note

Amtsblattportal keyword search is full-text. This Actor always fetches the publication detail XML and keeps only publications whose structured company UID matches the watchlist UID (normalized). Mentions of a UID inside another company's text do not generate events.

Data limitations

  • Coverage follows SHAB electronic publication lag (usually same gazette day for new acts). Honest cadence = daily gazette days.
  • Large books: list + detail HTTP per UID per window — raise maxRunSeconds / pace carefully; quiet books stay cheap.
  • First-seen acts are delivered when they match; duplicates are deduped via event_uid / publication_id.
  • We cite Amtsblattportal / SHAB / SOGC as the data origin. This Actor is not affiliated with or endorsed by SECO, EHRA, Moneyhouse, or CRIF.
  • Signatory / natural-person fields are not harvested as structured outputs; gazette narrative may still contain statutory person text as published.

Apify Store daily auto-test / default input

FieldDefault
uidNumbersdemo UIDs
eventTypesnew / modification / deletion / bankruptcy
sourceModefixture
emitFixtureDemoEventsfalse
maxRunSeconds55
maxEvents500

On that path the Actor SUCCEEDS quickly, pushes exactly one RUN_STATUS / FIXTURE_HEALTH row (billable: false), and does not charge shab-event-delivered.

Input (summary)

FieldNotes
uidNumbersCHE UID list (preferred)
watchlistPairsOptional UID|Company name for display
eventTypesTyped filters
publicationDate / lookbackDaysLive scan window
sourceModefixture (default) or live
emitFixtureDemoEventsDefault false
maxRunSeconds / maxEventsBudgets
resumeFromCheckpointDefault true
requestPaceMsFair-use delay (default 300)
useApifyProxyDefault true on platform live runs — Amtsblattportal often times out from raw datacenter IPs

Production example

{
"uidNumbers": ["CHE-101.400.176", "CHE-114.961.343"],
"watchlistPairs": [
"CHE-101.400.176|DEMO HELVETIA AG",
"CHE-114.961.343|DEMO EDEL SYSTEMS GMBH"
],
"eventTypes": [
"SHAB_NEW",
"SHAB_MODIFICATION",
"SHAB_DELETION",
"SHAB_BANKRUPTCY"
],
"sourceMode": "live",
"lookbackDays": 3,
"maxRunSeconds": 120,
"requestPaceMs": 300,
"resumeFromCheckpoint": true
}

Output

Portfolio events (billable under PPE)

Typed rows include: uid, company_name, matched_name, event_type, event_subtype, publication_id, sub_rubric, publication_date, canton, act_excerpt, evidence, summary, source_url, event_uid, billable: true.

RUN_STATUS (never billed)

Every successful run pushes one health row (FIXTURE_HEALTH | MONITOR_IDLE | CATCHUP_COMPLETE | HEALTH_OK).

Pricing

Pay-per-event: shab-event-delivered at $0.02 per delivered unique portfolio act ($20 / 1,000). Single tier (see docs/monetization.md and ADR 0010). Health / duplicate / fixture rows are never charged.

Local development

cd actors/switzerland-shab-uid-portfolio-monitor
npm install
npm test
npm run build
npm run start:dev

SHAB / SOGC and Amtsblattportal are official public-sector gazette sources; commercial reuse of published commercial-register notices is established under Swiss practice (SHABV; OGD principles). Prefer official HTTP APIs. Do not use this Actor against Moneyhouse / CRIF HTML as the primary source.