← Back to blog

European Insider Trading Data: The Options Compared (2026)

Filip Stanczyk · · 5 min read

European insider trading data comes from one rule, applied by about 30 different registers. Under the Market Abuse Regulation (EU) 596/2014, Article 19, every person discharging managerial responsibilities (PDMR) at a listed company reports their own trades in its shares within three business days. The UK kept the same rule after Brexit, and Norway and Iceland apply it through the EEA Agreement.

In the US, every Form 4 lands in one SEC database. Europe has no EDGAR: each country has its own register, format and language, and some registers delete their history. The source you choose decides what you can see.

This guide compares four kinds of source: the national registers, web screeners, US-focused APIs, and Duceus. We run Duceus, so we have given every option the same structure, ours included, and listed our gaps in full.

Short answer

You need Best fit
One country, occasional lookups That country's register, free
Browsing, charts and alerts without code A web screener such as InsiderScreener
US insiders (SEC Form 4) or Congress trades Quiver Quantitative
Greece InsiderScreener (Duceus doesn't cover it)
European filings in one schema, by API or webhook Duceus

Side by side

National registers InsiderScreener Quiver Quantitative Duceus
Markets One each 12 European markets listed, plus Norway United States 18 European countries
Access CSV, JSON, HTML or PDF, per register Web app, REST API Web app, REST API REST API, webhooks
One schema across countries No Yes Not applicable Yes
Major shareholdings Separate registers Not stated No 7 countries
Price Free Paid plans Paid plans Free plan (4 countries, 14 days delayed), paid plans

Figures for the other providers come from their own websites, checked in October 2026. Check them again before you buy.

Option 1: the national registers

What it is. Every EU and EEA regulator publishes PDMR notifications, and the UK does the same under UK MAR. Each register is built differently:

Register What you get
Sweden (Finansinspektionen) A search with a CSV export
Netherlands (AFM) A bulk CSV or XML export
France (AMF BDIF) A JSON API behind the public search
Spain (CNMV) One PDF per filing
Germany (BaFin) HTML pages, kept for 12 months only
Switzerland (SIX) JSON, with the insider's name never published
Denmark, Ireland No public register; filings appear as company announcements

Strengths. Free, authoritative, and the first place a filing appears. Every other source on this list is built from them.

Limits. These are what break a do-it-yourself scraper:

  • Data disappears. BaFin keeps a rolling 12 months. A German filing older than that is gone from the register for good.
  • Search results are capped without saying so. The Belgian FSMA search returned 50 results for a window that held 697.
  • Filters don't mean what they say. On the Nasdaq Baltic news API, the market filter is silently ignored for the Baltic markets and returns the Nordic feed instead.
  • Units vary. BaFin's "volume" field is an amount of money, not a share count.
  • Filings contradict themselves. Of 2,283 BaFin filings in one window, 16 state totals that don't match their own trade lines.
  • Filings get withdrawn. French filings can be cancelled and replaced ("annule et remplace"), and Swedish ones marked as superseded. A scraper that only adds rows double-counts.

Choose them if you follow one or two countries, or need to check a single filing at its source.

Option 2: web screeners (InsiderScreener)

What it is. A web screener for insider trades. InsiderScreener's Europe page lists 12 markets: France, Germany, Switzerland, the UK, Belgium, the Netherlands, Spain, Italy, Greece, Sweden, Finland and Denmark. Its FAQ adds Norway. It also covers the US and other markets.

Strengths. Quick to browse, with tables, filters, charts and alerts, and no code needed. It covers Greece. A REST API is sold separately from the web subscription.

Limits. API plans differ in credits, request rate and history depth. How filings are normalized (what counts as a buy, how withdrawn filings are handled) is not documented on the site.

Choose it if you want to browse and chart insider activity rather than build on it.

Option 3: US-focused APIs (Quiver Quantitative)

What it is. Quiver Quantitative covers US data: SEC Form 4 insider filings, Congress trades and other alternative datasets, with an API and a Python package.

Strengths. Broad US alternative data in one API.

Limits. We found no European coverage.

Choose it if your universe is US stocks. For European PDMR filings it isn't an option.

Option 4: Duceus

What it is. An API over the European registers. Each filing is normalized into one schema: issuer (with LEI and ISIN), person, role, transaction type, volume, price and currency. Webhooks push each new filing. Insider dealings come from 18 countries, major shareholding notifications from 7.

Strengths.

  • German filings stay available after BaFin deletes them.
  • A filing whose stated total contradicts its trade lines is not stored.
  • Withdrawn filings drop out of every response.
  • The filing's own wording (transaction_type_raw) stays beside the normalized type.
  • Insider dealings and major shareholdings are linked to the same issuers.

Limits.

  • Europe only. No US, no Asia.
  • Partial countries. The UK, Iceland, Italy and Lithuania are polled, but a share of filings can't be parsed yet. Italy has current filings only.
  • Missing countries. Portugal, Greece, Malta and Ireland aren't covered yet.
  • Short German history. It starts in September 2025, because BaFin had already deleted everything older.
  • Fewer countries for holdings than for insider dealings.
  • Swiss insiders are anonymous. SIX never publishes the name, so only the role is shown.
  • No currency conversion. Values stay in the filing's currency.
  • No raw share prices. Only derived figures (premium to the close, returns after the deal).

Choose it if you write code against European filings from several countries. The coverage page shows each country's status and history depth.

How to choose

  1. List the countries you need. If it's one, start with its register. If it includes Greece or markets outside Europe, Duceus won't cover them.
  2. Decide between browsing and building. A web screener suits browsing. Code that reacts to new filings needs an API or webhooks.
  3. Check history depth per country, not the provider's headline. Registers that purge set the limit for every provider that started late.
  4. Test with real filings. Pull the last month for your countries from each candidate and compare it with the register.