Energy performance diagnostic OCR

This article walks you through the building process of an OCR API that extracts data from energy performance diagnostics using our deep learning engine. It will work for any kind of EPD template.


  1. You’ll need a free account. Sign up and confirm your email to login.
  2. You’ll need at least 20 energy performance diagnostic images or pdfs to train your OCR.

Define your Energy performance diagnostic (DPE) use case

First, we’re going to define what fields we want to extract from your energy performance diagnostic.

Energy performance diagnostic key data extractionEnergy performance diagnostic key data extraction

Energy performance diagnostic key data extraction

  • Validation date: 30/06/2022
  • Annual energy consumption : 43430 KW/h
  • Habitation energy rating : D
  • Address: 12 Basse Rue, 85200 SAINT MARTIN DE FREIGNEAU
  • Annual energy price: 3063€

That’s it for our use case. Feel free to add any other relevant data to fit your requirements.

Deploy your API

Once you have defined the list of fields you want to extract, head over to the platform and press the ‘Create a new API’ button.

You land now on the setup page. Here is the image you can use to set up the API. For instance, my setup is as follows:
Set up your modelSet up your model

Set up your model

Once you’re ready, click on the “next” button. We are going to specify the data types for each of the fields we want our API to extract.

Define your modelDefine your model

Define your model

To move forward, you have two possibilities:

Upload a json config
Copy the following JSON into a file and upload it on the interface

  "problem_type": {
    "classificator": { "features": [], "features_name": [] },
    "selector": {
      "features": [
          "cfg": { "filter": { "convention": "FR" } },
          "handwritten": false,
          "name": "validation_date",
          "public_name": "validation date",
          "semantics": "date"
          "cfg": { "filter": { "is_integer": 1 } },
          "handwritten": false,
          "name": "annual_energy_consumption",
          "public_name": "annual energy consumption",
          "semantics": "amount"
          "cfg": { "filter": { "alpha": -1, "numeric": 0 } },
          "handwritten": false,
          "name": "habitation_energy_rating",
          "public_name": "Habitation energy rating",
          "semantics": "word"
          "cfg": { "filter": { "alpha": -1, "numeric": -1 } },
          "handwritten": false,
          "name": "address",
          "public_name": "address",
          "semantics": "word"
          "cfg": { "filter": { "is_integer": -1 } },
          "handwritten": false,
          "name": "annual_energy_price",
          "public_name": "annual energy price",
          "semantics": "amount"
      "features_name": [

Or build your data model manually
Using the interface, add up to your data model each field.

In our example, here are the different field configurations we used:

  • Validation date: type Date in the European default format
  • Annual energy consumption: type Number/Integer
  • Habitation energy rating: type string contains only alpha characters
  • Address: type string with both numeric and alpha characters.
  • Annual energy price: Number type

Once you’re done setting up your data model, press the Start training your model button at the bottom of the screen.

Ready to train modelReady to train model

Ready to train model

Train your custom energy performance diagnostic OCR API

Train your modelTrain your model

Train your model

You’re all set!

Now is the time to train your DPE deep learning model in the Training section of our API.

You should get your first model trained in a few hours and you will be soon able to use your custom OCR API for parsing energy performance diagnostic in your application.

To get more information about the training phase, please refer to the Getting Started tutorial. If you have any question regarding your use case, feel free to reach out on our chat!

Updated 5 months ago

Energy performance diagnostic OCR

Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.