NordicWatch — Nordic Tax Change Monitor
Pricing
from $0.10 / actor start
NordicWatch — Nordic Tax Change Monitor
Monitors Nordic tax authorities for regulatory changes and delivers relevance-scored alerts via Slack.
NordicWatch monitors Nordic and European tax authorities for substantive regulatory changes — new laws, rate changes, updated guidance, procedure changes, treaty updates, court rulings, and new programs — and delivers relevance-scored alerts to your Slack channel.
Why use NordicWatch?
Tax professionals and businesses operating across Nordic countries and Germany need to know immediately when tax rules change. A new VAT threshold in Finland, an updated transfer pricing guideline in Sweden, a revised withholding tax rate in Norway, or a BMF guidance letter in Germany can have direct financial impact.
Today, staying current requires manually monitoring government websites in different languages, sifting through press releases to find actual regulatory changes. NordicWatch automates this by scraping official tax authority websites, using AI to filter noise from real changes, and scoring each change against your specific interests.
How it works
- Scrapes official tax authority websites for new articles and announcements
- Classifies each article using Claude AI to determine if it's a substantive tax change or noise (press releases, reminders, events)
- Scores confirmed changes against your interest profile for relevance (0.0–1.0)
- Notifies you via Slack for changes above your relevance threshold
Supported countries
| Country | Authority | Source |
|---|---|---|
| Finland | Vero | vero.fi |
| Sweden | Skatteverket | skatteverket.se |
| Norway | Skatteetaten | skatteetaten.no |
| Denmark | Skat | info.skat.dk |
| Iceland | Skatturinn | skatturinn.is |
| Germany | Bundesfinanzministerium | bundesfinanzministerium.de (press releases + BMF-Schreiben) |
Run modes
- Full (default) — Scrapes articles, classifies them with AI, scores against your interest profile, and sends Slack alerts. Requires an Anthropic API key.
- Scrape only — Scrapes articles and pushes raw results to the dataset without any AI processing. No API key needed. Useful for testing or building your own downstream pipeline.
Input configuration
Required
- Anthropic API Key — Your own Anthropic API key. Used for AI-powered change classification and relevance scoring. Required in "full" mode only.
Optional
- Mode —
full(default) orscrape. See Run modes. - Countries — Which countries to monitor. Country codes:
fi,se,no,dk,is,de. Default: all six. - Interest Profile — Define what matters to you:
- Topics: Tax domains to track (e.g. "VAT / Sales Tax", "Corporate Income Tax", "Transfer Pricing")
- Change Types: What kinds of changes (e.g. "rate_change", "law_amendment", "guidance_update")
- Keywords: Additional keywords for filtering
- Description: Free-text description (e.g. "VAT rule changes affecting SaaS companies selling B2B across EU/EEA")
- Relevance Score Threshold — Minimum score (0.0–1.0) to trigger notifications (default: 0.6)
- Slack Webhook URL — Slack incoming webhook for receiving alerts
- Max Articles — Maximum articles to scrape per source (default: 20, max: 100)
Example input
{"anthropicApiKey": "sk-ant-...","countries": ["fi", "se", "no", "dk", "is", "de"],"interestProfile": {"topics": ["VAT / Sales Tax", "Corporate Income Tax"],"changeTypes": ["rate_change", "law_amendment"],"description": "VAT and corporate tax changes affecting companies operating in the Nordics and Germany"},"scoreThreshold": 0.5,"slackWebhookUrl": "https://hooks.slack.com/services/...","maxArticles": 20}
Output
Each run produces a dataset of detected tax changes with:
| Field | Description |
|---|---|
source_country | Country code (e.g. fi, se, no, dk, is, de) |
title | Article title |
change_type | Type of change (e.g. rate_change, law_amendment) |
tax_domains | Affected tax areas |
relevance_score | 0.0–1.0 relevance to your profile |
impact_summary | AI-generated summary of how this change could affect you |
source_url | Link to the original article |
published_date | Publication date |
In scrape-only mode, the dataset contains raw article data (title, body, URL, date, category) without AI-generated fields.
Change types detected
- Law amendment — New or modified legislation
- Rate change — Updated tax rates, thresholds, or brackets
- Guidance update — New or revised official interpretation
- Procedure change — Modified reporting, filing, or payment processes
- Treaty update — Bilateral/multilateral tax treaty change
- Court ruling — Precedent-setting decision affecting practice
- New program — New exemption, deduction, or incentive
Tax domains tracked
VAT / Sales Tax, Corporate Income Tax, Personal Income Tax, Transfer Pricing, Withholding Tax, Excise Duties & Customs, Tax Treaties & International, Reporting & Compliance, Digital Services / E-commerce, Employer Obligations / Payroll, Real Estate & Property Tax.
Scheduling
Set up a schedule on the Apify platform to run NordicWatch automatically (e.g. every 2 hours during business hours). The actor deduplicates across runs using persisted content hashes (up to 10,000 stored), so you'll only be notified about new changes.
Cost estimation
Each run costs Apify platform compute time plus Anthropic API usage. With default settings (20 articles max across 6 countries), expect roughly 20 classification calls and up to 20 scoring calls per run using Claude Sonnet 4.6. Noise filtering in Stage 1 reduces scoring costs by skipping non-change articles.
Limitations
- Article body content is truncated to ~2000 characters for AI processing
- Deduplication is based on article title + URL, not content body — in-place edits to existing articles are not re-detected
- Content is scraped in the language of the source website (Finnish, Swedish, Norwegian, Danish, Icelandic, German); Claude handles multilingual classification