---
title: "Building CargoPacifico: Trade Intelligence from Public Customs Data"
date: 2026-07-13
updated: 2026-07-13
tags: [CargoPacifico, trade intelligence, customs data, entity resolution, DuckDB, Splink, Next.js, Supabase]
canonical: https://www.fernandogreve.com/blog/2026-07-13-building-cargopacifico
---
# Building CargoPacifico: Trade Intelligence from Public Customs Data

*Updated: 2026-07-13*

> **TL;DR:** CargoPacifico is a B2B trade intelligence platform that aggregates public customs data from 14+ countries into a single shipment-level search engine: 47.2M shipments, 2.1M companies, and 5,312 HS codes, searchable by company, product, or HS code. It is built with Next.js, React, Supabase, Python, DuckDB, Splink, and Stripe.

## The problem

Importers, exporters, freight forwarders, customs brokers, sourcing teams, and trade consultants all depend on the same question: who is shipping what, from where, and to whom. The raw answer exists in public customs records, but it is scattered across national sources with heterogeneous formats, entity names, and update cycles.

## What CargoPacifico does

[CargoPacifico](/projects/cargopacifico) aggregates public customs data from more than 14 countries into a unified, shipment-level search engine. The public site indexes **47.2 million shipments** and **2.1 million companies** across **5,312 HS codes**, searchable by company, product, or HS code.

The hardest technical problem is entity resolution: the same exporter appears under different spellings, suffixes, and identifiers across sources. CargoPacifico resolves entities across heterogeneous sources so that a company profile consolidates its real activity.

## The stack

- **Next.js + React** for the product and public site
- **Supabase** for the application backend
- **Python + DuckDB** for the data pipelines
- **Splink** for probabilistic entity resolution
- **Stripe** for billing, with Free, Pro, Business, and Enterprise tiers

## Where it fits

CargoPacifico is one of several production platforms I run — alongside [EunacomIA](/projects/eunacomia), [TrazaGrow](/projects/trazagrow), and [VotoPublico](/projects/votopublico) — that share the same thesis: public data becomes valuable when it is cleaned, linked, and made searchable.

You can try the live product at [cargopacifico.vercel.app](https://cargopacifico.vercel.app/).

*Section: SaaS*
*Tags: CargoPacifico, trade intelligence, customs data, entity resolution, DuckDB, Splink, Next.js, Supabase*
