Canada Gazette Regulatory Monitor
Pricing
from $0.25 / actor start
Canada Gazette Regulatory Monitor
Monitor official Canada Gazette Part I/II regulatory changes and consultation deadlines as structured, webhook-ready data from public Government of Canada sources.
Pricing
from $0.25 / actor start
Rating
0.0
(0)
Developer
Peter Drucker
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Canada Gazette Regulatory Change & Consultation Deadline Monitor
An Apify Actor that turns official Canada Gazette publications into structured, filterable, webhook-ready JSON. It monitors proposed regulations and notices in Part I, enacted regulations and statutory instruments in Part II, and the exact deadlines listed on the open-consultations page.
The Actor uses only public Government of Canada sources. It does not log in, submit consultation comments, bypass access controls, or collect private data.
Official sources
| Source | Exact endpoint | Use |
|---|---|---|
| Canada Gazette Part I RSS | https://www.gazette.gc.ca/rss/p1-eng.xml | Discover weekly Part I issues containing notices and proposed regulations |
| Canada Gazette Part II RSS | https://www.gazette.gc.ca/rss/p2-eng.xml | Discover Part II issues containing enacted regulations and statutory instruments |
| Open consultations | https://gazette.gc.ca/consult/consult-eng.html | Read current proposed-regulation consultation periods and closing timestamps |
The Canada Gazette's official RSS instructions identify the Part I and Part II feeds. The open-consultations page is the authoritative deadline source used by this Actor.
What each record contains
- Stable
id, canonical Government of CanadasourceUrl, Gazette part, publication date, and source list. classification:proposed,final, ornotice.- Department/agency, statutory authority, SOR/SI registration number, and a concise source summary when available.
- Normalized ISO 8601
deadline,deadlineKind, consultation length, anddaysRemaining. - Case-insensitive keyword matches.
- Deterministic
priorityScoreandpriorityband. changeType, first/last seen timestamps, and a deterministic fingerprint.- A
webhookenvelope with an event name, deduplication key, timestamp, and compact payload.
Example input
{"keywords": ["bank", "privacy", "money laundering"],"keywordMode": "any","parts": ["I", "II"],"includeConsultations": true,"includeNotices": true,"onlyNewOrChanged": true,"maxIssuesPerPart": 2,"maxItems": 250}
Leave keywords empty to include every record. Set onlyNewOrChanged to false for a complete point-in-time export. The default named key-value store preserves fingerprints across Actor runs; set a different stateKey to create an independent monitoring stream.
Example output record
{"id": "gazette:5e9f…","title": "Consumer-Driven Banking Regulations","classification": "proposed","part": "I","publicationDate": "2026-06-27","deadline": "2026-08-26T23:59:00-04:00","deadlineKind": "consultation","daysRemaining": 14,"consultationDays": 60,"department": "Department of Finance Canada","statutoryAuthority": "Consumer-Driven Banking Act","sourceUrl": "https://gazette.gc.ca/rp-pr/p1/2026/2026-06-27/html/reg3-eng.html","matchedKeywords": ["bank"],"priorityScore": 72,"priority": "high","changeType": "new","webhook": {"eventType": "canada_gazette.record.new","deduplicationKey": "gazette:5e9f…:<fingerprint>","occurredAt": "2026-08-12T14:00:00.000Z","payload": {"title": "Consumer-Driven Banking Regulations"}}}
Priority scoring
The score is deterministic and capped from 0 to 100:
- Base: final regulation
50, proposed regulation40, notice20. - Deadline:
+35within 3 days,+30within 7,+22within 14,+14within 30,+7within 60, or-10when expired. - Keyword relevance:
+5per matched keyword, capped at+20. - Change signal:
+10for changed,+5for new,0for unchanged. - Bands: urgent
80–100, high60–79, medium40–59, low0–39.
Because all rules are explicit, the same record, reference time, keyword set, and state produce the same score.
Stateful new/changed detection
Each record gets a stable ID from its canonical source URL and a SHA-256 fingerprint of its substantive fields and normalized source content. A persistent named Apify key-value store records the previous fingerprint:
- No prior ID:
new - Same ID, different fingerprint:
changed - Same ID, same fingerprint:
unchanged
onlyNewOrChanged: true suppresses unchanged dataset items. The state is still updated for all discovered records. Stored entries not observed for two years are pruned, and the state is capped at 10,000 records.
Webhooks and schedules
Schedule the Actor weekly after the Part I publication window and every second Wednesday after Part II is published, or run it daily for deadline monitoring. Each dataset item contains a self-contained webhook event envelope. Apify webhooks, the API, Make, Zapier, or another consumer can pass the dataset item downstream and deduplicate on webhook.deduplicationKey.
Local development
Requirements: Node.js 22 or newer and pnpm.
pnpm installpnpm checkpnpm start:dev
Local Apify storage is written under storage/ and ignored by Git. Run pnpm test:live to verify that the three official endpoints remain reachable and parseable.
Deployment
The .actor directory contains the current Actor definition, multi-stage Node.js 24 Dockerfile, input schema, output schema, dataset schema, changelog, and Store listing draft. Deploy with the Apify CLI after authenticating:
apify loginapify push
The Actor is published in Apify Store without creator monetization; normal Apify platform usage may apply. No tax/KYC or payout setup was required for publication.
Reliability notes
- HTTP requests use a descriptive user agent, bounded timeouts, and limited retries.
- RSS is only the discovery layer; the Actor parses each official issue index and its linked records.
- Part I grouped pages are identified by their official anchors; Part II items use their individual SOR/SI pages.
- Open consultations are merged into matching Part I records by canonical URL, so a proposal appears once with its deadline attached.
- Fixture tests mirror the actual Government of Canada structures and a separate live smoke test checks the current endpoints.
License
MIT