API de productos argentinos: ez-catalog vs Open Food Facts
Comparación detallada de fuentes de datos de productos para Argentina. Cobertura, calidad, latencia y costo. Por qué construimos ez-catalog en lugar de usar OFF directo.
El problema de los datos de productos en Argentina
Cualquier desarrollador que haya construido un POS, comparador de precios o e-commerce en Argentina conoce este dolor: no existe una base de datos pública limpia de productos argentinos. Hay opciones, pero todas tienen problemas.
Open Food Facts: la fuente "obvia"
Open Food Facts (OFF) es un proyecto colaborativo open source con datos de productos alimenticios. Es global y la sección argentina tiene cobertura decente. Pero al usar OFF directamente nos topamos con tres problemas estructurales:
1. Inconsistencias de normalización
Un mismo producto aparece como "Coca-Cola 2.25L", "coca cola 2,25l", "COCA COLA 2.25 LITROS", "Coca-Cola® 2.25L" — son entradas diferentes en la base. Si querés contarlas como uno solo, tenés que escribir el normalizador vos.
2. Marcas y empresas mezcladas
"Arcor S.A.", "Arcor", "ARCOR ARGENTINA SRL", "arcor" — la misma empresa con cuatro identidades distintas. Para reportes y reglas de negocio (descuentos por marca, comisiones por proveedor), esto es inaceptable.
3. Latencia + rate limits
OFF está alojado en infraestructura europea con uso compartido. Latencia desde AR: 250-400ms por request. Sin caché ni CDN.
Cómo lo resuelve ez-catalog
ez-catalog usa OFF como semilla, pero le aplica una capa de normalización + deduplicación + caché:
Pipeline de normalización
- NFKD Unicode normalization — quita acentos para búsqueda case-/accent-insensitive.
- Eliminación de tokens corporativos — "S.A.", "SRL", "ARGENTINA", "(R)", etc. se filtran de los nombres de marca.
- Extracción de unidades estructurada — "2.25L" se separa en { value: 2.25, unit: 'L' } en lugar de quedar mezclado en el nombre.
- Dedup manual con confirmación — admin endpoints para fusionar marcas y familias con auditoría.
API tier'd con rate limits
ez-catalog ofrece 4 tiers:
- Free — 50 req/min, lectura. Suficiente para POS pequeño o prototipo.
- Basic — 200 req/min, lectura + escritura limitada.
- Pro — 1000 req/min, todo desbloqueado.
- Admin — sin límite, endpoints de merge.
Caché Redis
Toda lectura cachea 1h. Latencia P99 desde AR: ~50ms. 10x más rápido que pegarle a OFF directo.
Comparación lado a lado
| Métrica | Open Food Facts | ez-catalog |
|---|---|---|
| Cobertura productos AR | ~80k | ~80k (curados) |
| Marcas deduplicadas | No | Sí |
| Búsqueda accent-insensitive | Parcial | Completa |
| Latencia P99 desde AR | 250-400ms | ~50ms |
| Rate limit free tier | ~10/min | 50/min |
| Datos estructurados (unidad/empaque) | Crudos | Extraídos |
| Costo | Gratis | Free hasta 50/min, paid scale |
¿Cuándo conviene cada una?
Usá OFF directo si: hacés un proyecto académico, no te importa la latencia, podés mantener tu propio normalizador, no necesitás datos curados.
Usá ez-catalog si: estás construyendo producto en Argentina (POS, e-commerce, comparador), querés latencia baja, necesitás marcas/familias consistentes, valorás tu tiempo de desarrollo.
Empezá con el plan Free, sin tarjeta: Obtener API key gratis →