DEV Community

Cover image for The VTEX public API is the same for 3,760 retailers — but no one aggregated it. Until now.
Ricardo Cuba
Ricardo Cuba

Posted on

The VTEX public API is the same for 3,760 retailers — but no one aggregated it. Until now.

VTEX runs e-commerce for Nike, Carrefour, Samsung, Motorola, and 3,760+ other brands. Every one exposes the same search and catalog API endpoints. Same JSON schema. Same pagination rules.

For years, if you wanted to query products across retailers, you had to scrape or make separate API calls per store. There was no aggregation layer.

VTEX powers e-commerce for Nike, Carrefour, Samsung, and 3,760+ brands.
All share the same public API — but no one had built the aggregation layer for programmatic access. Until now.

pip install cli-market and your terminal becomes a commerce engine across 67 countries.

So I built one.
gifsicle --optimize=3 --lossy=80 demo.gif -o demo-small.gif

Technical details:

  • Single Python connector that maps VTEX's public search/catalog/checkout endpoints
  • Each retailer = one config line: {domain, country, currency, line}
  • SQLite price snapshots for historical data
  • Rich terminal UI + REST API + MCP server (12 tools)
  • JSON output saves ~85% context window tokens vs raw HTML

Everything is indexed and queryable cross-retailer. Search "milk" and get results from Carrefour Brazil, Sainsbury's UK, Wong Peru, in one response.

GitHub: https://github.com/Treevu-ai/cli-market-world
Live: https://cli-market.dev

Stack: Python, FastAPI, Rich, SQLite, Next.js. MIT license.

Curious what the community thinks about e-commerce APIs being still optimized for browsers instead of programmatic access.

Top comments (0)