Euronext collects 2,800 financial reports in 4.2 hours, not 210

Two thousand eight hundred reports, collected the way a person would, fifty at a time

Industry
Financial Services
Solution
Automation

Two thousand eight hundred reports, collected the way a person would, fifty at a time

Industry
Financial Services
Solution
Automation

Euronext collects 2,800 financial reportsin 4.2 hours, not 210

Client
Euronext
Industry
Financial Services
Solution
Automation
Technology
Gen AI
Team
4 DareData engineers
4.2 hoursfor all 2,800 reports with fifty agents in parallel, down from 210
85–90%autonomous success rate, varying with website quality
~$0.30per report in model cost

Euronext needed 2,800 annual and half-year reports from 1,400 company websites, each one found, downloaded and checked by an analyst in about four and a half minutes, one after another. An AI agent now follows the same path a person does on sites it has never seen, checks the downloaded PDF by vision, and runs as fifty instances at once. The agent is not faster than a person per report. Running in parallel, it collects the full set in 4.2 hours instead of 210.

With DareData, Euronext:

  • Cuts 210 hours of collection to 4.2 hours with fifty agents in parallel
  • Scales to 2.1 hours with a hundred agents
  • Completes 85–90% of reports autonomously, depending on website quality
  • Costs about $0.30 per report in model usage
  • Navigates investor relations sites without prior knowledge of their layout
  • Validates every PDF by vision against company, report type and fiscal year

The challenge

Fourteen hundred websites, one report at a time

Euronext collects annual and half-year reports from 1,400 companies, 2,800 reports in all. Each one is a small act of judgement: find the investor relations section, find the right fiscal year, and check it is the right document before saving it.

Slow and entirely sequential

An experienced analyst takes about four and a half minutes per report, and the work happens one report at a time. Nobody downloads 1,400 companies' reports in a single sitting.

No two websites alike

Investor relations pages are JavaScript-heavy, put consent popups in the way, hide reports behind dynamic dropdowns and come in different languages. Each one is structured differently.

Scraping rules that break

Deterministic scraping does not survive fourteen hundred websites. Any rule written for one site breaks on the next, so whatever does the work has to reason its way through a page it has never seen.

The solution

One analyst's path, fifty agents at once

The solution is an AI web agent that does exactly what an analyst does. It receives a company name, a website URL and instructions, then navigates to the site, deals with the cookie banner, finds the investor relations section, locates the report for the target fiscal year in whatever language the site uses, and downloads the PDF.

The agent is driven by a reasoning model rather than scraping rules. It has no prior knowledge of any site’s layout, and works its way through menus, dropdowns and dynamic pages the way a person would. A faster, cheaper model was tested along the way and proved unreliable on complex sites and multi-step navigation, so the agent runs on the more capable one.

Every download is checked before it is accepted. The PDF is read with vision capabilities and compared against the expected company, report type and fiscal year, and only a result above a confidence threshold is saved. Documents and task state are persisted with tracking, so each report can be followed from request to result.

Speed comes from parallelism, not from the agent itself. Tasks are submitted asynchronously, run in the background and polled for results, with fifty agents working at the same time. Predictable actions such as screenshots run outside the model’s loop, which keeps token costs down.

The first version ran on a self-assembled browser stack, and keeping it stable took constant work. Moving to a managed browser service, with retries and error handling built in, removed weeks of deployment setup and most of the ongoing maintenance.

How it works

From data to decisions, in 4 steps.

  1. 01Replicate the human pathThe agent takes a name and URL, accepts cookies, finds investor relations, locates the year and downloads the report.
  2. 02Validate with visionEach downloaded document is checked against company, report type and fiscal year, above a confidence threshold.
  3. 03Parallelise, don't optimiseFifty concurrent agents run asynchronously, with tasks submitted, run in the background and results polled.
  4. 04Choose the managed pathA managed browser service replaced a self-assembled browser stack, removing weeks of deployment and ongoing maintenance.

The impact

Parallel, not faster

  • 4.2 hoursfor all 2,800 reports with fifty agents in parallel, down from 210
  • 85–90%autonomous success rate, varying with website quality
  • ~$0.30per report in model cost

The agent takes about the same four and a half minutes per report as an analyst. The difference is that fifty of them run at the same time, with no supervision. The full collection of 2,800 reports takes 4.2 hours instead of 210, and the same setup scales to 2.1 hours with a hundred agents.

The agent completes 85–90% of reports on its own, and the rate depends on the quality of the website. The model cost is about $0.30 per report, against a manual cost estimated in the tens of thousands a year.

Because nobody watches the agent work, it checks its own output: every downloaded PDF is validated against the company, the report type and the fiscal year before it is accepted.

The team

The people who built it.

  • José CoutinhoSenior Data Scientist & Project Manager
  • Adriano CampinhoSenior Data Scientist
  • Luís NoronhaSenior Data Scientist & Project Manager
  • Miguel FernandesData Scientist

Your AI story, next.

Tell us what you want AI to do for your business. We design, build and run it with your teams, and measure it like the stories above.

  • 01Use cases chosen for value, not hype
  • 02Systems built into your stack and data
  • 03Run, monitored and improved after go-live