The central source of truth for all product data
Web App for Migros
Awards
2015 Best of Swiss Web Silver ā€œOnline Marketingā€
Expertises
Technologies
  • PHP/Symfony
  • Elasticsearch
  • RabbitMQ
  • Kafka
  • Varnishcache

We built M-API, that gathers product data from various sources into one central database and provides a real-time API to query product data. The API handles millions of requests per day and processes tens of thousands of product updates. As an internal API, it is not publicly available.

Key figures

1
Central REST API
12
Years (1st commit in 2013)
41
Different Data Sources
61
Contributors (Liip and client)
7'598
Merge Requests
34'023
Git Commits

One API for All Product Data

The M-API import system connects to ~40 internal business applications to gather product data for about 1 million products. It then provides that data to many applications that need product information.

A custom made API able to handle several million requests a day

Blazingly Fast Under High Load

The data in M-API is used directly by both public websites and the mobile app, as well as synchronised into other systems like web shops. We optimised the system for speed, and thanks to advanced caching, we can deliver up-to-date information even with long product lists with quick response times. Even under heavy load, with 50,000+ requests per minute, we maintain response times under 50 milliseconds.

How we built a High-Load API

Actively Developed for Over a Decade

The first iteration of the application went online after just 6 months. Since then, we have continously deployed new features to production several times a month. We believe that vendor lock-in is not an acceptable business strategy. After 8 years of development, Migros started building up an internal development team to continue maintaining and evolving the M-API.

Here is how we developed the M-API for more than 10 years

Are you interested in our services?

Letā€™s talk about your project!