Skip to content
Lebtaglebtag

Custom RPA and web scraping

A whole category of work stays manual only because the system on the other side has no API: downloading files from a government portal, checking a public registry, extracting data from a supplier that offers nothing but a screen.

RPA and web scraping solve exactly that — a bot does what a person would do in the browser, except it doesn't get tired, doesn't mistype, and doesn't forget that today is the day it runs.

When it makes sense

  • A portal with no API

    A government body, bank, supplier or marketplace that offers only a web interface and no integration.

  • Repetitive collection at scale

    Checking hundreds of records a day, one by one, to assemble a base.

  • Recurring document downloads

    Invoices, statements or certificates someone downloads by hand every week.

  • Change monitoring

    Prices, availability, tenders or registry status that need close tracking.

How we do it

  1. 01

    We check what's allowed before writing code

    Terms of use, robots.txt and rate limits. A bot that ignores these takes down the other side's service, burns the IP and turns into a legal problem. Where an official API exists, we use the API.

  2. 02

    We build the collector fault-tolerant

    Portals go down, change layout and hang without warning. The bot has to retry, respect pacing and record what it managed to get — a failure becomes a logged gap, not an error that halts everything.

  3. 03

    We normalize the data on the way out

    Collecting is half the job; the other half is delivering it in a consistent format, with correct types and duplicates resolved, ready for your system to consume.

  4. 04

    We keep the evidence

    Screenshot, original file and collection timestamp. In any process that needs proof — tax, credit, audit — data without evidence is worthless.

What you get

  • A bot in production, scheduled and monitored
  • Normalized data in the format your system consumes
  • Collection evidence stored for audit
  • Failure handling, retries and alerts
  • Documentation of what the bot does and where it can break

Where we've applied it

In Hubfiscal, the system pulls invoices straight from the tax authority with the digital certificate staying on the firm's own machine. In the credit pre-analysis engine, collection across seven separate sources — which used to consume almost a full analyst day — now runs on its own, with screenshots and files attached to the report.

Questions about RPA and scraping

Is web scraping legal?

It depends on what is collected and how. Public data, collected at a pace that doesn't harm the service and within the terms of use, is common practice. Personal data falls under privacy law and needs a legal basis. Circumventing authentication or blocking is a different matter, and we don't do it. That analysis is the first step of the project, before any code.

What if the site changes its layout?

It will — it's a question of when. That's why we build with resilient selectors and breakage alerts: when the collector stops finding what it expected, you're notified rather than discovering weeks later that the base is stale. Maintenance is part of any bot's life cycle.

Do you need my passwords?

When the portal requires a login, yes — which is exactly why architecture matters. In Hubfiscal the firm's digital certificate never reaches the cloud: it stays on the client's machine and only the result of the operation travels. That pattern applies to any authenticated collection.

Other services