Client Logistics operator
Industry Foreign trade & containers
Services Scraping · Dashboard · Automation
Container tracking without paying per lookup
In-house scrapers for 12 shipping lines and a unified dashboard that replaced paid ocean-tracking services.
0
carriers scraped
~0
containers per month
0
port terminals integrated
0 h
refresh frequency
The problem
A foreign-trade operator moves around 100 containers a month spread across more than eight international carriers. Each has its own tracking site and none of them talk to each other — following the cargo meant checking site by site, by hand.
Commercial tracking services charge per container tracked, and they don't cross-check the data against the Buenos Aires port terminals, where the discrepancies that actually cost money show up.
The solution
01An in-house scraper per carrier
One adapter per shipping line, each with the right strategy: from direct JSON API calls to headless Playwright browsers for sites protected by Akamai or DataDome. Modular architecture: adding a new carrier means writing one more adapter.
02A unified dashboard
A FastAPI + PostgreSQL panel with Google login and roles (admin sees everything, each client sees their own): container list with vessel, ETA and latest event, a real-time vessel map, and CSV/PDF export.
03Cross-checks with the port terminals
Carrier ETAs are cross-checked against the three terminals at the port of Buenos Aires, to catch discrepancies before they turn into demurrage costs.
04Autonomous operation with quality control
Automatic refresh every 4-6 hours, a watchdog monitoring failures, scheduled cleanup of old data, and a "Report tracking error" button: the client flags suspicious data and an AI agent investigates it against the carrier's original source.

Results
- 12 carriers tracked automatically, with no per-container fees.
- ~100 containers per month monitored with no manual work.
- 3 port terminals integrated to validate ETAs.
- Automatic refresh every 4-6 hours with a health watchdog.
- Client reports are investigated by AI agents against the original source.