API documentation

What is WineEngine?

WineEngine searches a mobile photo of a wine bottle against your reference collection of wine labels to identify the wine. It also identifies the vintage of the wine if it is visible in the mobile photo.

WineEngine works very well with non-wine beverages (beer, spirits etc.).


  • Excellent recognition rate even with low-quality mobile images.
  • Accurate vintage detection. Outperforms OCR-based attempts to read vintages and handles blurry and poorly lit images.
  • Automatically identifies and focuses on label regions in images. This allows recognition of poorly framed images with a lot of background showing. This works for both the mobile images and collection images, removing the need to manually crop images to only the labels.
  • Fast and scalable. Searches in real time even for multi-million image label collections.

Here are a few examples of mobile images that all successfully match the reference image.

Query image Best matching reference
Vintage: 2015
Vintage: 2014
Vintage: 2013
Vintage: 2013
Vintage: 2011
Vintage: 2011
Vintage: 2013
Vintage: 2013
Vintage: Not found
Vintage: 2013
Vintage: Not found
Vintage: 2013

How does it work?

WineEngine combines our state-of-the-art image recognition algorithms with neural networks to provide fast and reliable recognition of wine, beer and spirit labels. We use image recognition to provide a better user experience and more reliable results than approaches based on barcodes, Optical Character Recognition or QR codes.

The process of setting up your API begins with adding your reference label images into your WineEngine collection. The API automatically generates a unique fingerprint for each label image as you add them. These fingerprints are stored in a private database for your account. You can continue to add new label images to your collection as your needs grow and they will be made immediately searchable.

To search for a label you send a photo of the bottle to your API. WineEngine then generates a fingerprint for the bottle label and instantly compares it against the fingerprints of your entire collection of labels.

To improve the quality of the matches provided we use a neural network that automates the process of carefully cropping your photos. The neural network locates the label in the photo and masks the rest of the image, removing irrelevant content from the photo to enable more robust label matching.

Search results are returned quickly and provide filenames for all matching images from your collection. Wine label searches also return the vintage year detected from the query image and matching images from your collection.

WineEngine API

The WineEngine API is delivered over HTTP or HTTPS as a REST API with responses delivered in JSON or XML format.

The API is completely independent of your operating system, database system or development language. WineEngine libraries are available for C#, Java, PHP and Python. For all other major languages and platforms, libraries and language bindings to support REST and JSON are available.

Please get in touch to find out more about how WineEngine’s robust, fast and scalable label recognition can work for your needs.