# Getting started with 2050 Materials

## Accessing the platform

You can create a free account on the 2050 Materials platform [here](https://app.2050-materials.com/accounts/login/). \
If you would like to have access to our paid project tools, please contact us through [this form](https://app.2050-materials.com/contact/).

## Tools & Data Methodology

Transparent documentation on all our data processing and tools under [this section](/methodology-documentation).&#x20;

## Accessing our API

The 2050 Materials API is the most complete dataset of climate data around materials, products and processes. It allows enterprises and developers to build sustainability tools or embed this critical data in their existing workflows, outsourcing the monumental task of collection, structuring and updating the ever growing datasets.&#x20;

Read more below, and [see what our clients are already building with this API](https://2050-materials.com/blog/?_sft_category=case-studies).&#x20;

* [API Documentation](/readme/using-the-2050-materials-api)
* [Swagger Docs](https://app.2050-materials.com/developer/documentation-ui/)

## Read more about why we're building this

We talk, and write, a lot about the AEC industry and how it could become more sustainable. Follow our [blog](https://2050-materials.com/blog) or our [LinkedIn page](https://www.linkedin.com/company/2050-materials) to read more.&#x20;

p.s. Reach out to us with ideas!


# 2050 Materials Platform

**Library**

Our [digital library](https://app.2050-materials.com/) has resources for you to make informed decisions. On the platform, users can **explore** products of choice, **compare** alternative materials to see where they stand in terms of their carbon footprint, net water use, and circularity indicators throughout the various phases of the life cycle. The search can be done specifically in 3 ways:

### **Searching by product categorisation:**

The 2050 Materials platform classifies products according to the [RICS NRM system](https://www.rics.org/globalassets/rics-website/media/upholding-professional-standards/sector-standards/construction/nrm-2-detailed-measurement-for-building-works-1st-edition-rics.pdf). This allows users to search by Building Applications (BA), and then filter down to the specific product or material they are looking for by applying Product Type (PT), Material Type (MT) or brand filters.

Searching by Building Application can either be done by clicking on the icons of the landing page (see figure xx), or by typing the Building Application name in the search bar (see figure xy). The results can then be filtered further and sorted based on factors such as their carbon impact, amount of recycled content, and level of recyclability.

<figure><img src="https://1393917768-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNcedlsikwS23wkNZpf4u%2Fuploads%2FfQ7s5NP5ZWdlOiMcOEhQ%2Fimage.png?alt=media&amp;token=eb42fe49-0f95-42a6-8cab-407eb90bd2c9" alt=""><figcaption></figcaption></figure>

Additionally, users can filter their search results using the filters

<figure><img src="https://1393917768-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNcedlsikwS23wkNZpf4u%2Fuploads%2FLINT71agq8cHdzNTDt8u%2Fimage.png?alt=media&amp;token=b2136aac-356c-42c1-8530-f9542f58822f" alt=""><figcaption></figcaption></figure>

### Filtering results

On the product search results page, you can use the filters on the left side of the page to narrow your search by various criteria, such as product type, material, company, building type, fire performance, manufacturing location, certificates, and price range. These filters can help you find products that more closely match your specific needs and preferences.

<figure><img src="https://1393917768-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNcedlsikwS23wkNZpf4u%2Fuploads%2F0cMQZf2mGonHWH9WS9Dg%2Fimage.png?alt=media&amp;token=7e4ed54a-d1d0-455e-83f0-aaf2dfb7ed73" alt=""><figcaption></figcaption></figure>

By picking your preferred settings from the dropdown menu and clicking the "update parameters" button, you can apply multiple filters at once. One must select the "Clear all filters" tab in order to reset filters and start anew.

<figure><img src="https://1393917768-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNcedlsikwS23wkNZpf4u%2Fuploads%2FiEhaSPozOp9mAahbs8Zf%2Fimage.png?alt=media&amp;token=292ec823-5f16-4fa2-bcbd-70ad079cddc8" alt=""><figcaption></figcaption></figure>

Alternatively, one can search for specific products on the platform by using the dropdown menus at the top of the page to filter by Product Type, Material Type, Manufacturer, or Brand. These menus will allow you to select from a range of options and view a list of available products, materials, and manufacturers that meet your criteria. Simply click on the dropdown menu you wish to use and make your selection to see the options available.

<figure><img src="https://1393917768-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNcedlsikwS23wkNZpf4u%2Fuploads%2FgXwbnHRPPcmGoMYHd34I%2Fimage.png?alt=media&amp;token=41cc1f2f-6fd0-468c-a1eb-5d75f9157ac9" alt=""><figcaption></figcaption></figure>

#### **Searching by environmental certifications**

Similarly, using the dropdown menu at the top of the page, you can search by certification type. Clicking on the specific certification type will direct you to the list of products with the selected certification.

<figure><img src="https://1393917768-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNcedlsikwS23wkNZpf4u%2Fuploads%2F2sFa8dVUcz6ltWl79nY1%2FScreenshot%202024-01-29%20at%203.46.22%20PM.png?alt=media&amp;token=27df00c3-c992-4cd2-98cd-f89f211c4ced" alt=""><figcaption></figcaption></figure>

#### Searching by keywords

If you wish to look for specific products, materials, certifications or manufacturer, you can make a search directly through the search bar at the top of the page by typing in a corresponding text. It will show you the corresponding search results as shown below:

<figure><img src="https://1393917768-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNcedlsikwS23wkNZpf4u%2Fuploads%2F71kfstJ1BMgRVdylxhUN%2Fimage.png?alt=media&amp;token=b2b7a1cb-6bbd-4e75-b06e-a018246b5d73" alt=""><figcaption></figcaption></figure>

#### **Product Specification & Detail**

Click on the "see specs" hover over tab on each product to view the specifications and other information.

<figure><img src="https://1393917768-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNcedlsikwS23wkNZpf4u%2Fuploads%2FVrcrlUhUOgZRmOfIbFR8%2Fimage.png?alt=media&amp;token=8783e493-c3b3-40a4-9672-3520eefab0bf" alt=""><figcaption></figcaption></figure>

This will take you to the specifications sheet, which contains all the information about the product or material, including material facts such as carbon footprint broken down into life cycle stages, net water use, ozone depletion potential, and circularity indicators such as recycled content, recyclable content, re-use potential, and energy recovery possibility.

On this page, you may also read the product description, technical specs, estimated pricing range, and certifications related to the product or materials. The **manufacturer’s details** and contact information are also provided here and one can use this information to reach out to the manufacturer to source the product or the material.

<figure><img src="https://1393917768-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNcedlsikwS23wkNZpf4u%2Fuploads%2FsLXojdYdpqG0YrzVeC09%2Fimage.png?alt=media&amp;token=f22f70a5-9233-4d14-9730-8471cf60c1ce" alt=""><figcaption></figcaption></figure>

#### Comparing products

On the platform, compare functionality is available to assist users in making decisions that are more sustainable in terms of their use of materials. You can add a product or material to your compare basket if it piques your interest.

**This can be done in two ways:**

1. The "compare" hover over tab on each product can be clicked in order to compare and doing so automatically adds the chosen item to the comparison basket.\
   ![](https://1393917768-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNcedlsikwS23wkNZpf4u%2Fuploads%2FPwA6UhH3zMOdH2zx7hZH%2Fimage.png?alt=media\&token=4e38a2a0-2a74-47e0-a6d7-e4d18e2e68c2)
2. You can also add a product to the comparison basket by clicking on the “ see specs” ( hover tab) of any product which directs you to the product specification page. On the product specification page, click on the compare/remove button to add the product to the compare basket.\
   ![](https://1393917768-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNcedlsikwS23wkNZpf4u%2Fuploads%2FkZkoHLc0sxdZX3IIIeqm%2Fimage.png?alt=media\&token=a987182b-de7d-4980-905f-6644142d5519)

The compare basket may hold up to 5 items or materials at a time. You can always return to the compare results page by clicking on the top-of-the-page comparison items that you've chosen to compare.

<figure><img src="https://1393917768-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNcedlsikwS23wkNZpf4u%2Fuploads%2F0YX0qIcCpvGRWj3DkrUS%2Fimage.png?alt=media&amp;token=ba62b3b6-904f-45d4-851d-f699f03ba062" alt=""><figcaption></figcaption></figure>

The chosen items/materials can be compared on the compare page based on their material facts, technical specifications, transparency data (which shows the product's social impact), certifications, and any available datasheets. To share this information with your team and clients, one may also save it to a PDF file.

<figure><img src="https://1393917768-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNcedlsikwS23wkNZpf4u%2Fuploads%2Fi6BPNlztdxc60aYnS48H%2Fimage.png?alt=media&amp;token=928e16ec-f559-4136-9f44-4d39038f07a5" alt=""><figcaption></figcaption></figure>

#### **Glossary/Dictionary of Product Metrics**

The specs sheet and particularly the Material facts’ section provides the user with comprehensive information on a product’s environmental impact through different indicators and metrics including:

* Declared unit and amount the life cycle assessment was carried on
* Carbon footprint broken down into different life-cycle stages
* Circularity metrics derived from LCA data
* Processing water use
* Ozone depletion potential

<figure><img src="https://1393917768-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNcedlsikwS23wkNZpf4u%2Fuploads%2FOLjeIKSO0r1L7e1XH19m%2FScreenshot%202023-03-02%20at%201.41.02%20PM.png?alt=media&amp;token=1bd669ea-af27-44be-b7b9-dc5f2ef3de13" alt="" width="375"><figcaption></figcaption></figure>

The "**declared unit**" or "functional unit" of a product is the unit used to measure and calculate the product's environmental impact. This unit is usually expressed in units including Kg, m, m2, m3 and per piece of the product, and is used as a standard for comparing the environmental impact of different products.

The **carbon footprint** of a product is a measure of the greenhouse gas emissions associated with all stages of its life cycle, including manufacturing, transportation, installation, use, maintenance, and disposal. It is expressed in units of carbon dioxide equivalent and is calculated to help understand and compare the environmental impact of different products. The carbon footprint takes into account emissions from all stages of the product's life, from its manufacture to transport to site, on-site installation, use and maintenance to its end of life.

**Circularity indicators** are measures that help to evaluate the potential for reuse, recycling, and recovery of a product. These indicators include recycled content, recyclable content, reuse potential, and energy recovery potential. They provide information about the proportion of a product that is made from virgin materials or that requires the use of non-renewable energy, and can be used to compare the environmental impact of different products.

**Water use** indicates the net freshwater use for the cradle to gate life cycle stages of the product.

The cradle to grave **life cycle stages** taken for each product include raw material extraction (A1), transport to manufacturing location (A2), manufacturing (A3) stages of environmental impact, waste, and resource use. Environmental impact of installation stage (A5), use stage (B1-B5) and end of life stages (C1, C3,C4) of the product are also taken into account here.

Transport to site (A4), Transport -end of life (C2) stages are excluded from our calculations and assessment due to lack of accuracy of data.

#### **Material Facts & Expiry dates**

The material facts’ section provides a holistic view of the environmental impact of a product, and we try to make it easier for the users to explore and compare products in our library and make informed decisions with ease.

The material facts section of a document will always include data that is linked to a specific certificate, which will be identified as the "data source" at the top of the section. If the certificate expires, or the data source is not mentioned, it will be marked as such for the user's awareness.

<figure><img src="https://1393917768-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNcedlsikwS23wkNZpf4u%2Fuploads%2FQBxglnmsxNjtqz8EyWEj%2Fimage.png?alt=media&amp;token=a01d6a85-c771-435e-b0fd-105655ebaad2" alt=""><figcaption></figcaption></figure>


# Using our LCA Tools

## Tools

### Embodied Carbon Optimiser

Check out our Embodied Carbon Optimiser tool if you want to optimise your project to achieve climate targets and get normalised data per person and per year.

**How to access it:**

Click "Tools" and then choose "Embodied carbon optimiser" from the dropdown to get the Embodied Carbon Optimiser tool.

<figure><img src="https://1393917768-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNcedlsikwS23wkNZpf4u%2Fuploads%2Faq1RhybPX6HcNAwha0Gh%2Fimage.png?alt=media&amp;token=82349d35-8fc6-4187-9e72-b5e1538bd385" alt=""><figcaption></figcaption></figure>

By doing so, you will be directed to the DOT selection page where you may choose the type of building you want to optimise. By clicking on the options of your choice, you can choose between the Commercial and Residential building types as well as the Fit-Out, High-Rise, Low-Rise, and High-Rise and Low-Rise options, respectively. After making your choice, pick "generate" from the menu in the top right corner of the page. You will then be directed to the DOT configuration page.

<figure><img src="https://1393917768-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNcedlsikwS23wkNZpf4u%2Fuploads%2Fa0F5M3XVThg6Lj08x7gJ%2Fimage.png?alt=media&amp;token=704fcb59-a2c9-428e-9fe9-3be047dde408" alt=""><figcaption></figcaption></figure>

You can make your material selection on the DOT configuration page by clicking the dropdowns next to the filters on the left.  The Climate result summary per m2 in the center of the page provides you with an impact analysis of the selections that you have made. It includes carbon footprint, water footprint for (A1-A3) life cycle stages, contribution of the building and materials selected to global warming and carbon improvement from average. To learn more about these indicators, hover over the “?” on each of these indicators. The thermometer in the center represents Carbon footprint of the materials selected and the building in relation to how much the building contributes to global warming.

<figure><img src="https://1393917768-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNcedlsikwS23wkNZpf4u%2Fuploads%2Fj0RpnLHxOerkKlhxRl2L%2Fimage.png?alt=media&amp;token=a45c6c93-e7cc-4913-9d81-3a345400665f" alt=""><figcaption></figcaption></figure>

To adjust all these elements and reach your sustainability and climate goals, choose more sustainable options from the filter (on the left).

You can view and evaluate the impact of each product/material choice below this information.

<figure><img src="https://1393917768-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNcedlsikwS23wkNZpf4u%2Fuploads%2FW7CqFUv03e7qv5mupL5K%2Fimage.png?alt=media&amp;token=0b30bd1a-6d0b-4238-aa86-d173e82f5305" alt=""><figcaption></figcaption></figure>

You can enter the details of the building you're developing in the second part of the page and receive an impact report as a result. The carbon and water footprint of your building as well as its normalised per-person and yearly use are also included in the building-specific impact report. Embodied carbon offset data along with a percentage of the project value is also provided. You can fiddle with each of these indicators to optimise and achieve your desired targets.

<figure><img src="https://1393917768-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNcedlsikwS23wkNZpf4u%2Fuploads%2F4fctKUUj5GTKAUBktuMN%2Fimage.png?alt=media&amp;token=4ea2872c-99cf-4334-808b-3816a0c42f04" alt=""><figcaption></figcaption></figure>

Hovering your cursor over the "?" icon will display more information about each impact indicator. In order to share your configurations with your team and clients and to more thoroughly assess the effects of the materials you have chosen, you can also export a one-page overview of your configurations.

## Projects tool

The Project tool on our platform helps you gauge the impact of your design. One can also create multiple design configurations for the same project to compare and analyse their impact!

Here, we’ll walk you through the process of selecting materials and specifying products along with measuring the impact of your design with the help of the dashboard:

Start by selecting "My projects" from the dropdown menu after selecting the Tools section in the top right corner of the platform:

<figure><img src="https://1393917768-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNcedlsikwS23wkNZpf4u%2Fuploads%2FJMFmBGIR57cUKaUROY5n%2Fimage.png?alt=media&amp;token=a8dfbc64-406b-472e-8fe6-0800406f747d" alt=""><figcaption></figcaption></figure>

You will then be directed to the projects page, where you can click on the “create new” tab to create projects of your choice. This section will ask you for specifics of the project. Click the save tab to continue after entering the project details.

<figure><img src="https://1393917768-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNcedlsikwS23wkNZpf4u%2Fuploads%2FvUC2UstJI0iKU4KkCgn4%2Fimage.png?alt=media&amp;token=33c71056-d86b-46fe-93eb-8facb7b01e2e" alt=""><figcaption></figcaption></figure>

### Selecting Materials for your project

To create a project, you can select materials for different Building Applications (BAs) in your project. For example, you can choose materials for the substructure, floor finishes, and frame. To do this, a list of materials will be presented in a dropdown menu for each BA you want to include. For example, you can select materials for the substructure by selecting from the list in the dropdown menu for that BA. Then, you can repeat the process for the other BAs you want to include in your project, such as floor finishes and frame as seen here:

<figure><img src="https://1393917768-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNcedlsikwS23wkNZpf4u%2Fuploads%2FmKQQJUcppYNXVAyytZOZ%2Fimage.png?alt=media&amp;token=8fb5a609-5d3c-44e1-bb3f-3f41b8ad6568" alt=""><figcaption></figcaption></figure>

After you have chosen materials for the various building applications, you can create a configuration with your selected materials by clicking the "create configuration" tab. If you want to start over, you can use the "clear configuration" tab to clear the current configuration and create a new one. You can also add more materials, save the configuration, and delete it using the available tabs.

<figure><img src="https://1393917768-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNcedlsikwS23wkNZpf4u%2Fuploads%2FekxqMzByzUIn6UrY4XAK%2Fimage.png?alt=media&amp;token=9f9dc2f6-202f-4056-9233-fde758d68129" alt=""><figcaption></figcaption></figure>

The projects tool allows you to create multiple configurations for the same project so you can compare the impacts and select the one that best meets your targets and goals. To do this, under the same project, you can create a new configuration by choosing materials and products for the building applications you want to include. Once you have made your selections, you can save the configuration under a different name than the previous configurations. Then, you can specify products for each material you have chosen. The dashboard section enables you to analyse the impact of different configurations, as well as the impact of the materials and products selected for each configuration (as described in the steps below).

### Specifying products for your project

Click on the configuration tab, select the configuration you’d like to specify products for. To specify products for each building application and material already selected, click on the "search product" tab.

<figure><img src="https://1393917768-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNcedlsikwS23wkNZpf4u%2Fuploads%2FU0uSEPqpDKhzBra18hlQ%2Fimage.png?alt=media&amp;token=e11ba2c5-f64f-41b5-a8f8-42a52bbfd6de" alt=""><figcaption></figcaption></figure>

This will bring you to the products results page, which displays a list of products that match the specification for your building application and material type. You can choose a product from this list. If you are interested in a specific product, click the "view specs hover over" tab and then click the "add to project" tab at the top right of the specification page to add it to the specific configuration you are working on within the project.

<figure><img src="https://1393917768-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNcedlsikwS23wkNZpf4u%2Fuploads%2FvOuljLSfYLwBrMIYvm81%2Fimage.png?alt=media&amp;token=325579fd-9df1-40f4-98d1-1d31aadad4e6" alt=""><figcaption></figcaption></figure>

You can then add this product to the specific project and configuration of your choice with the prefilled dropdown that is shown.

![Screenshot 2023-03-02 at 1.47.46 PM.png](https://s3-us-west-2.amazonaws.com/secure.notion-static.com/273033af-29bd-4d40-8558-77a091236731/Screenshot_2023-03-02_at_1.47.46_PM.png)

Once the product has been added to your project, click the back button to return to the project you were working on. Similar to this, you can choose and specify other products for the different building applications under the selected configuration.

### Dashboard & Results

The dashboard offers a comprehensive view of the impact of the configuration and project that you created. Depending on whether your project has an impact that fulfills your goals, you can make adjustments.

<figure><img src="https://1393917768-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNcedlsikwS23wkNZpf4u%2Fuploads%2F0zzV3bsRxF4Byfeh9LFn%2Fimage.png?alt=media&amp;token=a46a914a-660b-4fb9-b2db-e8ae467ff11f" alt=""><figcaption></figcaption></figure>

By selecting the "Available configuration" dropdown, you can see the impact of the products and materials chosen for the project under the different configurations that you have created.

<figure><img src="https://1393917768-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNcedlsikwS23wkNZpf4u%2Fuploads%2FIiwQ8pvMSRypd3DZnoud%2Fimage.png?alt=media&amp;token=039dfbaf-90bd-42c1-a0ec-9dd7858afbc6" alt=""><figcaption></figcaption></figure>

The dashboard page offers an overview of the total carbon footprint, net water use, circularity indices of all the life cycle stages of the products that have been included in the configuration/project. The dashboard also provides impact breakdown according to the different Building Applications, inputs on the top 5 materials/products with the highest Carbon contribution in the selected configuration along with a graphical representation of the Carbon breakdown of different life cycle stages of the selected products in the configuration.

To see, compare and analyse the impact of different configurations that you have created, you can select that configuration under the “available configuration” dropdown. Also, and within each configuration you can compare and analyse the impact of the different materials and products selected by selecting the Configuration (products) or Configuration (Materials). Once you have made the comparisons, you can select the one that meets your targets best.

<figure><img src="https://1393917768-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNcedlsikwS23wkNZpf4u%2Fuploads%2Fw6IRXm6sN5jV1OaPZ3DL%2Fimage.png?alt=media&amp;token=c9a37d10-644c-446f-b534-7eb5d69d0989" alt=""><figcaption></figcaption></figure>

You can share this information with your team and clients, by selecting the “Export PDF” tab and convert it to a PDF.

<figure><img src="https://1393917768-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNcedlsikwS23wkNZpf4u%2Fuploads%2Fc6pUPJB0dudYCy2v3x7X%2Fimage.png?alt=media&amp;token=4c17ff67-138b-4514-a6b4-09107507e280" alt=""><figcaption></figcaption></figure>

Hovering the cursor over the "?" bubble will reveal more information about each dashboard component.


# Whole Life Carbon Assessment Methodology

### Overview

The 2050 Materials *Projects* tool calculates the embodied carbon of a building or project across its life cycle. Our methodology aligns with **RICS&#x20;*****Whole Life Carbon Assessment for the Built Environment*****, 2nd edition (RICS WLCA V2)** and the underlying **EN 15978** framework. This document describes the calculations performed, the inputs we use, and the assumptions made where the standard leaves a methodological choice to the assessor.

The aim is twofold: to make our results comparable with assessments produced under RICS V2, and to make the assumptions transparent so that you can reproduce or challenge any number in the report.

***

### 1. Scope and standards

| Item                   | Position                                                                                                    |
| ---------------------- | ----------------------------------------------------------------------------------------------------------- |
| Primary standard       | RICS *Whole Life Carbon Assessment for the Built Environment*, 2nd edition                                  |
| Underlying framework   | EN 15978 (and EN 15804 at product level)                                                                    |
| Units                  | kg CO₂e (carbon), with full GWP-total reporting; biogenic, LULUC, and other VIA categories shown separately |
| Reference study period | The project's design life (default **60 years** if not set)                                                 |
| Functional unit        | The whole project, with per-element reporting in the project's chosen units                                 |

**In scope (embodied carbon, modules A–C):**

* **A1–A3** Product stage (raw materials, transport to factory, manufacturing)
* **A4** Transport to site
* **A5** Construction / installation
* **B1–B5** Use stage (use, maintenance, repair, replacement, refurbishment)
* **C1–C4** End-of-life stage (deconstruction, transport, waste processing, disposal)

**Reported separately (not summed into the embodied total):**

* **Module D** Benefits and loads beyond the system boundary (e.g. recycling credits)

**Out of scope:**

* **B6** Operational energy
* **B7** Operational water

B6 and B7 sit outside the embodied scope reported by the headline figure. Where an EPD aggregates B1–B7 into a single value, we read the B1–B5 modules individually so that operational impacts cannot leak into embodied carbon.

***

### 2. Inputs the tool needs

| Input                                  | Source                                 | Notes                                                                         |
| -------------------------------------- | -------------------------------------- | ----------------------------------------------------------------------------- |
| Element list                           | User-entered material configuration    | Each row carries a quantity and a unit                                        |
| Project life expectancy                | User-entered on the project            | Defaults to 60 years if not specified                                         |
| Project location                       | User-entered (lat / lng)               | Used for A4 distance calculations when products have a manufacturing location |
| Include transport flag                 | Per-project toggle                     | Controls whether A4 and C2 are computed; otherwise both are zero              |
| Product or material assignment per row | EPD product, generic material, or both | See data hierarchy below                                                      |

***

### 3. Data hierarchy: EPD-first, generic fallback

For every element row, the tool computes results in up to three views:

1. **Product view** — uses the assigned EPD product's published values.
2. **Material view** — uses generic material averages from our internal database (industry averages by material type and region).
3. **Product-first view** — uses the EPD where available; falls back to generic material data when no EPD is assigned. This is the default headline view.

This mirrors the RICS WLCA V2 guidance to use specific (verified) data where available, with conservative generic data as a fallback. The dashboard makes the data source per row visible so you can see how much of your total is EPD-backed versus modelled from averages.

***

### 4. How each life-cycle stage is calculated

#### 4.1 A1–A3 — Product stage

Per element:

```
A1–A3 = quantity × (per-unit A1–A3 factor)
```

The per-unit factor comes from the EPD (product view) or the generic material database (material view). Where the EPD's declared unit differs from the project's unit, the tool converts using the product's declared mass / area / volume properties (e.g. m³ → m² via thickness, m² → kg via grammage, m³ → kg via density).

Individual A1, A2, A3 modules are reported when the underlying EPD publishes them; otherwise the grouped A1–A3 figure is shown.

#### 4.2 A4 — Transport to site

A4 is only included when the project has transport emissions enabled.

For each element with mass-based units (kg, m², m³), A4 is computed from first principles:

```
A4 = transported_mass × distance × DEFRA_factor
```

* **Transported mass** — quantity in kg (kg directly, m² × grammage, m³ × density).
* **Distance** — haversine distance between the product's manufacturing location and the project site, when both are known. **Default haul distance is 100 km** when a location is missing.
* **DEFRA factor** — `0.000164760348584` kg CO₂e per kg·km, taken from the UK Government / DEFRA conversion factors for HGV Rigid > 7.5–17 t (average load).

For elements declared in non-mass units (piece, m, unit, etc.) — for example luminaires — the tool falls back to the EPD's declared per-unit A4 value multiplied by quantity, so that the EPD's A4 contribution is not silently dropped.

#### 4.3 A5 — Construction and installation

```
A5 = quantity × (per-unit A5 factor)
```

Site activities, installation losses, and construction waste are taken from the EPD's declared A5 value. Where the EPD does not publish A5, A5 is zero for that element.

#### 4.4 B1–B3, B5 — Use, maintenance, repair, refurbishment

```
B1–B3 + B5 = quantity × (per-unit B1–B3 + B5 factor)
```

These stages are taken from the EPD's published use-stage data, excluding replacement (B4), which is modelled at project level — see below.

#### 4.5 B4 — Replacement (RICS V2 modelling)

**Replacement is modelled at project level, not lifted from the EPD.** When an EPD declares a B4 value, it is suppressed and replaced by the project's replacement bundle. This ensures that the replacement count is consistent with *your* building life rather than the assumed reference service life baked into the EPD.

For each element:

```
replacement_count = max(0, ⌈ project_life / product_life ⌉ − 1)
```

We use **ceiling**, not floor: a partial replacement period still triggers a replacement event, in line with conservative RICS V2 practice.

The B4 carbon for that element is then:

```
B4 = replacement_count × (A1–A3 + A4 + A5 + C1–C4 + C2) per unit × quantity
```

In other words, each replacement re-incurs the full embodied cost of producing, delivering, installing, and disposing of one unit of the product, *minus* the B-stage costs (which the original product still carries).

**Where this differs from a "lifespan ratio" approach.** Some tools handle short-lived products by inflating A1–A5 and C1–C4 by a uniform factor (e.g. ×3 for a 20-year product in a 60-year building). Under RICS V2, upfront carbon (A1–A5) must reflect the *initial* installation only — not subsequent replacements — because designers and procurement teams take decisions on the basis of upfront carbon. The total life-cycle figure is the same; what differs is the stage allocation. We follow the RICS V2 stage allocation: A1–A5 stays at 1× initial install, and replacements are reported in B4.

#### 4.6 C1–C4 — End of life

```
C1–C4 = quantity × (per-unit C1–C4 factor)
```

C1, C3, and C4 come from the EPD's published end-of-life data. **C2 (transport at end of life)** is computed by the tool using a default disposal haul of 50 km × the DEFRA factor, and is folded into the C1–C4 group total. Individual C-stage modules are reported when the EPD publishes them.

#### 4.7 Module D — Benefits beyond system boundary

Module D is computed where the EPD publishes it (e.g. recycling credits, energy recovery) and is **reported separately**. It is intentionally excluded from the headline embodied total, in line with EN 15978 and RICS V2 practice, so that benefits beyond the building's system boundary do not net off against the carbon actually emitted to deliver the project.

***

### 5. The headline number

The whole-life embodied carbon reported on the dashboard is:

```
Total = A1–A3 + A4 + A5 + B1–B5 + C1–C4
       (where B1–B5 includes the project's B4 replacement bundle,
        and C1–C4 includes the C2 disposal-transport contribution)
```

Module D is shown alongside but **not added** to this total.

***

### 6. Reporting outputs

Every project produces:

* **A dashboard** with the headline whole-life total and a per-stage breakdown (grouped A1–A3, A4, A5, B1–B5, C1–C4, plus individual modules where the underlying data is detailed enough).
* **An Excel export** with one row per element × stage, showing quantities, units, the data source (EPD or generic), and the contribution of each module to the project total. The Excel export is the source of truth for any downstream reporting.
* **An impact matrix** covering global warming potential plus additional VIA categories where available (e.g. biogenic carbon, land-use change, non-hazardous waste, fossil resource depletion).

***

### 7. Assumptions and limitations

* **Generic materials** are industry averages and carry higher uncertainty than EPD-backed values. The tool flags how much of your total is generic vs. EPD-backed.
* **Transport distance defaults** to 100 km when a manufacturing location is missing. If precise sourcing matters for your assessment, set the manufacturing location on each product.
* **Mode of transport** is assumed to be HGV (DEFRA Rigid > 7.5–17 t average load). Sea, rail, and air freight are not currently modelled separately.
* **A5 site activities** rely on the EPD's published A5 value. Project-level construction waste percentages are not yet modelled separately on top of EPD A5.
* **Operational carbon (B6, B7)** is out of scope; pair this assessment with an operational energy model for a full whole-life view.
* **Module D** is informative only and is not netted against embodied totals.

***

### 8. Reproducibility

For any number in the dashboard, the per-element Excel export shows the inputs (quantity, unit, EPD or generic source, stage factors, distance) and the resulting per-stage contribution. Two configurations of the same project, run with the same inputs, will produce identical totals.

If you need to verify a specific row against an EPD or a published figure, the per-element breakdown is the place to start.


# Using the 2050 Materials APIs

This page describes how users can get access to, and use 2050 Materials' API service.

## Accessing our API

2050 Materials' API aims to seamlessly integrate comprehensive sustainability data into digital design processes in the construction industry. It leverages AI-powered algorithms and detailed life cycle assessment (LCA) calculations to create a vast, high-quality database on the climate impact of building materials. This integration facilitates real-time calculations of embodied environmental impacts, supporting designers and builders in making more informed, sustainable choices. The goal is to make sustainability a fundamental and easily accessible part of the construction process.

* [Swagger Docs](https://app.2050-materials.com/developer/documentation-ui/) & [SDK](https://sdk.2050-materials.com)
* Read more about our API [here](https://2050-materials.com/sustainability-data-api/)
* Jump to the [Notebooks and SKDs](/readme/using-the-2050-materials-api/sdks)
* [Python Library aecdata](https://pypi.org/project/aecdata/)

#### API Access and Authentication details

License is available to any organization which has a use-case for high-quality product information. Use cases include, but are not limited to, building a carbon tool for the construction industry, linking carbon and other data in cost estimation software, and including more granular information in real estate climate risk metrics.

#### Available Endpoints

1. [/get\_products\_open\_api](https://app.2050-materials.com/developer/documentation-ui/)\
   \&#xNAN;*Open API with limited information (GWP, A1-A3) on construction products*
2. [/get\_products](https://app.2050-materials.com/developer/documentation-ui/)\
   \&#xNAN;*Full LCA data breakdown & augmented data on all construction products globally*
3. [/get\_generic\_materials](https://app.2050-materials.com/developer/documentation-ui/)\
   \&#xNAN;*Full LCA data breakdown & augmented data on generic materials/products*
4. [*/get\_best\_match*<br>](https://app.2050-materials.com/developer/documentation-ui/)*Automated mapping of materials from a BoQ to both genereic materials and products*
5. [/get\_co2\_warming\_potential](https://app.2050-materials.com/developer/documentation-ui/)\
   \&#xNAN;*Embodied carbon and* [*Warming Potential*](/methodology-documentation) *estimation for building typologies and assemblies*

#### Get a Developer Token

For the Open API ([/get\_products\_open\_api](https://app.2050-materials.com/developer/documentation/#tag/get_products_open_api)) please register an account on the [2050 Materials platform](https://app.2050-materials.com/accounts/login/) and generate a token on your [account page](https://app.2050-materials.com/accounts/edit-account/).

{% embed url="<https://www.youtube.com/watch?v=EFjUxIDjB9c>" %}

If you are interested in getting access to the other endpoints, please send us an email at <api@2050-materials.com>.


# Available Endpoints

Below is a list of all available endpoints on our API

[Product Data (Full)](/readme/using-the-2050-materials-api/available-endpoints/product-data-full)

[Generic Material Data](/readme/using-the-2050-materials-api/available-endpoints/generic-material-data)

[Automated Mapping (Get Best Match)](/readme/using-the-2050-materials-api/available-endpoints/automated-mapping-get-best-match)

[Product Data (Open Data)](/readme/using-the-2050-materials-api/available-endpoints/product-data-open-data)


# Product Data (Full)

For the `/get_products` endpoint in the 2050 Materials API, the following filter options and output fields are included.&#x20;

## Filtering the data

Filter options can be retrieved dynamically using the `get_product_filters` endpoint. This endpoint can also take the same filtering as the `get_products` endpoint, to dynamically return the available filters within a response (e.g. for implementing dropdowns to further filter a response).&#x20;

<details>

<summary>Filter Options &#x26; Examples</summary>

* `building_applications`: "Building Applications Ids (e.g. building\_applications=4 or building\_applications=2\&building\_applications=3)"&#x20;

* `building_types`: "Building Types Ids (e.g. building\_types=4 or building\_types=2\&building\_types=3])"&#x20;

* `certificate_expires_after` :  Products, which haver data source (certificates) expired before (e.g. certificate\_expires\_after=2024-12-31)

* `certificate_expires_before` :Products, which haver data source (certificates) expired before (e.g. certificate\_expires\_before=2024-12-31)

* `certificate_type`: "Certificate Type Ids (e.g. certificate\_type=2or certificate\_type=2\&certificate\_type=3)"&#x20;

* `certificate_type_family`: "Certificate Type Family Ids (e.g. certificate\_type\_family=1or certificate\_type\_family=2\&certificate\_type\_family=3)"&#x20;

* `city` : "Manufacturing City Ids or Names (e.g. city=5 or city=London)"&#x20;

* `collection` : Filter products by public collections or your private ones, using collection id (e.g. `collection=3` )

* `company`: "Company Ids (e.g. company=4 or company=22\&company=23)"&#x20;

* `compliances`: "compliances (e.g. compliances=EN 15804)"

* `continent`: "Continent Ids (e.g. continent=5 or continent=2\&continent=3)"&#x20;

* `created_after`: "Products created after a date (e.g. created\_after=2022-12-31)"

* `created_before`: "Products created before a date (e.g. created\_before=2022-12-31)"

* `created_between`: "Products created during date range (e.g. created\_between=2022-12-31,2023-12-31)"

* `csi_masterformat`: Filter csi\_masterformat by searching using text or ID

* `data=mini` returns a smaller dictionary which only include the following fields. This can be used to show information for dropdown menus without retrieving the full API response.<br>

  ```json
    {'name': 'Grey Cotto Sheathing and flooring',
     'company': 'Fornace Brioni Cotto',
     'product_url': 'https://app.2050-materials.com/product/details_designer/fornace-brioni-cotto-grey-cotto-sheathing-and-flooring',
     'product_api_url': 'https://app.2050-materials.com/developer/api/get_products?unique_product_uuid_v2=54a1fcde-f8cd-11ed-9c01-0242ac120004'},
  ```

* `declare_label_id`: "Filter products by Declare Label ID with an exact case-insensitive match (e.g. `declare_label_id=DL123` or `declare_label_id=dl456`).

* `ec3_product_id`: "Filter products by EC3 Product ID with an exact case-insensitive match (e.g. `ec3_product_id=ABC123` or `ec3_product_id=xyz456`).

* `eco_platform_id`: "Filter products by ECO Platform ID with an exact case-insensitive match (e.g. `eco_platform_id=ECO123` or `eco_platform_id=eco456`).

* `epd_operator` : Filter by a specific EPD operator, (e.g. `epd_operator=EPDNorge` )

* `exclude_nulls`: Remove products from the results which do not contain a specific field.&#x20;
  * Available options include:&#x20;
    * Basic fields (`id`, `name`, `created`, `updated`)
    * Technical parameters (`u_value`, `density`, `thermal_conductivity`, `fire_performance`, `compression_strength`)
    * Location (`manufacturing_location`, `city`, `manufacturing_country`, `continent`),
    * Environmental data (`manufacturing`, `recycled_content`, `carbon_sorting`, `water_use_kg`, `odp`, `radioactive_waste_disposed__C4` , etc.)
    * LCA breakdown fields (`global_warming_potential_fossil__A1A2A3`, `net_fresh_water_use__A1`, etc.),
    * Physical properties (`density`, `grammage`, `thickness`, `mass_per_piece`), HVAC fields (`cooling_capacity`, `heating_capacity`, `flow_rate`).&#x20;

* `functional_unit` *(string, query)*

  Convert all carbon and LCA values to a target functional unit. Unlike `declared_unit` (which only filters), `functional_unit`:

  1. **Filters**: includes all products convertible to the target unit (via scaling factors)
  2. **Converts**: replaces top-level carbon/LCA values with converted values in the response
  3. **Sorts**: when combined with `sort_by` on a carbon field, sorting uses converted values
  4. **Range filters**: `__min`/`__max` on carbon fields apply to converted values

  Response includes metadata: `functional_unit_applied`, `original_declared_unit`, `scaling_factor_used`.

  **Example:** `functional_unit=m2&sort_by=manufacturing_corrected&sort_order=desc`

* `{field}__min` / `{field}__max`

  `number` *(query)*

  Range filtering on numerical fields. Append `__min` or `__max` to any supported field name to filter products by value range (inclusive). Null values are automatically excluded.

  **Convention:** `{field}__min=value` (>= value), `{field}__max=value` (<= value)

  **Examples:**

  * `density__min=500` — density >= 500
  * `manufacturing__max=10` — manufacturing <= 10
  * `density__min=500&density__max=2000` — range 500-2000
  * `density__min=500&u_value__max=1.5` — combine with AND logic

  **Supported fields:**

  * **LCA Summary** (aggregated from breakdown): `manufacturing`, `manufacturing_corrected`, `end_of_life`, `end_of_life_corrected`, `on_site_installation`, `use_and_maintenance`, `transport_to_site`, `total_co2e_kg_mf`, `total_co2e_kg_mf_corrected`, `total_biogenic_co2e`, `total_biogenic_co2e_corrected`, `carbon_sorting`, `water_use_kg`, `odp`
  * **LCA Breakdown** (`{lca_field}__{module}`): e.g. `global_warming_potential_fossil__A1A2A3`, `net_fresh_water_use__A1`, `acidification_potential__Ctotal` (all lca\_field + module combinations: A1-A5, B1-B7, C1-C4, D, A1A2A3, Btotal, Ctotal)
  * **Circularity:** `recycled_content`, `recyclable_content`, `reuse_potential`, `energy_recovery_possibility`, `mass_per_declared_unit`
  * **Physical:** `density`, `grammage`, `linear_density`, `mass_per_piece`, `thickness`, `cross_sectional_area`
  * **Technical:** `u_value`, `thermal_conductivity`, `compression_strength`, `porosity`, `life_expectancy`, `impact_strength`, `solar_heat_gain_coefficient`, `vapor_diffusion_resistance`, `specific_heat_capacity`, `sd_value`
  * **HVAC:** `cooling_capacity`, `heating_capacity`, `rated_heat_power`, `refrigerant_charge`, `tank_volume`, `flow_rate`, `head`, `nominal_thermal_power_pcal`, `useful_power_p`, `charging_power_3_phase`, `charging_power_1_phase`, `charging_ampere`

* `fire_performance`: "Fire Performance Name (e.g. fire\_performance=A1 or fire\_performance=A2\&fire\_performance=A1)"&#x20;

* `group_by`: "Products are grouped by (Available options are - company\_name, product\_type, material, manufacturing\_location, continent, price\_range, building\_applications, building\_types, certification\_types)"&#x20;

* `manufacturing_country`: "Manufacturing Country Ids (e.g. manufacturing\_country=4 or manufacturing\_country=United States)"&#x20;

* `material_type_family`: "Material Types Family Ids (e.g. material\_type\_family=3 or material\_type\_family=2\&material\_type\_family=3)"&#x20;

* `material_types`: "Material Types Ids (e.g. material\_types=4 or material\_types=2\&material\_types=3)"&#x20;

* `mf_unit`: "Include dictionary with material facts in specified units. Accepts a single value or multiple values. Use 'all' to include all units. For example, to express material facts in square meters and square feet, use mf\_unit=m2\&mf\_unit=ft2'"&#x20;

* `name`: "Search with the full or partial name of the product" \
  *If you're including special characters (like +, &, or =) in filters, be sure to encode them properly, or results may not match as expected.*

* `norm_price`: "Norm Price Ids (e.g. norm\_price=4 or norm\_price=2\&norm\_price=3)"

* `product_type`: "Product Type Ids (e.g. product\_type=2 or product\_type=2\&product\_type=3)"&#x20;

* `product_type_family`: "Product Type Family Ids (e.g. product\_type\_family=3 or product\_type\_family=2\&product\_type\_family=3)"&#x20;

* `product_url`: "Retrieve product data for a specific URL from the 2050 Materials platform (e.g. product\_url="<https://app.2050-materials.com/product/details_designer/kingspan-data-and-flooring-rmg600-access-floor-system-2/>")

* `registration_number`: "Filter products by Registration Number with an exact case-insensitive match (e.g. `registration_number=REG123` or `registration_number=reg456`).

* `sort_by`: "Sort by any field.&#x20;
  * Available options include:&#x20;
    * Basic fields (`id`, `name`, `created`, `updated`)
    * Technical parameters (`u_value`, `density`, `thermal_conductivity`, `fire_performance`, `compression_strength`)
    * Location (`manufacturing_location`, `city`, `manufacturing_country`, `continent`),
    * Relationships (`product_type`, `material_type`, `company`, `building_applications`),
    * Environmental data (`manufacturing`, `recycled_content`, `carbon_sorting`, `water_use_kg`, `odp`),&#x20;
    * LCA breakdown fields (`global_warming_potential_fossil__A1A2A3`, `net_fresh_water_use__A1`, etc.),
    * Physical properties (`density`, `grammage`, `thickness`, `mass_per_piece`), HVAC fields (`cooling_capacity`, `heating_capacity`, `flow_rate`).&#x20;
  * **Special filters** allow you to sort by proxibity to a location (in string format `e.g. "Paris, France"`or latitude longitude of a site. <br>

    ```notebook-python
    ?sort_by=location&sort_reference_location=London, UK
    ```

    ```notebook-python
    ?sort_by=location&sort_reference_latitude=45.7128&sort_reference_longitude=-74.0060           
    ```

* `source`: "Filter products based on non-null values of specific IDs (e.g. `source=ec3` filters products with a non-null EC3 Product ID, `source=eco_platform` filters products with a non-null ECO Platform ID, and `source=declare_label` filters products with a non-null Declare Label ID)."

* `uniclass_materials`: Filter uniclass\_materials by searching using text or ID

* `uniclass_products`: Filter uniclass\_products by searching using text or ID

* `uniclass_systems`: Filter uniclass\_systems by searching using text or ID

* `unique_product_uuid_v2`: "Searching specific product with UUID (2050 Materials unique id) (e.g. unique\_product\_uuid\_v2=ac22f2a4-f960-11ed-92ea-0242ac120004) or multiple uuids, comma-separated."

* `updated_after`: "Products updated after a date (e.g. updated\_after=2022-12-31)"

* `updated_before`: "Products updated before a date (e.g. updated\_before=2022-12-31)"

* `updated_between`: "Products updated during date range (e.g. updated\_between=2022-12-31,2023-12-31)"

* `work_section_caws`: Filter work\_section\_caws by searching using text or ID

</details>

## Output Fields in the Response

The output fields include a wide range of information about each product, which we categorize below in groups.

### Product Fields

<details>

<summary>Product Fields</summary>

* `building_applications`
  * Description: Building Applications
* `building_types`
  * Description: Building Types
* `certificate_url`
  * Description: Certificate URL
* `certificates`
  * &#x20;Description: A dictionary with all available certificates and their respective URLs as shown below. <br>

    ```
    'certificates': [{'certificate_type': 'FSC',
         'certificate_url': 'https://app.2050-materials.com/media/certificates/FSC-Example.pdf'},
        {'certificate_type': 'C2C Certified',
         'certificate_url': 'https://app.2050-materials.com/media/certificates/C2C-Example.pdf'},
    ```
* `city`
  * Description: City
* `company`
  * Description: Company name
* `country`
  * Description: Country
* `csi_masterformat`
  * Description: Construction Specifications Institute (CSI) MasterFormat
* `declare_label_id`&#x20;
  * Description: Unique identifier for an EPD based on Declare Label's API
* `description`
  * Description: Product description
* `ec3_product_id`&#x20;
  * Description: Unique identifier for an EPD based on BuildingTransparency's EC3 API
* `eco_platform_id`&#x20;
  * Description: Unique identifier for an EPD based on ECO Platform's API
* `elements_nrm_1`
  * Description: Elements NRM 1
* `epd_operator`&#x20;
  * Description: EPD operator / source of the datapoint (only available for products with an EPD)
* `group_elements_nrm_1`
  * Description: Group Elements NRM 1
* `manufacturing_continent`
  * Description: Manufacturing Continent
* `manufacturing_location`
  * Description: Manufacturing Location
* `material_type`
  * Description: Material Type
* `material_type_family`
  * Description: Material Type Family
* `name`
  * Description: Product name
* `product_slug`
  * Description: Product Slug
* `product_type`
  * Description: Product Type
* `product_type_family`
  * Description: Product Type Family
* `product_url`
  * Description: Product URL
* `registration_number`&#x20;
  * Description: EPD Registration number
* `standardised_name`&#x20;
  * Search by standardised name (product name + key technical specs e.g. material type, thickness, fire performance)
* `uniclass_systems`
  * Description: Uniclass Systems (<https://uniclass.thenbs.com/taxon/ss>)\
    "Contains Uniclass data © NBS, licensed under the Creative Commons Attribution-NoDerivatives 4.0 International licence (<https://creativecommons.org/licenses/by-nd/4.0/>). Source: <https://www.thenbs.com/uniclass>"
* `uniclass_products`
  * Description: Uniclass products (<https://uniclass.thenbs.com/taxon/pr>)\
    "Contains Uniclass data © NBS, licensed under the Creative Commons Attribution-NoDerivatives 4.0 International licence (<https://creativecommons.org/licenses/by-nd/4.0/>). Source: <https://www.thenbs.com/uniclass>"
* `uniclass_materials`
  * Description: Uniclass products (<https://uniclass.thenbs.com/taxon/ma>)\
    "Contains Uniclass data © NBS, licensed under the Creative Commons Attribution-NoDerivatives 4.0 International licence (<https://creativecommons.org/licenses/by-nd/4.0/>). Source: <https://www.thenbs.com/uniclass>"
* `unique_product_uuid_v2`
  * Description: Unique Product UUID
* `updated`
  * Description: Product Updated
* `work_section_caws`
  * Description: Common Arrangement of Work Sections (CAWS)

</details>

### Material Facts (simplified EPD fields)

<details>

<summary>Material Facts (simplified EPD fields)</summary>

* `certificate_subtype`
  * Description: Certificate Subtype
* `compliances`
  * Description: Compliances
* `data_source`
  * Description: Data Source
* `data_source_link__certificate_expiry`
  * Description: Certificate Expiry Date
* `data_source_link__certificate_type__family__name`
  * Description: Certificate Type
* `data_source_link__date_of_issue`
  * Description: Date of Issue
* `declared_unit`
  * Description: Declared Unit
* `end_of_life`
  * Description: Fossil Carbon (C1, C3, C4)
  * Unit: kg CO2-equivalent
* `end_of_life_corrected`
  * Description: Corrected Fossil Carbon (C1, C3, C4)
  * Unit: kg CO2-equivalent
* `energy_recovery_possibility`
  * Description: Energy Recovery Possibility
  * Unit: %
* `language`
  * Description: Language
* `manufacturing`
  * Description: Fossil Carbon (A1-A3)
  * Unit: kg CO2-equivalent
* `manufacturing_corrected`
  * Description: Corrected Fossil Carbon (A1-A3). For negative fossil A1-A3 values (e.g. EN15804 A1 EPDs for tiber-based products), this value provides the corrected field.&#x20;
  * Unit: kg CO2-equivalent
* `mass_per_declared_unit`
  * Description: Mass per Declared Unit
* `mass_per_declared_unit_estimated`
  * Description: Mass per Declared Unit (Estimated)
* `odp`
  * Description: Ozone Depletion Potential (A1-A3)
  * Unit: mg CFC 11-equivalent
* `on_site_installation`
  * Description: Fossil Carbon (A5)
  * Unit: kg CO2-equivalent
* `plant_or_group`
  * Description: Plant or Group
* `recyclable_content`
  * Description: Recyclable Content
  * Unit: %
* `recycled_content`
  * Description: Recycled Content
  * Unit: %
* `reuse_potential`
  * Description: Re-use Potential
  * Unit: %
* `total_biogenic_co2e`
  * Description: Total Upfront Biogenic Carbon
  * Unit: kg CO2-equivalent
* `total_biogenic_co2e_corrected`
  * Description: Corrected Total Upfront Biogenic Carbon
  * Unit: kg CO2-equivalent
* `total_co2e_kg_mf`
  * Description: Total Fossil Carbon (stages reported)
  * Unit: kg CO2-equivalent
* `total_co2e_kg_mf_corrected`
  * Description: Corrected Total Fossil Carbon (stages reported)
  * Unit: kg CO2-equivalent
* `use_and_maintenance`
  * Description: Fossil Carbon (B1-B5)
  * Unit: kg CO2-equivalent
* `water_use_kg`
  * Description: Freshwater use (A1-A3)
  * Unit: kg

</details>

### Expanded LCA Information from EPDs

<details>

<summary>Input Table EPD Fields</summary>

* `net_fresh_water_use`
  * Description: Use of net fresh water
  * Short Name: FW
  * Unit: kg
* `non_renewable_primary_energy`
  * Description: Use of non-renewable primary energy
  * Short Name: PENRE
  * Unit: MJ
* `non_renewable_primary_energy_raw_materials`
  * Description: Use of non-renewable primary energy resources used as raw materials
  * Short Name: PENRM
  * Unit: MJ
* `non_renewable_secondary_fuels`
  * Description: Use of non-renewable secondary fuels
  * Short Name: NRSF
  * Unit: MJ
* `renewable_primary_energy`
  * Description: Use of renewable primary energy
  * Short Name: PERE
  * Unit: MJ
* `renewable_primary_energy_raw_materials`
  * Description: Use of renewable primary energy resources used as raw materials
  * Short Name: PERM
  * Unit: MJ
* `renewable_secondary_fuels`
  * Description: Use of renewable secondary fuels
  * Short Name: RSF
  * Unit: MJ
* `secondary_material_use`
  * Description: Use of secondary material
  * Short Name: SM
  * Unit: kg
* `total_non_renewable_primary_energy`
  * Description: Total use of non-renewable primary energy resource
  * Short Name: PENRT
  * Unit: MJ
* `total_renewable_primary_energy`
  * Description: Total use of renewable primary energy resources
  * Short Name: PERT
  * Unit: MJ

</details>

<details>

<summary>Output Table EPD Fields</summary>

* `components_for_reuse`
  * Description: Components for re-use
  * Short Name: CRU
  * Unit: kg
* `exported_electrical_energy`
  * Description: Exported electrical energy
  * Short Name: EEE
  * Unit: MJ
* `exported_thermal_energy`
  * Description: Exported thermal energy
  * Short Name: EET
  * Unit: MJ
* `hazardous_waste_disposed`
  * Description: Hazardous waste disposed
  * Short Name: HWD
  * Unit: kg
* `materials_for_energy_recovery`
  * Description: Materials for energy recovery
  * Short Name: MER
  * Unit: kg
* `materials_for_recycling`
  * Description: Materials for recycling
  * Short Name: MFR
  * Unit: kg
* `non_hazardous_waste_disposed`
  * Description: Non-hazardous waste dispose
  * Short Name: NHWD
  * Unit: kg
* `radioactive_waste_disposed`
  * Description: Radioactive waste disposed
  * Short Name: RWD
  * Unit: kg

</details>

<details>

<summary>Impact Table EPD Fields</summary>

* `abiotic_depletion_potential_fossil`
  * Description: Abiotic depletion potential for fossil resources
  * Short Name: ADPF
  * Unit: MJ
* `abiotic_depletion_potential_non_fossil`
  * Description: Abiotic depletion potential for non-fossil resources
  * Short Name: ADPE
  * Unit: kg Sb-equivalent
* `acidification_potential`
  * Description: Acidification potential of soil and water
  * Short Name: AP
  * Unit: kg SO2-equivalent
* `eutrophication_potential`
  * Description: Eutrophication potential
  * Short Name: EP
  * Unit: kg Phosphate-equivalent
* `eutrophication_potential_freshwater`
  * Description: Eutrophication potential – freshwater
  * Short Name: EP-f
  * Unit: kg Phosphate-equivalent
* `eutrophication_potential_marine`
  * Description: Eutrophication potential – marine
  * Short Name: EP-m
  * Unit: kg Nitrogen-equivalent
* `eutrophication_potential_terrestrial`
  * Description: Eutrophication potential – terrestrial
  * Short Name: EP-t
  * Unit: mol Nitrogen-equivalent
* `exported_energy_aggregate`
  * Description: Aggregate exported energy when not split by type
  * Short Name: EE-agg
  * Unit: MJ
* `formation_potential_of_tropospheric_ozone`
  * Description: Formation potential of tropospheric ozone
  * Short Name: POCP
  * Unit: kg NMVOC-equivalent
* `freshwater_ecotoxicity_potential`
  * Description: Ecotoxicity potential for aquatic freshwater
  * Short Name: ETP-fw
  * Unit: CTUe
* `global_warming_potential_aggregate`
  * Description: Aggregated global warming potential when not split by type
  * Short Name: GWP-agg
  * Unit: kg CO₂-equivalent
* `global_warming_potential_biogenic`
  * Description: Global warming potential, Biogenic
  * Short Name: GWP-b
  * Unit: kg CO2-equivalent
* `global_warming_potential_fossil`
  * Description: Global warming potential, Fossil
  * Short Name: GWP-f
  * Unit: kg CO2-equivalent
* `global_warming_potential_luluc`
  * Description: Global warming potential, LULUC (Land Use, Land-Use Change, and Forestry)
  * Short Name: GWP-luluc
  * Unit: kg CO2-equivalent
* `human_toxicity_potential_cancer`
  * Description: Human toxicity potential, cancer effects
  * Short Name: HTP-c
  * Unit: CTUh
* `human_toxicity_potential_non_cancer`
  * Description: Human toxicity potential, non-cancer effects
  * Short Name: HTP-nc
  * Unit: CTUh
* `ionising_radiation_potential`
  * Description: Ionising radiation potential – human health effects
  * Short Name: IRP
  * Unit: kBq U-235-equivalent
* `ozone_depletion_potential`
  * Description: Depletion potential of the stratospheric ozone layer
  * Short Name: ODP
  * Unit: mg CFC 11-equivalent
* `particulate_matter_formation_potential`
  * Description: Potential formation of particulate matter
  * Short Name: PM
  * Unit: Disease incidence
* `soil_quality_potential`
  * Description: Soil quality potential index
  * Short Name: SQP
  * Unit: Points
* `water_deprivation_potential`
  * Description: Water (user) deprivation potential
  * Short Name: WDP
  * Unit: m3 world-equivalent

</details>

### Non-Environmental Product Data

<details>

<summary>Physical Properties</summary>

* `cross_sectional_area`
  * Description: Cross sectional area
  * Unit: m2
* `cross_sectional_area_estimated`
  * Description: Cross sectional area Estimated?
* `density`
  * Description: Density
  * Unit: kg/m3
* `density_estimated`
  * Description: Density Estimated?
* `grammage`
  * Description: Specific Density
  * Unit: kg/m2
* `grammage_estimated`
  * Description: Specific Density Estimated?
* `linear_density`
  * Description: Linear Density
  * Unit: kg/m
* `linear_density_estimated`
  * Description: Linear Density Estimated?
* `mass_per_declared_unit`
  * Description: Mass per declared unit
  * Unit: kg/DU
* `mass_per_declared_unit_estimated`
  * Description: Mass per declared unit Estimated?
* `mass_per_piece`
  * Description: Mass per piece
  * Unit: kg
* `mass_per_piece_estimated`
  * Description: Mass per piece Estimated?
* `thickness`
  * Description: Thickness
  * Unit: m
* `thickness_estimated`
  * Description: Thickness Estimated?
* `scaling_factors`
  * Description: Scaling Factors for Unit Conversion. This dictionary maps target units (keys) to their corresponding scaling factors (values). To convert a value from a declared unit to one of these target units, divide the value by the scaling factor associated with the target unit. Each scaling factor specifies how much one unit of the declared unit is equivalent to in the target unit, facilitating accurate and consistent unit conversions.

</details>

<details>

<summary>Technical Parameters</summary>

* `abrasion_resistance`
  * Description: Abrasion Resistance
* `acoustic_performance`
  * Description: Acoustic Performance
  * Unit: dB
* `charging_ampere`
  * Description: Charging current required.
  * Unit: amps
* `charging_power_1_phase`
  * Description: Power needed for charging via single-phase supply.
  * Unit: kW
* `charging_power_3_phase`
  * Description: Power needed for charging via 3-phase supply.
  * Unit: kW
* `color`
  * Description: Colour
* `compression_strength`
  * Description: Compression Strength
* `concrete_mix`
  * Description: Concrete Mix
* `consistence_class`
  * Description: Consistence Class
* `cooling_capacity`
  * Description: Max cooling an HVAC system or heat pump provides.
  * Unit: kW or BTU
* `corrosion_resistance`
  * Description: Corrosion Resistance
* `elasticity_plasticity`
  * Description: Elasticity Plasticity
* `fire_performance`
  * Description: Fire Performance
* `flow_rate`
  * Description: Fluid flow rate.
  * Unit: m3 per hour
* `head`
  * Description: Pressure level for fluid movement.
  * Unit: meters
* `heating_capacity`
  * Description: Max heating output the unit produces.
  * Unit: kW
* `impact_strength`
  * Description: Impact Strength
* `life_expectancy`
  * Description: Life expectancy
  * Unit: years
* `maintenance`
  * Description: Maintenance
  * Unit: Frequency
* `nominal_thermal_power_pcal`
  * Description: Theoretical thermal power output.
  * Unit: kW
* `porosity`
  * Description: Porosity
  * Unit: %
* `rated_heat_power`
  * Description: Rated heat power output under standard conditions.
  * Unit: kW
* `refrigerant_charge`
  * Description: Amount of refrigerant required.
  * Unit: kg
* `refrigerant_type`
  * Description: Type of refrigerant used, e.g., R-410A or R-32.
* `retail_price`
  * Description: Price Range
* `slip_resistance`
  * Description: Slip Resistance
* `solar_heat_gain_coefficient`
  * Description: Solar Heat Gain Coefficient
* `steel_grade`
  * Description: Steel grade
* `tank_volume`
  * Description: Storage capacity of the tank.
  * Unit: liters
* `texture`
  * Description: Texture
* `thermal_conductivity`
  * Description: Thermal Conductivity
* `typical_lead_time`
  * Description: Typical Lead Time
* `u_value`
  * Description: U-Value
  * Unit: w/m2k
* `useful_power_p`
  * Description: Actual usable power after efficiency losses.
  * Unit: kW
* `warranty`
  * Description: Warranty
  * Unit: years
* `weathering_resistance`
  * Description: Weathering Resistance

</details>

### Other Information

<details>

<summary>LCA Modules Information</summary>

* **A1** - Description: Raw material supply: Extraction and processing of raw materials.
* **A2** - Description: Transport to the manufacturer: Transportation of raw materials to the factory.
* **A3** - Description: Manufacturing: The manufacturing process of the product.
* **A1A2A3** - Description: Product stage combined: Covers raw material extraction, transport to the manufacturer, and manufacturing combined.
* **A4** - Description: Transport to the construction site: Transportation of the construction product to the building site.
* **A5** - Description: Installation in the building: The process of installing the product into the building during construction.
* **B1** - Description: Use: The use of the product during the building’s life, including maintenance and energy use.
* **B2** - Description: Maintenance: Activities involved in maintaining the product during its life cycle.
* **B3** - Description: Repair: The repair of the product, if necessary, during its life cycle.
* **B4** - Description: Replacement: The replacement of the product during the building’s life cycle.
* **B5** - Description: Refurbishment: Refurbishment or renovation of the building/product.
* **B6** - Description: Operational energy use: The energy used by the product during its operational life.
* **B7** - Description: Operational water use: The water used by the product during its operational life.
* **C1** - Description: Deconstruction: The process of deconstructing the building at the end of its life.
* **C2** - Description: Transportation of waste: Transport of demolished materials and products.
* **C3** - Description: Waste processing: Processing of waste materials for disposal or recycling.
* **C4** - Description: Disposal: Final disposal of waste materials.
* **D** - Description: Benefits and loads beyond the system boundary: Credits for recycling, energy recovery, etc.

</details>

#### Additional Information about the endpoint

* The API uses JWT authentication and requires the user to be authenticated.
* The endpoint supports pagination
* The API handles different user roles and permissions, with specific access and rate limits.
* Various response statuses are managed, including "200 OK" for successful requests, "401 Unauthorized" for access issues, and "429 Too Many Requests" for rate limit exceeding.

This endpoint offers an extensive and detailed overview of products, enabling users to make informed decisions based on sustainability, technical specifications, and compliance standards in the construction industry.


# Product Data (Open Data)

For the `/get_products_open_api` endpoint in the 2050 Materials API, the following filter options and output fields are included

#### Filter Options

Filter options are the same as for the [/get\_products](/readme/using-the-2050-materials-api/available-endpoints/product-data-full) endpoint.

#### Output Fields

1. **name**: The name of the product.
2. **company**: The name of the company manufacturing the product.
3. **product\_type**: The type of product.
4. **material\_type**: The type of material used in the product.
5. **manufacturing\_location**: The location where the product is manufactured.
6. **country**: The country of the manufacturing location.
7. **city**: The city of the manufacturing location.
8. **manufacturing\_continent**: The continent of the manufacturing location.
9. **product\_url**: The URL of the product.
10. **material\_facts**: A dictionary containing:
    1. **declared\_unit**: This field likely represents the unit in which material facts are declared, providing a standardized measure for comparisons or calculations.
    2. **manufacturing**: This field likely contains information related to the manufacturing phase of the product's lifecycle. It could include data such as the carbon emissions (CO2e) associated with the manufacturing process, but the exact details depend on the data structure of the `MaterialFact` model.

### Rate limits

The open API has a rate limit of 100 calls per hour. For unlimited rate calls and the full product data, please use the [get\_products](/readme/using-the-2050-materials-api/available-endpoints/product-data-full) endpoint. &#x20;


# Generic Material Data

For the `/get_generic_materials` endpoint in the 2050 Materials API, the following filter options and output fields are included

#### Filter options&#x20;

Filter options can be retrieved dynamically using the `get_generic_material_filters` endpoint. This endpoint can also take the same filtering as the `get_generic_materials` endpoint, to dynamically return the available filters within a response (e.g. for implementing dropdowns to further filter a response).&#x20;

1. `product_types`  uses ID (use [get\_generic\_material\_filters](https://app.2050-materials.com/developer/documentation/#tag/get_generic_material_filters) to see IDs)
2. `material_type` uses ID (use [get\_generic\_material\_filters](https://app.2050-materials.com/developer/documentation/#tag/get_generic_material_filters) to see IDs)
3. `building_applications` uses ID (use [get\_generic\_material\_filters](https://app.2050-materials.com/developer/documentation/#tag/get_generic_material_filters) to see IDs)
4. `material_name` uses a string which matches the exact or partial material name\
   *If you're including special characters (like +, &, or =) in filters, be sure to encode them properly, or results may not match as expected.*
5. `data_source` uses a string which matches the exact or partial data\_source name (e.g. data\_source=CLF-Material-Baselines (2023-04)) or the ID (use [get\_generic\_material\_filters](https://app.2050-materials.com/developer/documentation/#tag/get_generic_material_filters) for the IDs and full list)
6. `declared_unit` Filter by the declared unit using the exact string (eg. `declared_unit=m3` )
7. `sort_by`: Available options are - `update`, `created`, `source_uuid`, `material_name`, `product_type`, `material_type`, `data_source`&#x20;
8. `{field}__min`  / `{field}__max`

   `number` *(query)*

   Range filtering on numerical fields. Append `__min` or `__max` to any supported field name to filter materials by value range (inclusive). Null values are automatically excluded.

   **Convention:** `{field}__min=value` (>= value), `{field}__max=value` (<= value)

   **Examples:**

   * `density__min=500` — density >= 500
   * `carbon_a1a3__max=10` — carbon\_a1a3 <= 10
   * `density__min=500&density__max=2000` — range 500-2000
   * `density__min=500&u_value__max=1.5` — combine with AND logic

   **Supported fields:**

   * **Carbon:** `total_co2e_kg_mf`, `total_biogenic_co2e`, `carbon_a1a3`, `carbon_a4`, `carbon_a5`, `carbon_b1b5`, `carbon_c1c4`, `carbon_a1`, `carbon_a2`, `carbon_a3`, `carbon_b1`, `carbon_b2`, `carbon_b3`, `carbon_b4`, `carbon_b5`, `carbon_c1`, `carbon_c2`, `carbon_c3`, `carbon_c4`, `carbon_d`
   * **Environmental:** `freshwater_use_a1a3`, `recycled_content`, `recyclable_content`, `reuse_potential`, `energy_recovery_possibility`, `odp`, `water_use_kg`
   * **Physical:** `density`, `grammage`, `linear_density`, `mass_per_piece`, `thickness`, `cross_sectional_area`, `mass_per_declared_unit`
   * **Grey Energy:** `grey_energy_total`, `grey_energy_fabrication_total`, `grey_energy_recovery_fabrication`, `grey_energy_material_recovery_fabrication`, `grey_energy_elimination`
9. `data=mini` returns a smaller dictionary which only include the following fields. This can be used to show information for dropdown menus without retrieving the full API response.<br>

   <pre class="language-json"><code class="lang-json"><strong>   {'id': 27444,
   </strong>   'material_name': 'Aerated concrete P2 04 non-reinforced',
      'data_source': 'OKOBAUDAT (English) - 2024',
      'generic_api_url': ''},
   </code></pre>

### Output Fields

Each object in the `results` array contains the following fields:

| Field                                             | Type               | Description                                                         |
| ------------------------------------------------- | ------------------ | ------------------------------------------------------------------- |
| **id**                                            | integer            | Unique identifier of the material.                                  |
| **source\_uuid**                                  | string             | Unique identifier of the data source (e.g., `PR_01_23_4_50_1_1_1`). |
| **material\_name**                                | string             | Name of the material.                                               |
| **group\_elements\_nrm\_1**                       | array of strings   | List of group elements according to NRM 1 standards.                |
| **elements\_nrm\_1**                              | array of strings   | List of elements according to NRM 1 standards.                      |
| **product\_type**                                 | string             | Product type.                                                       |
| **product\_type\_family**                         | string             | Product type family classifications.                                |
| **uniclass\_systems**                             | array of strings   | UniClass systems classification codes.                              |
| **uniclass\_products**                            | array of strings   | UniClass products classification codes.                             |
| **uniclass\_materials**                           | array of strings   | UniClass materials classification codes.                            |
| **material\_type**                                | string             | Material type.                                                      |
| **material\_type\_family**                        | string             | Material type family.                                               |
| **data\_source**                                  | string             | Data source name.                                                   |
| **data\_source\_url**                             | string             | URL to the data source (e.g., certificate or database link).        |
| **functional\_unit\_quantity**                    | string             | Functional unit quantity value.                                     |
| **functional\_unit\_unit**                        | string             | Unit of the functional unit (e.g., `m3`, `piece`, `kg`).            |
| **total\_co2e\_kg\_mf**                           | number             | Total CO₂ equivalent (kg) at manufacturing stage.                   |
| **total\_biogenic\_co2e**                         | number             | Total biogenic CO₂ equivalent (kg).                                 |
| **carbon\_a1a3**                                  | number             | Carbon emissions for stages A1–A3 (kg CO₂e).                        |
| **carbon\_a5**                                    | number             | Carbon emissions for stage A5 (kg CO₂e).                            |
| **carbon\_b1b5**                                  | number             | Carbon emissions for stages B1–B5 (kg CO₂e).                        |
| **carbon\_c1c4**                                  | number             | Carbon emissions for stages C1–C4 (kg CO₂e).                        |
| **freshwater\_use\_a1a3**                         | number             | Freshwater use in stages A1–A3.                                     |
| **recycled\_content**                             | number             | Percentage of recycled content.                                     |
| **recyclable\_content**                           | number             | Percentage of recyclable content.                                   |
| **reuse\_potential**                              | number             | Percentage potential for reuse.                                     |
| **energy\_recovery\_possibility**                 | number             | Percentage possibility of energy recovery.                          |
| **odp**                                           | string             | Ozone depletion potential.                                          |
| **density**                                       | number             | Density of the material.                                            |
| **density\_estimated**                            | boolean            | Whether density is estimated.                                       |
| **grammage**                                      | number             | Grammage of the material.                                           |
| **grammage\_estimated**                           | boolean            | Whether grammage is estimated.                                      |
| **linear\_density**                               | number             | Linear density \[kg/m].                                             |
| **linear\_density\_estimated**                    | boolean            | Whether linear density is estimated.                                |
| **mass\_per\_piece**                              | number             | Mass per piece \[kg].                                               |
| **mass\_per\_piece\_estimated**                   | boolean            | Whether mass per piece is estimated.                                |
| **thickness**                                     | number             | Thickness of the material (m).                                      |
| **thickness\_estimated**                          | boolean            | Whether thickness is estimated.                                     |
| **cross\_sectional\_area**                        | number             | Cross-sectional area \[m²].                                         |
| **cross\_sectional\_area\_estimated**             | boolean            | Whether cross-sectional area is estimated.                          |
| **mass\_per\_declared\_unit**                     | number             | Mass per declared unit \[kg].                                       |
| **mass\_per\_declared\_unit\_estimated**          | boolean            | Whether mass per declared unit is estimated.                        |
| **grey\_energy\_total**                           | number             | Total grey energy \[kWh oil-eq].                                    |
| **grey\_energy\_fabrication\_total**              | number             | Grey energy from fabrication \[kWh oil-eq].                         |
| **grey\_energy\_recovery\_fabrication**           | number             | Grey energy recovery from fabrication \[kWh oil-eq].                |
| **grey\_energy\_material\_recovery\_fabrication** | number             | Grey energy from material recovery in fabrication \[kWh oil-eq].    |
| **grey\_energy\_elimination**                     | number             | Grey energy from elimination \[kWh oil-eq].                         |
| **created**                                       | string (date-time) | Date and time when the material record was created.                 |
| **updated**                                       | string (date-time) | Date and time when the material record was last updated.            |

***

### Pagination Fields

In addition to `results`, the API response includes pagination metadata:

| Field                    | Type              | Description                                                       |
| ------------------------ | ----------------- | ----------------------------------------------------------------- |
| **TotalMaterials**       | integer           | Total number of materials matching the query.                     |
| **countMaterialsOnPage** | integer           | Number of materials in the current page of results.               |
| **current\_page**        | integer           | Current page number.                                              |
| **material\_range**      | array of integers | Range of material indices on the current page (e.g., `[1, 200]`). |
| **next**                 | string or null    | URL of the next page, or `null` if there is no next page.         |
| **previous**             | string or null    | URL of the previous page, or `null` if there is no previous page. |

#### Additional Information

* The API uses JWT authentication and requires the user to be authenticated.
* The endpoint supports pagination
* Different user roles and permissions are handled, with specific access and rate limits.
* Various response statuses are managed, including "200 OK" for successful requests, "401 Unauthorized" for access issues, and "429 Too Many Requests" for rate limit exceeding.

This endpoint provides a detailed overview of generic materials, including environmental impacts and technical specifications, which is vital for users focused on sustainability and environmental impact in the construction and building materials industry.


# Automated Mapping (Get Best Match)

## How to Use the GetBestMatch API

The `GetBestMatch` API is designed to help you categorise unstructured input (e.g. from invoices, bills of materials, other datasets) and find the best-matching products and materials based on your input descriptions.&#x20;

This guide explains the required parameters, optional parameters, and how to use the API effectively.

***

### Endpoint

**POST** `/api/get_best_match/`

***

### Required Parameters

| Parameter     | Type        | Description                                                      |
| ------------- | ----------- | ---------------------------------------------------------------- |
| `input_items` | `list[str]` | A list of sentences describing the products you are looking for. |

#### Example Request

```json
{
  "input_items": [
    "Therma Insulation",
    "Kooltherm K15 FR Panneau Facade"
  ]
}
```

***

### Optional Parameters

These parameters allow you to customize your query to refine the results.

#### General Options

| Parameter               | Type      | Description                                                                                                                                                                                                                     |
| ----------------------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `include_product_data`  | `boolean` | Include detailed product data in the response. Defaults to `False`.                                                                                                                                                             |
| `include_material_data` | `boolean` | Include detailed material data in the response. Defaults to `False`.                                                                                                                                                            |
| `custom_keywords`       | `dict`    | Dict with keyword mapping to product type and material type. The keywords affect the classification of the input items. Example `{"0/2mm": ["Road construction","Asphalt"], "absorber anchor": ["Metal accessories", "Steel"]}` |

### Filters

You can use filters to narrow down your search for products or materials. By filtering, this narrows the range of products or materials that can be mapped, for example to enforce matches to products within a certain region.&#x20;

***

#### Product Filters

<table><thead><tr><th width="171">Filter</th><th width="215">Example</th><th>Description</th></tr></thead><tbody><tr><td><code>fire_performance</code></td><td><code>fire_performance=['A1', 'B']</code></td><td>Filter by fire performance classification; multiple values allowed.</td></tr><tr><td><code>epd_operator</code></td><td><code>epd_operator=EPDNorge</code></td><td>Filter products by the EPD operator.</td></tr><tr><td><code>norm_price</code></td><td><code>norm_price=[1, 2, 3]</code></td><td>Filter by norm price IDs.</td></tr><tr><td><code>certificate_type</code></td><td><code>certificate_type='EPD'</code></td><td>Filter by certificate type name.</td></tr><tr><td><code>product_type_family</code></td><td><code>product_type_family='Plastics'</code></td><td>Filter by product type family; partial match allowed.</td></tr><tr><td><code>material_type_family</code></td><td><code>material_type_family='Polymers'</code></td><td>Filter by material type family; partial match allowed.</td></tr><tr><td><code>certificate_type_family</code></td><td><code>certificate_type_family='Data Sheets'</code></td><td>Filter by certificate type family; partial match allowed.</td></tr><tr><td><code>name</code></td><td><code>name='EcoBrick'</code></td><td>Filter by product name; partial match allowed.<br><br>*<em>If you're including special characters (like +, &#x26;, or =) in filters, be sure to encode them properly, or results may not match as expected.</em></td></tr><tr><td><code>uuid</code></td><td><code>uuid='abcd1234'</code></td><td>Filter by unique product UUID.</td></tr><tr><td><code>declared_unit</code></td><td><code>declared_unit='kg'</code></td><td>Filter by declared unit in product material facts.</td></tr><tr><td><code>product_type</code></td><td><code>product_type='Insulation'</code></td><td>Filter by product type name; partial match allowed.</td></tr><tr><td><code>product_types</code></td><td><code>product_types=['Concrete', 'Wood']</code></td><td>Filter by multiple product types.</td></tr><tr><td><code>material_type</code></td><td><code>material_type='Steel'</code></td><td>Filter by material type name; partial match allowed.</td></tr><tr><td><code>material_types</code></td><td><code>material_types=['Steel', 'Aluminum']</code></td><td>Filter by multiple material types.</td></tr><tr><td><code>building_applications</code></td><td><code>building_applications='External walls'</code></td><td>Filter by building applications; partial match allowed.</td></tr><tr><td><code>building_types</code></td><td><code>building_types='Commercial'</code></td><td>Filter by building types; partial match allowed.</td></tr><tr><td><code>company</code></td><td><code>company='2050 Materials'</code></td><td>Filter by company name; partial match allowed.</td></tr><tr><td><code>compliances</code></td><td><code>compliances='EN 15804'</code></td><td>Filter by compliance standard; partial match allowed.</td></tr><tr><td><code>manufacturing_country</code></td><td><code>manufacturing_country='Germany'</code></td><td>Filter by manufacturing country; partial match allowed.</td></tr><tr><td><code>continent</code></td><td><code>continent='Europe'</code></td><td>Filter by continent name; partial match allowed.</td></tr></tbody></table>

***

### Material Filters

| Filter            | Example                                                                             | Description                                                                                                                                                                                                           |
| ----------------- | ----------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `material_name`   | `material_name='Concrete'`                                                          | <p>Filter materials by name; partial match allowed.<br><br><em>\*If you're including special characters (like +, &, or =) in filters, be sure to encode them properly, or results may not match as expected.</em></p> |
| `product_type`    | `product_type='Insulation'`                                                         | Filter materials by related product type name; partial match allowed.                                                                                                                                                 |
| `product_types`   | `product_types=['Concrete', 'Wood']`                                                | Filter materials by multiple product type names; exact matches required.                                                                                                                                              |
| `material_type`   | `material_type='Plastic'`                                                           | Filter by specific material type name; partial match allowed.                                                                                                                                                         |
| `material_types`  | `material_types=['Steel', 'Aluminum']`                                              | Filter by multiple material types; exact matches required.                                                                                                                                                            |
| `data_source`     | `data_source='2050 Materials Quantity Surveyor Dataset - 2024'`                     | Filter by the data source name; partial match allowed.                                                                                                                                                                |
| `data_sources`    | `data_sources=['2050 Materials Quantity Surveyor Dataset - 2024', '`ICE DB V3.0`']` | Filter by multiple data source names; exact matches required.                                                                                                                                                         |
| `source_uuid`     | `source_uuid='123e4567-e89b-12d3-a456-426614174000'`                                | Filter by a specific data source UUID.                                                                                                                                                                                |
| `declared_unit`   | `declared_unit='m2'`                                                                | Filter by declared unit; case-insensitive exact match.                                                                                                                                                                |
| `updated_after`   | `updated_after='2023-01-01'`                                                        | Filter materials updated after a specific date (format: YYYY-MM-DD).                                                                                                                                                  |
| `updated_before`  | `updated_before='2023-12-31'`                                                       | Filter materials updated before a specific date (format: YYYY-MM-DD).                                                                                                                                                 |
| `created_after`   | `created_after='2023-01-01'`                                                        | Filter materials created after a specific date (format: YYYY-MM-DD).                                                                                                                                                  |
| `created_before`  | `created_before='2023-12-31'`                                                       | Filter materials created before a specific date (format: YYYY-MM-DD).                                                                                                                                                 |
| `updated_between` | `updated_between='2023-01-01,2023-12-31'`                                           | Filter materials updated between two dates (format: YYYY-MM-DD,YYYY-MM-DD).                                                                                                                                           |
| `created_between` | `created_between='2023-01-01,2023-12-31'`                                           | Filter materials created between two dates (format: YYYY-MM-DD,YYYY-MM-DD).                                                                                                                                           |

***

### Example Request with Filters

```json
{
  "input_items": [
    "Therma Insulation",
    "Kooltherm K15 FR Panneau Facade"
  ],
  "include_product_data": false,
  "include_material_data": false,
  "product_filters": {
    "manufacturing_country": "Netherlands",
    "product_type": "Insulation (Thermal)"
  },
  "material_filters": {
    "data_source": "2050 Materials Quantity Surveyor Dataset - 2024",
    "product_type": "Insulation (Thermal)"
  }
}
```

***

### API Response

The API will return a JSON response containing the best matches for your query. Below is an example response:

#### Example Response

```json
{
  "input_items": [
      "Therma Insulation",
      "Kooltherm K15 FR Panneau Facade"
  ],
  "results": {
      "Therma Insulation": {
          "product_type": "Insulation (Thermal)",
          "material_type": "PUR (Polyurethane)",
          "uniclass_systems": [
              "Wall covering and finish systems (Ss_25_45)",
              "Wall insulation systems (Ss_25_45_72)"
          ],
          "uniclass_products": [
              "Polyurethane (PUR) foam insulation (Pr_25_31_28_67)"
          ],
          "uniclass_materials": [
              "Polyurethane (PU) (Ma_60_65_93)"
          ],
          "product_name": "Therma TR23",
          "product_company_name": "Kingspan",
          "product_manufacturing_emissions_intensity_factor": 6.96,
          "product_manufacturing_emissions_intensity_unit": "m2",
          "product_manufacturing_emissions_per_kg": 8.220022822195157,
          "product_url": "https://app.2050-materials.com/product/details_designer/kingspan-therma-tr23",
          "product_match_score": 0.21212120850880942,
          "material_name": "Insulation (PU)",
          "material_manufacturing_emissions_intensity_factor": 5.6,
          "material_manufacturing_emissions_intensity_unit": "m2",
          "material_data_source": "2050 Materials Quantity Surveyor Dataset - 2024",
          "material_id": 24347,
          "material_match_score": 0.3513513505458832
      },
      "Kooltherm K15 FR Panneau Facade": {
          "product_type": "Finish (External floors)",
          "material_type": "PUR (Polyurethane)",
          "uniclass_systems": [
              "Paving systems (Ss_30_14)",
              "Wall covering and finish systems (Ss_25_45)",
              "External floor tiling systems (Ss_30_42_32_30)",
              "Floor and deck structure systems (Ss_30_12)",
              "Wall insulation systems (Ss_25_45_72)"
          ],
          "uniclass_products": [
              "Polyurethane (PUR) foam insulation (Pr_25_31_28_67)"
          ],
          "uniclass_materials": [
              "Polyurethane (PU) (Ma_60_65_93)"
          ],
          "product_name": "Kooltherm\u00ae K15",
          "product_company_name": "Kingspan",
          "product_manufacturing_emissions_intensity_factor": 9.1,
          "product_manufacturing_emissions_intensity_unit": "m2",
          "product_manufacturing_emissions_per_kg": 7.415332064620465,
          "product_url": "https://app.2050-materials.com/product/details_designer/kingspan-kooltherm-r-k15",
          "product_match_score": 0.2888888915379842,
          "material_name": "Insulation (PU)",
          "material_manufacturing_emissions_intensity_factor": 5.6,
          "material_manufacturing_emissions_intensity_unit": "m2",
          "material_data_source": "2050 Materials Quantity Surveyor Dataset - 2024",
          "material_id": 24347,
          "material_match_score": 0.15853658318519592
      }
  }
}
```

***

This guide will help you make the most out of the `GetBestMatch` API by understanding its input parameters, filters, and response format


# Early-Stage Embodied Carbon Model

Here's a list of the input and output fields for the `/get_co2_warming_potential` API endpoint of 2050 Materials, including the format and options for the input fields:

#### Input Fields

1. **building\_type** (String)
   * Description: Type of building.
   * Options: \
     "Residential, High-rise", "Residential, Low-rise", "Commercial, High-rise", "Commercial, Low-rise", "Commercial, Fitout", "Industrial, Low-rise", "Farm building", "Outhouse", "School", "Garage", "Cultural building, Low-rise", "Retail (supermarket), Low-rise", "Carport, Low-rise", "Office, High-rise", "Daycare institution, Low-rise", "Detached house", "Factory, Low-rise", "Hospital, Low-rise", "Logistic, High-rise", "Hotel, High-rise", "Multi dwelling, High-rise", "Office (residential building), High-rise", "Sport centre"
2. **gross\_internal\_floor\_area** (Number)
   * Description: Gross internal floor area in square meters.
3. **glazing\_percentage** (Number)
   * Description: Percentage of glazing in the building.
4. **materials\_type** (String)
   * Description: Type of materials used.
   * Options: ‘Low-carbon, Regenerative materials’, ‘Conventional materials’, ‘High-carbon (Metal, Concrete)’.
5. **stories** (Integer)
   * Description: Number of stories in the building.

#### Output Fields

1. **warming\_potential** (Float)
   * Description: The calculated warming potential based on the input parameters.
2. **co2e\_per\_m2** (Float)
   * Description: Carbon dioxide equivalent emissions per square meter.
3. **total\_co2e** (Float)
   * Description: Total carbon dioxide equivalent emissions.

#### Additional Information

* The API uses JWT authentication and requires the user to be authenticated.
* The response codes include "200" for successful requests, "400" for bad requests due to missing or invalid inputs, and "401" for unauthorized access.
* The API has rate limiting and access control based on the user's account status and permissions.

This endpoint allows users to retrieve detailed environmental impact data (CO2 and warming potential) based on specific building parameters, aiding in sustainable building design and planning.

<br>

###


# SDKs

Python notebooks which you can use to run your first API calls.

Our team continuously expands and updates our open-source notebooks and SDKs. Please make a copy of a notebook before using it as it requires you to add your personal (private) API token.&#x20;

(If you don't have an API token, generate one [here](https://app.2050-materials.com/accounts/edit-account/))

## [Main API SDK](https://sdk.2050-materials.com)[↗](https://wumbo.net/symbols/up-right-arrow/) &#x20;

## [Google Colab / Jupyter Notebooks ↗](https://drive.google.com/drive/u/1/folders/1myaeDCS5YdzITTjwwrjQP8_s-fBcVDWd)

## [Other open-source SDKs on GitHub (Open-source SDKs) ↗](https://github.com/2050-Materials)

If you would like to contribute to these notebooks, [reach out](https://app.2050-materials.com/contact/)!


# Code Examples

Examples of requests using our API endpoints

Below are some examples of queries in Javascipt and Python. For more code samples, please look at the [SDKs](/readme/using-the-2050-materials-api/sdks)

## Get API token from Developer token

### Javascript

{% code overflow="wrap" %}

```javascript
const axios = require('axios');
async function fetchData() {
    try {
      const response = await axios.get('https://app.2050-materials.come/developer/api/getapitoken', {
        headers: {
            'Access-Control-Allow-Origin': '*',
            'Content-Type': 'application/json',
            'Authorization': 'Bearer YOUR_API_TOKEN',
        },
        mode: 'no-cors'
      });
      console.log(response.data);
    } catch (error) {
      console.error('Error fetching data: ', error);
    }
  }
  
  fetchData();
```

{% endcode %}

### Python

{% code overflow="wrap" %}

```python
import requests

url = "https://app.2050-materials.com/developer/api/getapitoken/"

payload = {}
headers = {
  'Authorization': 'Bearer {{Developer Token from https://app.2050-materials.com/accounts/edit-account/}}'
}

response = requests.request("GET", url, headers=headers, data=payload)

print(response.text)
```

{% endcode %}

## Get building board products with an EPD

### Step 1: Render filters and create dictionaries for filtering

{% code overflow="wrap" %}

```python
# This code filters for product types and material types 

import requests

base_api_url = 'https://app.2050-materials.com/'
get_filters_url = f'{base_api_url}developer/api/get_product_filters'

headers = {
    'Authorization': f'Bearer YOUR_API_TOKEN',
    'Content-Type': 'application/json',
}

try:
    response = requests.get(get_filters_url, headers=headers)
    response.raise_for_status()
    filters = response.json()
except requests.RequestException as e:
    raise Exception(f"Failed call to get_products API: {e}")
    
product_types = {}
for i in filters['product_type']['filter_options']:
    product_types[i['name']] = i['id']

material_types = {}
for i in filters['material_types']['filter_options']:
    material_types[i['name']] = i['id']
    
certificate_type = {}
for i in filters['certificate_type']['filter_options']:
    certificate_type[i['name']] = i['id']
```

{% endcode %}

## Limited data: /get\_products\_open\_api

{% code overflow="wrap" %}

```python
# This code gets building boards (product_type.id = 5), with an EPD (certificate_type.id=1) and groups then by company_name
import requests

url = "https://app.2050-materials.com/developer/api/get_products_open_api?group_by=company_name&certificate_type=1&product_type=5"

#The above code could also replace the filters in this way:
#certificate_type_selected = certificate_type['EPD']
#product_type_selected = product_type['Building boards (Multiple functions)']

#url = "https://app.2050-materials.com/developer/api/get_products_open_api?group_by=company_name&certificate_type=&product_type=5"

payload = {}
headers = {'Authorization': 'Bearer YOUR_API_TOKEN }

response = requests.request("GET", url, headers=headers, data=payload)

print(response.text)

```

{% endcode %}

## Expanded data: /get\_products

{% code overflow="wrap" %}

```python
# This code gets building boards (product_type.id = 5), with an EPD (certificate_type.id=1) and groups then by company_name
# Additionally, this filters to products from Canada (country=Canada) only.

import requests

url = "https://app.2050-materials.com/developer/api/get_products?group_by=company_name&certificate_type=1&product_type=5&country=Canada"


payload = {}
headers = {'Authorization': 'Bearer YOUR_API_TOKEN }

response = requests.request("GET", url, headers=headers, data=payload)

print(response.text)
```

{% endcode %}

### Generic Data: /get\_generic\_materials

{% code overflow="wrap" %}

```python
# This code gets building boards from the generic data (product_type.id = 5)

import requests

url = "https://app.2050-materials.com/developer/api/get_generic_materials?product_types=5"

payload = {}
files={}
headers = {'Authorization': 'Bearer YOUR_API_TOKEN'}

response = requests.request("GET", url, headers=headers, data=payload, files=files)

print(response.text)

```

{% endcode %}

## Retrieve Warming Potential and EC for a High-Rise Residential building /get\_co2\_warming\_potential

{% code overflow="wrap" %}

```python
import requests

url = "https://app.2050-materials.com/developer/api/get_co2_warming_potential?building_type=Residential, High-rise&gross_internal_floor_area=1000&glazing_percentage=30&materials_type=High-carbon (Metal, Concrete)&stories=3"

payload = {}
headers = {
  'Authorization': 'Bearer YOUR_API_TOKEN'
}

response = requests.request("GET", url, headers=headers, data=payload)

print(response.text)
```

{% endcode %}

## Flow to retrieve tokens, get filters, and render building boards with EPDs in Canada.

#### Step 1: Obtain Bearer Token

{% code overflow="wrap" %}

```python
import requests

url = "https://app.2050-materials.com/developer/api/getapitoken/"

payload = {}
headers = {
  'Authorization': 'Bearer {{Developer Token from https://app.2050-materials.com/accounts/edit-account/}}'
}

response = requests.request("GET", url, headers=headers, data=payload)
bearer_token = response['api_token']
```

{% endcode %}

#### Step 2: Get Filters and Create Dictionaries for Product Types, Material Types, and Certificate Types

{% code overflow="wrap" %}

```python
codebase_api_url = 'https://app.2050-materials.com/'
get_filters_url = f'{base_api_url}developer/api/get_product_filters'

# Update headers with the obtained bearer token
headers = {
    'Authorization': f'Bearer {bearer_token}',
    'Content-Type': 'application/json',
}

try:
    # Request to get product filters
    filters_response = requests.get(get_filters_url, headers=headers)
    filters_response.raise_for_status()
    filters = filters_response.json()

    # Parsing and storing filters in dictionaries
    product_types = {i['name']: i['id'] for i in filters['product_type']['filter_options']}
    material_types = {i['name']: i['id'] for i in filters['material_types']['filter_options']}
    certificate_type = {i['name']: i['id'] for i in filters['certificate_type']['filter_options']}
except requests.RequestException as e:
    raise Exception(f"Failed to retrieve product filters: {e}")
```

{% endcode %}

#### Step 3: Use Filters to Call `get_products` API and Create DataFrame

{% code overflow="wrap" %}

```python
codeimport pandas as pd

# Define your filters here
certificate_type_selected = certificate_type['EPD']
product_type_selected = product_type['Building boards (Multiple functions)']
selected_country = 'Canada'

# Constructing the URL with query parameters
products_url = f"{base_api_url}developer/api/get_products?group_by=company_name&certificate_type={selected_certificate_type}&product_type={selected_product_type}&country={selected_country}"

try:
    # Request to get products data
    products_response = requests.get(products_url, headers=headers)
    products_response.raise_for_status()
    products_data = products_response.json()

    # Creating a DataFrame from the response
    products_df = pd.DataFrame(products_data)
except requests.RequestException as e:
    raise Exception(f"Failed to retrieve products data: {e}")

# Optional: Display the DataFrame
print(products_df.head())
```

{% endcode %}

#### Notes:

1. **Error Handling:** The code includes try-except blocks to handle potential request errors.
2. **Bearer Token**: Ensure to replace `{{Developer Token}}` with your actual developer token.
3. **Filters**: The code dynamically creates dictionaries for different filter types based on the response from the `get_product_filters` endpoint.
4. **DataFrame Creation**: The final step converts the product data into a pandas DataFrame for easy manipulation and analysis.


# Data Documentation

The next few pages contain more information about the content of our databases, as well as the methodology and sources we use.&#x20;

{% content-ref url="/pages/fEtGAf463uI6NITeE32b" %}
[Content of API Endpoints (Descriptive)](/data-documentation/content-of-api-endpoints-descriptive)
{% endcontent-ref %}

{% content-ref url="/pages/p2JERO1Hyk51qB7HPWiE" %}
[Data Sources](/data-documentation/data-sources)
{% endcontent-ref %}

{% content-ref url="/pages/W6CW8Es2gkroIC1mFqLg" %}
[Data Import](/data-documentation/data-import)
{% endcontent-ref %}

{% content-ref url="/pages/u5fT7mjOh4oy55izrIJi" %}
[Data Structuring & QA](/data-documentation/data-structuring-and-qa)
{% endcontent-ref %}

{% content-ref url="/pages/4LpNSRqslwLXr0ngDVvJ" %}
[2050 Materials Data Framework](/data-documentation/2050-materials-data-framework)
{% endcontent-ref %}


# Content of API Endpoints (Descriptive)

## **API Endpoints (Updated 10/04/2026)**

2050 Materials provides three core API endpoints, each catering to a different stage of the construction and sustainability workflow — from detailed product lookups, to early-stage benchmarking, to automated matching of real-world procurement data. Here's a simplified explanation of each:

### The 3 API endpoints (read more below)

#### 1. Product-Specific Database API

This endpoint offers detailed information on more than **180,000 building products** from over **70 countries**, supplied by **3,100+ manufacturers**. It includes a comprehensive range of sustainability metrics for each product, such as Global Warming Potential (GWP), Ozone Depletion Potential (ODP), Acidification Potential (AP), recycled content, water use, and other environmental impact data.

This API is useful for professionals seeking specific product-level data to make informed, eco-friendly choices in their projects. It is a complete database covering construction and architectural products, with information gathered from EPDs, certification bodies (Cradle to Cradle, Declare, etc.), and content curated through the 2050 Materials data team.

For a preview of the type of information available, please visit [app.2050-materials.com](https://app.2050-materials.com/).

**Best for:** detailed product-level carbon and environmental data, material selection, benchmarking "how good is good," and feeding verified data into design and specification tools.

***

#### 2. Generic-Materials Database API

This endpoint provides average data derived from a wide range of sources, including digitized Environmental Product Declarations (EPDs) and multiple national databases such as **OKOBAUDAT, KBOB, iStructE, ICE, UK Statistics**, and others. It is designed to offer a broader, regionalized perspective on the sustainability metrics of generic construction materials, rather than specific products.

This is a frequently updated database of around **12,000 generic construction materials and assemblies** (e.g. wall, floor, or roof build-ups) used in early-stage assessments and as a benchmark against product-specific information. The database is generated by the 2050 Materials data team using state-of-the-art statistical approaches to aggregate and average the ever-growing product library, and is structured according to the 2050 Materials database framework.

**Best for:** early-stage design and estimation, regional fall-back values, benchmarking, and any workflow where a specific EPD is not yet available. For a preview of the type of information available, please contact us.

***

#### 3. Automated Mapping (Best Match) API

This endpoint automates one of the most time-consuming steps in any carbon assessment: connecting unstructured, real-world data — such as a **Bill of Quantities (BoQ), invoice, or cost estimate** — to the right environmental data points inside the 2050 Materials database.

Given a list of free-text item descriptions, the Best Match API returns the best-matching generic materials and/or products, along with a match confidence score and the associated carbon and environmental metrics. This removes the need for manual lookup, spreadsheet matching, or custom classification work.

This endpoint includes three main components:

* **Semantic Matching Engine:** The API uses AI and natural language processing to interpret unstructured item descriptions and align them with the 2050 Materials product and generic-material database. Each match is returned with a confidence score (0–1) so that users can review and validate results.
* **Configurable Filtering and Keywords:** Users can narrow results using 20+ product filters (fire performance, EPD operator, product type, company, manufacturing country, etc.) and 15+ generic-material filters (material name, data source, declared unit, date ranges, etc.). Custom keyword dictionaries can also be provided to tailor classifications to a specific project or company taxonomy.
* **Structured, Ready-to-Use Response:** For each input item the API returns matched product and material names, classification hierarchies (including Uniclass systems/products/materials), manufacturing emissions data, product URLs, and source identifiers — all in a single structured JSON response ready to be integrated into a reporting pipeline or dashboard.

**Best for:** contractors, quantity surveyors, procurement teams, and sustainability analysts who need to turn BoQs, invoices, or procurement data into reliable carbon reports quickly. Typical use cases include automating product categorization from procurement documents, attaching environmental data to bill-of-materials items, and standardizing material classification across datasets and projects.

***

Each of these endpoints serves a unique purpose in the realm of sustainable construction, enabling users to access tailored data for specific needs — from detailed product analyses and early-stage benchmarking, to the automated matching of real procurement data against the 2050 Materials database.

> **Note:** 2050 Materials also offers an **Embodied Carbon & Warming Potential** endpoint for building-level parametric estimation (based on area, typology, glazing, and similar inputs). This tool remains available on request, but is considered a complementary research-oriented endpoint rather than one of the three core production APIs described above.


# Data Sources

Where we find, collect and calculate data

## Data sources

### Product Database

The table below indicates all the sources of data which the 2050 Materials team collects in order to offer the most complete sustainability database

<table><thead><tr><th width="399">Data sources for Product database</th><th width="116">Frequency of Update</th><th>Number of products / assemblies</th></tr></thead><tbody><tr><td><a href="https://www.buildingtransparency.org/">EC3 Database</a></td><td>Bi-weekly</td><td>>160'000</td></tr><tr><td><a href="https://www.eco-platform.org/home.html">Eco Platform</a></td><td>Bi-weekly</td><td>>25'400</td></tr><tr><td><a href="https://www.environdec.com/home">EPD International</a></td><td>Bi-weekly</td><td>≈ 5'000</td></tr><tr><td><a href="https://bregroup.com/services/standards/environmental/en-15804-environmental-product-declaration-epd">BRE EPDs</a></td><td>On demand</td><td>≈ 360</td></tr><tr><td><a href="https://www.epdhub.com/">EPD Hub</a></td><td>Weekly</td><td>≈ 4'500</td></tr><tr><td>EPDs from Manufacturer Websites</td><td>Ad-hoc</td><td>≈ 800</td></tr><tr><td>Self-declared LCAs by Manufacturers</td><td>Ad-hoc</td><td>&#x3C; 50</td></tr><tr><td>PEPs (Product Environmental Profile) *</td><td>Weekly</td><td>≈ </td></tr><tr><td>TM65 (Embodied carbon assessments for MEP products)</td><td>Ad-hoc</td><td>&#x3C; 50</td></tr><tr><td>AFRDI</td><td>Monthly</td><td>&#x3C; 50</td></tr><tr><td>Application Guides (as provided by manufacturers)</td><td>Ad-hoc</td><td>≈ 200</td></tr><tr><td>BIFMA</td><td>Ad-hoc</td><td>≈ 100</td></tr><tr><td>Product Brochures (as provided by manufacturers)</td><td>Ad-hoc</td><td>≈ 200</td></tr><tr><td>C2C Certified</td><td>Monthly</td><td>88</td></tr><tr><td>Case Studies</td><td>Ad-hoc</td><td>&#x3C; 50</td></tr><tr><td>Cradle to Cradle Certified Material Health</td><td>Monthly</td><td>74</td></tr><tr><td>Product Data-sheets</td><td>Ad-hoc</td><td> &#x3C; 50</td></tr><tr><td>Declare Label</td><td>Monthly</td><td>≈ 3'000</td></tr><tr><td>EU Ecolabel</td><td>Ad-hoc</td><td> &#x3C; 50</td></tr><tr><td>FSC</td><td>Ad-hoc</td><td> &#x3C; 1'000</td></tr><tr><td>Green Guard</td><td>Ad-hoc</td><td> &#x3C; 50</td></tr><tr><td>HPD</td><td>Ad-hoc</td><td>≈ 100</td></tr><tr><td>Indoor Advantage</td><td>Ad-hoc</td><td>&#x3C; 50</td></tr><tr><td>Indoor Air Comfort</td><td>Ad-hoc</td><td>&#x3C; 50</td></tr><tr><td>Indoor Air Comfort GOLD</td><td>Ad-hoc</td><td>&#x3C; 50</td></tr><tr><td>ISO 14001</td><td>Ad-hoc</td><td>&#x3C; 50</td></tr><tr><td>LEVEL</td><td>Ad-hoc</td><td>&#x3C; 50</td></tr><tr><td>NaturePlus</td><td>Ad-hoc</td><td>&#x3C; 50</td></tr><tr><td>PEFC</td><td>Ad-hoc</td><td>&#x3C; 50</td></tr><tr><td>REACH Declaration</td><td>Ad-hoc</td><td>&#x3C; 50</td></tr><tr><td>Specification Documents (as provided by manufacturers)</td><td>Ad-hoc</td><td>&#x3C; 50</td></tr><tr><td>WELL V2 Declaration</td><td>Ad-hoc</td><td>&#x3C; 50</td></tr></tbody></table>

<details>

<summary>* A note on PEPs</summary>

**What is a PEP**\
A PEP (Product Environmental Profile) is a type of Type III Environmental Product Declaration (EPD) specifically tailored for electrical, electronic, and HVAC-R products. As an ISO 14025 compliant document, it provides verified, transparent data on a product's environmental impact—such as carbon footprint—across its entire life cycle.

**Differences between EPDs and PEPs**\
The 2050 Materials data ingestion engine processes both standard Environmental Product Declarations (EPDs) and Product Environmental Profiles (PEPs). Users should be aware of a fundamental difference in how environmental impacts are reported between these formats:

* Construction EPDs: Typically utilise standardised physical units (e.g., kg, m2, m3), allowing for high-confidence normalisation and bulk material comparisons.
* Electrical/Mechanical PEPs: Often utilise performance-based functional units (e.g. "kW per EN14825 over 10 years").

**Technical Impact on Data Processing**\
Due to the highly specific nature of electrical equipment, PEP functional units are frequently custom and non-standardised relative to general construction data. While this specificity ensures engineering accuracy, it limits *comparability*.

To ensure data continuity (in the odd cases where performance-based units cannot be converted to standard physical quantities) our system employs a "per piece" (unit) fallback.&#x20;

For example, when a PEP uses a highly specific custom unit, the functional unit is indicated as the individual product component (per piece of the MEP system). When "piece" is indicated for a product with environmental impact data derived from a PEP, users should verify the specific output to ensure the total impact is scaled with the correct functional unit.

</details>

### Generic Material Data

<table><thead><tr><th width="339">Source Name</th><th width="135">Data Source Type</th><th width="103" data-type="number">Number of Items</th><th width="120">Region / Country</th><th>Year</th></tr></thead><tbody><tr><td>2050 Materials Database (Statistical calculations updated yearly, see <a href="/methodology-documentation">methodology docs</a>)</td><td>Derived (2050 Materials)</td><td>1000</td><td>European &#x26; Global</td><td>2023</td></tr><tr><td>2050 Materials Quantity Surveyor Dataset - 2024</td><td>Derived (2050 Materials)</td><td>470</td><td>UK Focused</td><td>2024</td></tr><tr><td>2050 Materials Structural Systems (Embodied Carbon per m2 GIA)</td><td>Derived (2050 Materials)</td><td>104</td><td>European &#x26; Global</td><td>2024</td></tr><tr><td>2050 Materials Landscape Architecture Averages</td><td>Derived (2050 Materials)</td><td>9</td><td>UK</td><td>2024</td></tr><tr><td>2050 Materials Services Equipment (Global Averages)</td><td>Derived (2050 Materials)</td><td>172</td><td>Global</td><td>2025</td></tr><tr><td>2050 Materials Services Equipment (Machinery use)</td><td>Derived (2050 Materials)</td><td>67</td><td>Europe</td><td>2026</td></tr><tr><td>2050 Materials Research (Structural Materials)</td><td>Derived (2050 Materials)</td><td>49</td><td>Europe</td><td>2024</td></tr><tr><td><a href="https://circularecology.com/news/ice-database-v3-launched">ICE Database V3.0 - Bath University UK</a></td><td>Uploaded</td><td>508</td><td>UK</td><td>2019</td></tr><tr><td><a href="https://circularecology.com/embodied-carbon-footprint-database.html">ICE Database V4.0 - Circular Ecology</a></td><td>Uploaded</td><td>544</td><td>UK</td><td>2024</td></tr><tr><td><a href="https://circularecology.com/embodied-carbon-footprint-database.html">ICE Database V4.1 - Circular Ecology</a></td><td>Uploaded</td><td>543</td><td>UK</td><td>2025</td></tr><tr><td><a href="https://nationalhighways.co.uk/suppliers/design-standards-and-specifications/carbon-emissions-calculation-tool/">UK National Highways 2025</a></td><td>Uploaded</td><td>364</td><td>UK</td><td>2025</td></tr><tr><td><a href="https://www.boverket.se/en/start/laws-and-regulations/climate-declaration/climate-database/">Boverkets V02.07.000</a></td><td>Uploaded</td><td>230</td><td>Sweden</td><td>2026</td></tr><tr><td><a href="https://www.healthyworkstations.com/resources/Environment/FIRA.CarbonFootprint.pdf">FIRA Furniture Emissions Database</a></td><td>Uploaded</td><td>34</td><td>UK</td><td>2021</td></tr><tr><td><a href="https://www.istructe.org/">IStructE Embodied Carbon Database</a></td><td>Uploaded</td><td>41</td><td>UK</td><td>2023</td></tr><tr><td><a href="https://www.igbc.ie/generic-data/">IGBC Embodied Carbon Database</a></td><td>Uploaded</td><td>285</td><td>Ireland</td><td>2022</td></tr><tr><td><a href="https://www.oekobaudat.de/en.html">OKOBAUDAT - Germany</a> (Provided by BMWSB/BBSR.)</td><td>Uploaded</td><td>1900</td><td>Germany</td><td>2024</td></tr><tr><td><a href="https://www.kbob.admin.ch/kbob/de/home.html">KBOB Materials &#x26; Technology - Switzerland National Database (German/English/French)</a> - V6.2</td><td>Uploaded</td><td>361</td><td>Switzerland</td><td>2023</td></tr><tr><td><a href="https://www.branz.co.nz/environment-zero-carbon-research/framework/branz-co2nstruct/">CO₂NSTRUCT - Branz NZ</a></td><td>Uploaded</td><td>2907</td><td>New Zealand</td><td>2023</td></tr><tr><td><a href="https://carbonleadershipforum.org/clf-material-baselines-2023/">2023 &#x26; 2025 CLF North American Material Baselines</a> (Licensed under CC BY 4.0.)</td><td>Uploaded</td><td>430</td><td>USA &#x26; Canada</td><td>2025</td></tr><tr><td><a href="https://timberdevelopment.uk/resources/2026-embodied-carbon-data-for-timber-products/">Timber Development UK</a></td><td>Uploaded</td><td>11</td><td>UK</td><td>2026</td></tr><tr><td><a href="https://www.essexdesignguide.co.uk/climate-change/essex-embodied-carbon-policy-study/">Essex Embodied Carbon Policy Study</a></td><td>Uploaded</td><td>26</td><td>UK</td><td>2024</td></tr><tr><td><a href="https://futurehomes.org.uk/wlc-tool">Future Homes Hub UK</a> - Assemblies &#x26; Materials</td><td>Uploaded</td><td>55</td><td>UK</td><td>2024</td></tr><tr><td><a href="https://www.london.gov.uk/programmes-strategies/planning/implementing-london-plan/london-plan-guidance/whole-life-cycle-carbon-assessments-guidance">GLA LPG - Whole Life-Cycle Carbon Assessments 2022</a> (MEP Values)</td><td>Uploaded</td><td>3</td><td>UK</td><td>2022</td></tr><tr><td><a href="https://environment.govt.nz/publications/measuring-emissions-a-guide-for-organisations-2022-summary-of-emission-factors/">New Zealand Environment Ministry - GHG Factors (2022)</a> (Licensed under CC BY 4.0.)</td><td>Uploaded</td><td>831</td><td>New Zealand</td><td>2022</td></tr><tr><td><a href="https://environment.govt.nz/publications/measuring-emissions-a-guide-for-organisations-2024-detailed-guide/">New Zealand Environment Ministry -  GHG Factors (2024)</a> (Licensed under CC BY 4.0.)</td><td>Uploaded</td><td>874</td><td>New Zealand</td><td>2024</td></tr><tr><td><a href="https://environment.govt.nz/publications/measuring-emissions-guide-2025/">New Zealand Environment Ministry - GHG Factors (2025)</a> (Licensed under CC BY 4.0.)</td><td>Uploaded</td><td>876</td><td>New Zealand</td><td>2025</td></tr><tr><td><a href="https://measuringemissionsguide.environment.govt.nz/files_download.html">New Zealand Environment Ministry - GHG Factors (2026.2)</a> (Licensed under CC BY 4.0.)</td><td>Uploaded</td><td>898</td><td>New Zealand</td><td>2026</td></tr><tr><td><a href="https://www.gov.uk/government/publications/greenhouse-gas-reporting-conversion-factors-2025">UK Government GHG Conversion Factors for Company Reporting</a> (2022 /2024 / 2025)</td><td>Uploaded</td><td>5498</td><td>UK</td><td>2024 &#x26; 2025</td></tr><tr><td><a href="https://www.cibse.org/tm65">CIBSE TM65 Materials / Refrigerants - Embodied Carbon (2023)</a></td><td>Uploaded</td><td>39</td><td>UK</td><td>2023</td></tr><tr><td><a href="https://www.dcceew.gov.au/climate-change/publications/national-greenhouse-accounts-factors-2023">Australian National Greenhouse Accounts Factors (July 2023)</a> (© Commonwealth of Australia 2023. Department of Climate Change, Energy, the Environment and Water, licensed under CC BY 4.0)</td><td>Uploaded</td><td>183</td><td>Australia</td><td>2023</td></tr><tr><td><a href="https://www.dcceew.gov.au/climate-change/publications/national-greenhouse-accounts-factors-2025">Australian National Greenhouse Accounts Factors</a> (© Commonwealth of Australia 2025. Department of Climate Change, Energy, the Environment and Water, licensed under CC BY 4.0)</td><td>Uploaded</td><td>207</td><td>Australia</td><td>2025</td></tr><tr><td><a href="https://carbonleadershipforum.org/office-buildings-lca/">CLF - LCA of MEP and TI in Buildings</a> (Licensed under CC BY 4.0.)</td><td>Uploaded</td><td>24</td><td>USA</td><td>2019</td></tr><tr><td><a href="https://www.epa.gov/climateleadership/ghg-emission-factors-hub">EPA GHG Emission Factors Hub</a> </td><td>Uploaded</td><td>390</td><td>USA</td><td>2025</td></tr><tr><td><a href="https://www.concretecentre.com/TCC/media/TCCMediaLibrary/Events/Concrete%20Compass/LCCG-Market-Benchmark-v4-0-2025-Update.xlsx">The Concrete Centre - LCCG Market Benchmark v4.0 (2025 Update)</a></td><td>Uploaded</td><td>17</td><td>UK</td><td>2025</td></tr><tr><td><a href="https://legacy.plasticseurope.org/application/files/9115/1783/7818/20140306164026-euro_chlor_eco-profile_chlorine_2014-03.zip">Euro Chlor / PlasticsEurope Eco-profile - Chlor-alkali (2014)</a></td><td>Uploaded</td><td>5</td><td>Europe</td><td>2014</td></tr><tr><td><a href="https://plasticseurope.org/wp-content/uploads/2023/01/MDI-2021.zip">ISOPA / PlasticsEurope Eco-profiles - Isocyanates (2021)</a></td><td>Uploaded</td><td>4</td><td>Europe</td><td>2021</td></tr><tr><td><a href="https://plasticseurope.org/sustainability/circularity/life-cycle-thinking/eco-profiles-set/">PlasticsEurope Eco-profiles</a></td><td>Uploaded</td><td>39</td><td>Europe</td><td>2023*</td></tr><tr><td><a href="https://www.nabers.gov.au/publications/national-emission-factors-database">NABERS National Material Emission Factors v2026.2 (Default, uncertainty-adjusted) - Oceania</a></td><td>Uploaded</td><td>117</td><td>Australia</td><td>2026</td></tr><tr><td><a href="https://www.kbob.admin.ch/de/oekobilanzdaten-im-baubereich">KBOB (V9)</a></td><td>Uploaded</td><td>733</td><td>Switzerland</td><td>2026</td></tr></tbody></table>


# Data Import

## Understanding Importers in the 2050-Materials Platform

### Overview

The 2050-Materials platform uses a series of importers to gather and process environmental data about construction materials from various sources. These importers are crucial for ensuring that the data integrated into our platform is accurate, consistent, and aligned with our standards.

### How Importers Work

#### Four-Stage Process

1. **API Calls**: The importers begin by making requests to various APIs to collect raw data.
2. **Cleaning and Processing**: The raw data is then cleaned and transformed to ensure quality and usability.
3. **Constructing Dataframe**: The cleaned data is structured into dataframes that align with our platform's requirements.
4. **Data Import**: Finally, the processed data is uploaded to the 2050-Materials platform using our API.

#### Key Features

* **Predefined Mapping**: Classifies products from different sources into our predefined categories of product types, material types, and building applications for consistency.
* **Unit Matching and Rescaling**: Converts and adjusts units to a standard set for comparability, especially in LCA (Life Cycle Assessment) fields.

### Detailed Data Processing

#### Technical Characteristics

Collects crucial technical characteristics like mass, density, grammage, and linear density, enabling unit conversion and enhancing data utility.

#### LCA Fields

Gathers comprehensive LCA data fields like fresh water use, energy use, and emissions, contributing to a thorough environmental impact assessment of materials.

#### Execution and Scheduling

* **Server and Scheduling**: The importers run on an external server and are scheduled periodically using `crontab`.
* **Customization**: Importers like EC3, Eco Platform, and Toxnot have specific arguments for fine-tuned control over the data import process.

### Conclusion

The importers are a backbone of the 2050-Materials platform, ensuring that we continually receive, process, and integrate high-quality data from a variety of sources. This mechanism supports our commitment to providing accurate and up-to-date environmental data about construction materials.

***

*Note: This document is intended for customers of the 2050-Materials platform, providing an overview of our importers and their role in data integration.*


# Data Structuring & QA

**Introduction**

At 2050 Materials, our commitment to providing high-quality and reliable data on sustainable construction materials is unwavering. We understand the critical role data accuracy plays in the decision-making processes of our clients. This document outlines our comprehensive approach to data structuring and quality assurance (QA), detailing both automated and manual methods to ensure the utmost data integrity.

**Data Structuring**

Our data structuring process is meticulously designed to ensure consistency and relevance across various data sources. The 2050 Materials research team employs specialized mapping scripts for each data source. These scripts are tailored to label and classify data into a uniform format, aligning with our stringent data standards. This process includes:

* **Data Mapping**: Customized scripts transform raw data from diverse sources into a standardized structure, ensuring uniformity in data representation.
* **Data Classification**: We categorize the data based on predefined criteria, such as material type, application, and sustainability metrics, to facilitate easy retrieval and analysis.

**Quality Assurance Approach**

The QA process at 2050 Materials is twofold, involving both statistical methods and manual verification:

1. **Statistical Quality Assurance**:
   * **Automated Checks**: Our system employs advanced algorithms to automatically scrutinize the data for anomalies, inconsistencies, and outliers. This includes validation of data formats, range checks, and cross-referencing against known benchmarks.
   * **Statistical Analysis**: Regular statistical analysis is conducted to identify patterns and trends that might indicate data quality issues.
   * **Data Source Monitoring**: Continuous monitoring of data sources ensures their reliability and timeliness, safeguarding against outdated or inaccurate information.
2. **Manual Verification**:
   * **Expert Review**: Our team of specialists conducts thorough manual reviews of data sets. This includes cross-verification with independent databases and fact-checking with source providers.
   * **Sample Auditing**: Regular auditing of random data samples ensures that our automated systems are functioning correctly and that data integrity is maintained.
   * **Feedback Integration**: Client feedback and insights are integral to our QA process, helping us to continually refine our data accuracy.

**Ensuring Data Source Connectivity**

* **Reliable Integration**: We ensure that our data sources remain reliably connected through continuous monitoring and regular updates to integration protocols.
* **Fail-Safe Mechanisms**: Automated alerts and fail-safe systems are in place to quickly identify and rectify any data source connectivity issues.

**Transparency and Consumer Trust**

We believe in transparency as a cornerstone of trust. To this end, we provide:

* **Data Source Documentation**: Comprehensive documentation of all data sources, including origin, collection methods, and update frequencies.
* **Accuracy Metrics**: We offer insights into the accuracy levels of our data, including confidence intervals and error margins.
* **Open Channels for Queries**: Our team is always available to address any queries regarding data sources, structuring methods, or QA processes.

**Continuous Improvement**

Our approach to data structuring and QA is not static; it is a continuously evolving process. We incorporate the latest technological advancements and industry best practices to stay ahead in delivering reliable, high-quality data.


# Data Enrichment

A high-level description of the types of data enrichment which happens on top of publicly available data which 2050 Materials collects.

## Data Enrichment

At 2050 Materials, we go beyond basic data collection. Our platform enriches raw product and material data to ensure completeness, consistency, and usability across real-world workflows. Below is an overview of the types of enrichment we apply to the data accessible via our API.

***

## Data Enrichment Overview

The 2050 Materials platform applies a comprehensive enrichment pipeline to raw construction product data to ensure high data quality, completeness, and structural consistency. This page outlines the enrichment logic from a systems and integration perspective.

Our goal is to make environmental product data immediately usable in digital workflows across LCA automation, BIM integrations, procurement optimization, and reporting pipelines.

***

### 1. Fallback Values for Incomplete Data

Many construction products are published with missing or inconsistent data fields. To ensure operability of downstream calculations, our system estimates key properties using statistically derived **fallback values**.

#### Supported Fields

* `density` (kg/m³) — for mass-volume conversions
* `grammage` (kg/m²) — for area-based estimates
* `linear_density` (kg/m) — for length-based products
* `mass_per_piece` (kg/piece) — for discrete units
* `thickness`, `cross_sectional_area` — for geometry calculations
* `thermal_conductivity`, `porosity`, `compression_strength`, `life_expectancy`
* `GWP_A1-A3` and `biogenic_CO2` (when EPDs are unavailable)

Fallbacks are generated per `(material_type, product_type)` combinations using non-null statistical aggregates (e.g., median, count thresholds). These are updated **monthly** to reflect the latest corpus distributions and reduce propagation of stale estimates.

> All estimated fields are marked with a metadata flag:\
> `[field]_estimated = True`

***

### 2. Product Classification Mapping

All product records are assigned to one or more classification systems for improved interoperability:

#### Supported Classification Systems

* **Uniclass 2015** (`Products`, `Systems`, `Materials`)
* **RICS NRM**
* **2050 Materials internal taxonomy (see** [**here**](/data-documentation/2050-materials-data-framework)**)**

Classification is applied using a hybrid pipeline:

* **Rule-based mappings** for structured inputs
* **AI-assisted inference** (using product name, manufacturer, description fields) when structured data is missing or ambiguous

***

### 3. Keyword Tagging & Semantic Metadata

Each product is enriched with a curated set of semantic tags used for:

* Enhanced search (e.g. `recyclable`, `natural material` , `VOC-free`, `acoustic`, `bio-based`)
* Filtered queries via API or UI
* Compatibility with procurement/specification workflows
* Significant mapping capabilities used under the [automated mapping endpoint](/readme/using-the-2050-materials-api/available-endpoints/automated-mapping-get-best-match)

Tags are periodically revised and versioned to reflect industry evolution and terminology updates.

***

### 4. EPD Parsing and Structuring

When product-specific EPDs are available, our pipeline uses AI-driven document parsing to extract structured data directly from PDFs. This ensures that the wealth of information within EPDs is made machine-readable and analysis-ready.

**Extracted EPD Fields**

* **Product Identification & Company Information**: Product name, descriptive name, detailed description, company name, contact information (email, address, website), Global Trade Item Number (GTIN), and EPD registration number.
* Product Classification & Attributes: Product type, material type, applicable building types, manufacturing location, and various physical and performance attributes (density, grammage, linear density, mass per piece, thickness, cross-sectional area, fire performance, color, warranty, texture, steel grade, U-value, porosity, compression strength, impact strength, thermal conductivity, elasticity/plasticity, abrasion resistance, corrosion resistance, weathering resistance, solar heat gain coefficient, slip resistance, acoustic performance, maintenance, life expectancy).
* MEP/HVAC Specifics: Concrete mix, consistence class, cooling capacity, heating capacity, rated heat power, refrigerant type, refrigerant charge, tank volume, flow rate, head, nominal thermal power, useful power, charging power (3-phase, 1-phase), and charging ampere.
* Certificate Details: Type of certificate, date of issue, and expiry date.
* Performance attributes (e.g., `fire rating`, `durability`, `thermal resistance`)
* Standard references (EN 15804, ISO 14025, etc.)
* Life Cycle Assessment (LCA) Data: Comprehensive LCA impact indicators across various modules (A1, A2, A3, A1A2A3, A4, A5, A4A5, B1-B7, Btotal, C1-C4, C2C3C4, Ctotal, D), including resource use (water, primary energy, secondary fuels, secondary materials), waste disposal, and environmental potentials (abiotic depletion, acidification, ozone depletion, eutrophication, tropospheric ozone formation, global warming potential, water deprivation, ecotoxicity, human toxicity, ionising radiation, particulate matter formation, soil quality).
* Material Facts: Compliance standards, EPD operator, Product Category Rules (PCR) name, declared unit and quantity, mass per declared unit, and EPD language.
* Detailed Material Composition: Breakdown of constituent materials, including percentages by weight, and specific details on biogenic carbon content and recycled/bio-based content.
* Packaging Information: Specific materials used in packaging, total packaging weight, and notes on packaging reuse systems.
* LCA Study Context: Information on LCA consultant, software/database versions used, data collection period, geographical scope, and key modeling assumptions.
* Detailed Scenario Parameters: Granular details about transport, installation, use (e.g., carbonation), demolition, and end-of-life assumptions.
* Product Variations & Scaling Factors: Identifiers for product variations, explicit per-declared-unit multipliers, and additional technical data for each variant.
* Module Scenarios: Documentation of different end-of-life or other life cycle module scenarios presented in the EPD, including descriptive names and associated EPD module labels.
* Unit Transformations: Records of unit conversions performed during data extraction to align with required schema units.

All parsed values are stored in a structured format and exposed via the API via the API under the `get_products` endpoint response.&#x20;

Structured EPDs are versioned and associated with traceable source metadata.

***

### 5. Internal Material Statistics (IMDB)

We maintain an **Internal Materials Database (IMDB)** derived from the statistical aggregation of product facts. It is used for:

* Generic material profiles (for early-stage design tools)
* Benchmarking and validation
* Fallback value generation (see more [here](/methodology-documentation/fallback-values))

The IMDB is updated in tandem with enrichment tasks, ensuring current and statistically representative reference data.

***

### 6. QA, Signals, and Model-Driven Validation

Data updates and inserts trigger internal QA signals:

* Auto-corrections of dependent fields (e.g. `mass_per_unit` from `density × volume`)
* Auto-propagation of classification changes
* Detection and resolution of missing or inconsistent technical fields

In addition, we use:

* **AI classifiers** to resolve ambiguous or unclassified records
* **Statistical outlier detection** to flag anomalies for review
* **Manual override tools** (via QA dashboards) for expert validation

Each record includes a data quality summary with validation flags and enrichment provenance.

***

### 7. Update Schedule

Enrichment processes run on a **monthly or weekly cadence** (depending on the topic):

* Fallbacks: recalculated for all (MT, PT) combinations
* Scaling factors: updated based on material-specific densities and units
* Biogenic corrections: refreshed for accuracy based on new inputs
* EPD parsing: runs continuously as new documents are ingested

All updates are atomic and version-tracked. Integrators can optionally subscribe to change logs via webhook.

***

### Summary

2050 Materials delivers enriched product data that’s:

* Statistically complete (even when input data is sparse)
* Structurally interoperable (mapped across multiple taxonomies)
* Semantically searchable (with contextual tags and attributes)
* Machine-readable and analysis-ready (parsed EPDs, normalized units)
* Traceable, versioned, and QA’d (with full enrichment metadata)

This ensures the data you pull via our API is not only technically correct—but also **ready for real use** in carbon estimation, procurement automation, early design feedback loops, and beyond.

***

For more information or to request enrichment coverage for a new material category, contact: [**api@2050-materials.com**](mailto:api@2050-materials.com)


# 2050 Materials Data Framework

The API is continuously updated with information which the 2050 Materials team collects around building products. If you are looking for a data point which is not part of this, please inquire about it by writing an email to <info@2050-materials.com>, and the team will inform you about the feasibility of including it.

2050 Materials classifies product and materials according to several existing systems (Uniclass, CSI Masterformat, CAWS, and more). However, we have also developed our own system which classifies product types and material types for each datapoint further.Below you will find the existing systems used. Keep in mind that these systems grow alongside our database. While we try to keep these documents up to date, there may be some values which do not appear but may exist in our database.

For the API users, all the available entities should be visible through the relevant API calls.

## Product Types & Material Types

To explore the available material types and product type categories and families, please refer to the [live dashboard on our API website](https://2050-materials.com/sustainability-data-api/#:~:text=2050%20Materials%20Live%20Product%20Data) (preview below).

<figure><img src="https://1393917768-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNcedlsikwS23wkNZpf4u%2Fuploads%2FTsfxqrZcBflz3OlvshgM%2FScreenshot%202026-01-23%20at%2014.36.21.png?alt=media&amp;token=56bcc522-6e73-4b30-b0d9-36c9157d5b11" alt=""><figcaption></figcaption></figure>

## Uniclass Products / Systems / Materials

See [NBS Uniclass](https://www.thenbs.com/our-tools/uniclass) for more details.


# Methodology Documentation

The following pages explain how we fill in specific data gaps, generate new data and calculate early-stage embodied carbon for assemblies and/or buildings.&#x20;

For additional detail not included in these docs, please reach out us at <info@2050-materials.com>&#x20;

{% content-ref url="/pages/weaV1bXeziP303q8f8DX" %}
[Fallback values](/methodology-documentation/fallback-values)
{% endcontent-ref %}

{% content-ref url="/pages/WuyRh4zlG0Q4o1LlocJV" %}
[Calculated Metrics (Biogenic Emissions)](/methodology-documentation/calculated-metrics-biogenic-emissions)
{% endcontent-ref %}

{% content-ref url="/pages/EgKvqIc92MBxdtBvZCex" %}
[Unit Conversions](/methodology-documentation/unit-conversions)
{% endcontent-ref %}

{% content-ref url="/pages/FiYBcrnVfOlT1hkbWWb0" %}
[Calculating Generic Material Data](/methodology-documentation/calculating-generic-material-data)
{% endcontent-ref %}

{% content-ref url="/pages/IUgjw7AgAjcjzuM03W3x" %}
[Tools](/methodology-documentation/tools)
{% endcontent-ref %}

[Embodied Carbon Optimiser Tools](/methodology-documentation/tools/embodied-carbon-optimiser-tools)

[Embodied Carbon Benchmarks Tool](/methodology-documentation/tools/embodied-carbon-benchmarks-tool)


# Fallback values

## Understanding Fallback Values in 2050-Materials Platform

### Overview

Fallback values in the 2050-Materials platform serve as default estimates for key physical and technical properties of construction materials when actual measurements are unavailable. They play a crucial role in unit conversion processes, as detailed in our unit conversion documentation, and help fill gaps in the technical specifications used for classification and comparison.

{% hint style="info" %}
A fallback value is only ever used to fill a gap. A manufacturer-reported or certified value always takes precedence over an estimate, and estimates are automatically refreshed as our reference data improves.
{% endhint %}

### Key Physical Properties

These properties are primarily used for unit conversion, translating a product's declared unit into mass.

* **Density (kg/m³)**: Used for converting volume to mass.
* **Grammage (kg/m²)**: Important for converting area to mass.
* **Linear Density (kg/m)**: Relevant for materials measured by length.
* **Mass per Piece (kg/piece)**: Used for products counted by pieces.
* **Thickness (m)**: Used for converting depth-based measurements.
* **Cross-Sectional Area (m²)**: Relevant for materials measured by profile.
* **Mass per Declared Unit (kg)**: The mass equivalent of a product's own declared unit, kept consistent with the properties above.

### Key Technical Properties

Beyond unit conversion, fallback values also fill gaps in technical and performance specifications:

* **Thermal Conductivity (W/mK)**: A material's ability to conduct heat.
* **Porosity**: The proportion of a material's volume that is void space.
* **Compression Strength (MPa)**: A material's resistance to compressive load.
* **Acoustic Performance**: A material's sound absorption characteristics.
* **Life Expectancy (years)**: The expected service life of a product type.
* **U-Value (W/m²K)**: A product's rate of heat transfer, calculated directly from thickness divided by thermal conductivity rather than looked up.

### How Fallback Values Are Derived

Fallback values are associated with specific material types or where available, material and product type combinations, and are derived in one of three ways:

* **Statistical averages**: For most physical properties, we use the average value reported by other verified products of the same material and product type in our own database, with outliers removed.
* **Industry reference values**: For technical properties where we don't yet have enough verified data (thermal conductivity, porosity, compression strength, acoustic performance), we use standard published values per material type, commonly used in construction and LCA practice.
* **Product-type reference data**: Life expectancy estimates draw on our internal product-type lifespan reference data.

This association with material type and product type ensures accurate and meaningful estimates that enhance the quality of our data, especially for unit conversions.

### Transparency and Data Integrity

* **Clear Indication**: Whenever a fallback value is used, it is clearly indicated in our system. Every estimated property has a matching flag (e.g. `density_estimated`) in the data you receive, distinguishing reported or certified values from estimated ones.
* **Maintaining Accuracy**: The use of fallback values allows us to maintain data accuracy and integrity, especially in cases where certified data is not available.

### Conclusion

Fallback values are an integral part of the 2050-Materials platform, ensuring that our data remains robust and reliable across both physical and technical properties, even in the absence of specific measurements or certifications. This system allows for more accurate analysis and comparison of environmental data related to construction materials.

***

*Note: This document is intended for customers of the 2050-Materials platform, providing an overview of fallback values and their role in our data system.*


# Calculated Metrics (Biogenic Emissions)

## Understanding Biogenic Emission Corrections in 2050-Materials Platform

### Overview

The 2050-Materials platform employs a process to update our material data (`MaterialFact` model) based on calculated biogenic emissions. This is crucial for accurately reflecting the carbon footprint of materials, especially those with significant biogenic content.

### The Correction Process

#### Key Points

* **Biogenic Emissions**: These are emissions associated with biogenic materials like wood. They're factored into the total and manufacturing CO2e (Carbon Dioxide Equivalent) values.
* **Fields Updated**: The process corrects fields like total biogenic CO2e, manufacturing emissions, end-of-life emissions, and total CO2e for the material.

#### Steps Involved

1. **Biogenic Material Percentage**: The system first checks the percentage of biogenic material by weight.
2. **Scaling Factor**: It retrieves a scaling factor to convert the declared unit to kilograms, essential for accurate corrections.
3. **Calculation**: Biogenic emissions are calculated based on the biogenic material percentage and scaling factor.
4. **Conditional Corrections**: Corrections are applied to manufacturing, end-of-life, and total CO2e emissions based on specific conditions.
5. **Updates**: The `MaterialFact` instance is updated with new corrected values.

### Importance of Biogenic Emission Corrections

Correcting for biogenic emissions is vital in providing a more accurate representation of a material's carbon footprint. This process helps ensure our platform delivers reliable and comprehensive environmental data.

***

*Note: This document is intended for customers of the 2050-Materials platform to provide an overview of how biogenic emission corrections are integrated into our system.*


# Unit Conversions

## Understanding Unit Conversion in 2050-Materials Platform

### What is Unit Conversion?

In the 2050-Materials platform, Life Cycle Assessment (LCA) data of construction products are expressed in various units like meters (m), square meters (m²), cubic meters (m³), kilograms (kg), or pieces. Unit conversion is a vital feature that allows us to transform these data into different units, such as converting cubic meters to kilograms using density or from imperial units to metric units.

### Why is Unit Conversion Important?

#### Better Comparisons and More Data

Unit conversion is crucial for:

1. **Enabling Comparisons**: It allows for more accurate comparisons between products by standardizing units of measurement.
2. **Increasing Data Availability**: By converting units, we can increase the amount of comparable data, which is particularly important for rare materials or those with less available data.

#### Improved Statistics and Analysis

* **More Accurate Statistics**: Converting units helps in creating more comprehensive and accurate statistical analyses.
* **Broader Analysis Scope**: It enhances our ability to analyze and understand the environmental impact of construction products from different perspectives.

### How Does It Work?

#### Conversion Process

Our platform's system uses specific properties such as mass, density, and grammage to perform these conversions accurately. This process ensures that the LCA data are consistently reliable and comparable across different measurement systems.

#### Example

For instance, if LCA data is available in cubic meters (m³) but a user needs it in kilograms (kg), our system uses the material's density to convert the data accurately, allowing the user to make better-informed decisions.

#### Unit Conversion Table

To ensure consistency across all data sources and enable accurate downstream calculations, all incoming values are converted to a standardised set of units.

<table data-search="false"><thead><tr><th>Field</th><th>Original Unit</th><th>Required Unit</th><th>Conversion Factor</th></tr></thead><tbody><tr><td>Linear Density</td><td>lb/ft</td><td>kg/m</td><td>Multiply by 1.488</td></tr><tr><td>Grammage</td><td>g/m²</td><td>kg/m²</td><td>Divide by 1000</td></tr><tr><td>Global Warming Potential (GWP)</td><td>lb CO₂eq</td><td>kg CO₂eq</td><td>Multiply by 0.4536</td></tr><tr><td>Net Fresh Water Use</td><td>m³</td><td>kg</td><td>Multiply by 1000</td></tr><tr><td>Ozone Depletion Potential (ODP)</td><td>kg</td><td>mg</td><td>Multiply by 1,000,000</td></tr><tr><td>Acidification Potential (AP)</td><td>mol H⁺ eq.</td><td>kg SO₂ eq.</td><td>Multiply by 0.03125</td></tr><tr><td>Eutrophication Potential – Freshwater (EP-f)</td><td>kg P-eq.</td><td>kg PO₄-eq. (Phosphate)</td><td>Multiply by 3.07</td></tr><tr><td>Formation Potential of Tropospheric Ozone (POCP)</td><td>kg Ethene (C₂H₂) eq</td><td>kg NMVOC-equivalent</td><td>Multiply by 1.69</td></tr></tbody></table>

***

*Note: This document is intended for customers of the 2050-Materials platform to provide an easy-to-understand overview of the importance and function of unit conversion in our system.*


# Calculating Generic Material Data

## 2050 Materials Generic Materials DB Methodology

### Introduction

Currently, there is a growing concern about the impact of human activities on the environment. One of the major factors contributing to this environmental impact is the construction industry. The construction industry is responsible for a significant amount of carbon emissions, as well as other negative environmental consequences. That is why it is important to create a generic materials carbon database that can be used to identify the environmental impact of construction products.

The process of computing a generic materials carbon database involves the statistical analysis of thousands of EPDs. These EPDs are classified according to the main material type and product category. The statistical analysis involves the removal of outliers, calculating median values for each value of the EPD, and then manual check by experts in-house.

The resulting database provides a representative range of carbon emissions for each material and product category, which can be used as a reference for environmental impact assessments in the construction industry.

### Why calculate generic material data?

The construction industry is responsible for a significant amount of carbon emissions and other environmental impacts. As a result, there is a growing concern about the impact of human activities on the environment. In response, Environmental Product Declarations (EPDs) have become increasingly important in the industry. These declarations provide a detailed analysis of the environmental impact of a product throughout its life cycle, from raw materials extraction to end-of-life disposal.

However, not all construction products have product-specific EPDs available. In such cases, a generic materials carbon database becomes essential for calculating Whole Life-cycle assessments (WLCAs) for buildings. This database provides an estimate of the environmental impact of a construction product based on its material type and product category.

Additionally, while product-specific EPDs are becoming more common, generic material data is still useful in identifying erroneous data or misleading assumptions by EPD modellers. For example, it may identify products that have a very low carbon footprint compared to similar products, indicating that there may be errors in the data or assumptions. It can also be used to flag assumptions that may not be accurate across all products in a category, such as assumptions about transportation distances or manufacturing processes.

We acknowledge that as more manufacturers create product-specific EPDs, the importance of generic material data may decrease. However, it will continue to serve an important role in the construction industry, both in filling gaps in the availability of product-specific EPDs, as well as in providing a benchmark for comparing the environmental impact of products within a category.

### Step-by-step Methodology

1. **Data Collection**: The first step in creating the generic materials carbon database involves collecting EPDs from various sources such as the ECO Platform\~\~,\~\~ and EC3, as well as automatic and manual scraping of manufacturer’s websites.
2. **Data digitization and standardization**: When all product specific EPDs are collected the 2050 Materials team runs OCR scripts to extract as much information as possible from non-digitalized EPDs. Additionally, a team of researchers creates mapping files to structure the data, as it is often in fragmented formats and languages. This step is crucial to ensure the data is consistent and can be analyzed easily. Standardizing the data allows for seamless integration into other tools through the API.
3. **Data Classification**: The collected data is then classified according to the “NRM1 Group Elements” and “NRM1 Elements”. Additionally, the 2050 Materials team extracts the main material type from EPDs, and classifies each EPD into a specific product category (e.g. Tiles). This classification helps to standardize and organize the data, making it easier to analyze and identify trends and patterns Moreover, it allows for the identification of data outliers that may require further scrutiny.
4. **Statistical Analysis:**
   1. **Grouping:** In order to compute the generic material data, the data is grouped according to a combination of “Product Type” and “Material Type”, and in some cases the manufacturing location (country). This enables the computation of generic material data for a specific product with a main material type (e.g. Ceramic Tiles) or sometimes a specific product with a main material type in a specific manufacturing country (e.g. Ceramic Tiles, UK).
   2. **Outlier Removal**: The next step involves the removal of outliers from the EPD data. Outliers are data points that are significantly different from the rest of the data. These outliers can skew the results of the analysis and make it difficult to identify any trends or patterns. The team removes any datapoints in outside of the 5th-95th percentile of EPD data within each combination
   3. **Median Calculation:** After removing the outliers, we calculate the median values for each value of the EPD. This is done to ensure that the values are representative of the data set as a whole. The median is a more robust measure of central tendency than the mean, which is why it is preferred in this analysis.
   4. **Buffer:** The median value is multiplied by a “buffer” in order to provide a conservative estimate and to avoid any false estimations. The buffer used is 15% (i.e. the median computed in the step above is multiplied by 1.15)
   5. **Manual Check**: The final step is the process of manually checked values by experts in-house. This is important to ensure that the values are accurate and representative of the EPD data. The experts check the values to ensure that they are consistent with the trends and patterns identified in the data, as well as comparable to other available generic material databases (e.g. ICE DB V3).

### Technical Clarifications & Assumptions

* **Declared unit / Functional Unit** - The declared unit in Life-cycle assessments (LCA) is the functional unit that is used to compare the environmental performance of different products. It represents the function of the product, such as the amount of energy produced or the distance traveled, rather than the physical quantity of the product. For this database, 2050 Materials always refers to the declared unit provided in each EPD, but stores all available data which helps transform that unit into other ones (e.g. Density, Specific Density, Weight per declared unit)
* **Biogenic Carbon** - For the generic materials database, we exclude EPDs which report biogenic carbon combined with fossil carbon, and only use the ones which have the 2 types split. Therefore, biogenic carbon is reported as a separate column, and there should not be any biogenic carbon (i.e. negative values) expected under the “fossil-carbon” fields.
* **Lifecycle stages considered** - We consider the following lifecycle stages:
  * A1-A3
  * A5 *A4 is excluded as it is project-location dependent*
  * B1-B5
  * C1, C3, C4 *C2 is excluded as it is project-location dependent*
* **Errors in the base data** - Our methodology is subject to errors that can arise from inaccurate EPD modelling and/or false data which may skew some data points. While we strive to minimize these errors, the 2050 Materials team cannot completely eliminate them. Nevertheless, we are continuously conducting quality assurance checks and updating the underlying EPD information to ensure the accuracy of our database.

### Datapoints calculated

For this process, the following datapoints are computed in 2050 Material’s database:

* Total Fossil Carbon \[kg CO2e/FU] (stages reported)
* Total Biogenic Carbon \[kg CO2e/FU] (stages reported)
* Fossil Carbon (A1-A3) \[kg CO2e/FU]
* Fossil Carbon (A5) \[kg CO2e/FU]
* Fossil Carbon (B1-B5) \[kg CO2e/FU]
* Fossil Carbon (C1, C3, C4) \[kg CO2e/FU]
* Freshwater use (A1-A3) \[liters / FU]
* Recycled Content \[%] - Calculated based on the *Secondary Material* (SM, in kg) divided by the mass of the declared unit (Mass\_per\_declared\_unit, in kg) in the LCA input table for stages A1-A3
* Recyclable Content \[%] - Calculated based on the *Materials for Recycling* (in kg) divided by the mass of the declared unit (Mass\_per\_declared\_unit, in kg) in the LCA input table for stages A1-A3
* Re-use Potential \[%] - Calculated based on the *Materials for Reuse* (in kg) divided by the mass of the declared unit (Mass\_per\_declared\_unit, in kg) in the LCA input table for stages A1-A3
* Energy Recovery Possibility \[%] - Calculated based on the *Materials for Energy Recovery* (in kg) divided by the mass of the declared unit (Mass\_per\_declared\_unit, in kg) in the LCA input table for stages A1-A3
* Ozone Depletion Potential (A1-A3) \[mg CFC-11eq]
* Density \[kg/m3]
* Specific Density \[kg/m2]

### Calculation Example

#### Generic Material Data for Ceramic Tiles in UK

1. **Grouping**:

The following table shows the EPD data for Ceramic Tiles in the UK, grouped by "Product Type" and "Material Type".

| Product Type | Manufacturing Country | Material Type | Carbon (a1-a3)  |
| ------------ | --------------------- | ------------- | --------------- |
| Tiles        | UK                    | Ceramic       | 1.10 kg CO2e/kg |
| Tiles        | UK                    | Ceramic       | 1.87 kg CO2e/kg |
| Tiles        | UK                    | Ceramic       | 0.01 kg CO2e/kg |
| Tiles        | UK                    | Ceramic       | 1.23 kg CO2e/kg |
| Tiles        | UK                    | Ceramic       | 1.45 kg CO2e/kg |
| Tiles        | UK                    | Ceramic       | 2.22 kg CO2e/kg |
| Tiles        | UK                    | Ceramic       | 0.9 kg CO2e/kg  |

1. **Outlier Removal:**

   The data points outside of the 5th-95th percentile of EPD data within each combination are removed. In this case, the data point with the value of 2.22 kg CO2e/kg is an outlier and will be removed.
2. **Median Calculation:**

The median values for each EPD value are calculated, as shown in the table below:

| Product Type | Manufacturing Country | Material Type | Carbon (a1-a3)  |
| ------------ | --------------------- | ------------- | --------------- |
| Tiles        | UK                    | Ceramic       | 1.10 kg CO2e/kg |
| Tiles        | UK                    | Ceramic       | 1.87 kg CO2e/kg |
| Tiles        | UK                    | Ceramic       | 0.01 kg CO2e/kg |
| Tiles        | UK                    | Ceramic       | 1.23 kg CO2e/kg |
| Tiles        | UK                    | Ceramic       | 1.45 kg CO2e/kg |
| Tiles        | UK                    | Ceramic       | 0.9 kg CO2e/kg  |
| Median       |                       |               | 1.23 kg CO2e/kg |

1. **Buffer:**

The median value for Carbon (a1-a3) is multiplied by a buffer of 15%, resulting in a value of 1.4145 kg CO2e/kg.

1. **Manual Check:**

The final step involves manual checking by experts in-house. The value of 1.4145 kg CO2e/kg is checked by experts to ensure that it is accurate and representative of the EPD data for Ceramic Tiles in the UK. The experts also compare this value to other available generic material databases (e.g. ICE DB V3) to ensure its comparability.

### Calculating Machinery Emissions

Emission factors for MEP installation equipment are calculated as **kg CO2e per operating hour** (lifecycle stage A5 — Construction/Installation Process under EN 15978), covering on-site energy consumption during product installation. The calculation method varies by power source: for diesel/petrol equipment, `EF = fuel consumption rate (L/hr) × load factor × fuel emission factor (kg CO2e/L)`; for electric and battery-powered tools, `EF = power rating (kW) × load factor × grid emission factor (kg CO2e/kWh)`; for gas equipment (acetylene, propane), stoichiometric combustion factors are applied to gas consumption rates. Load factors — accounting for idle time and variable duty cycles — are drawn from EPA NONROAD model defaults (typically 40–70% depending on equipment type) and applied to midpoint values across manufacturer-specified power/consumption ranges.

All emission factor inputs use openly licensed sources to permit commercial derivative use. Fuel emission factors are sourced from UK DEFRA/DESNZ Greenhouse Gas Conversion Factors 2025 (OGL v3.0): **2.662 kg CO2e/L** for diesel, **2.315 kg CO2e/L** for petrol. The primary grid electricity factor is **0.270 kg CO2e/kWh** from [co2emissiefactoren.nl](https://www.co2emissiefactoren.nl/lijst-emissiefactoren/) (CC0, Dutch national production mix, 2024 data, including T\&D losses), with regional alternatives documented for project-specific substitution (UK: 0.207, EU-27 average: 0.250–0.390, USA: 0.370 kg CO2e/kWh). The dataset covers 67 equipment items across 10 categories, with resulting emission factors spanning from negligible (<0.05 kg CO2e/hr for passive hand tools) to very high (>500 kg CO2e/hr for oil/gas drill rigs and heavy offshore lifting equipment).

### **Calculating Generic Data for Structural Steel with Recycled Content**

The dataset for structural steel with recycled content levels of 20%, 40%, 60%, and 80% was compiled by filtering the product database according to the following criteria: *Material Type = Steel*, *Product Type = Structural Components*, and *Certification Type = EPD*.   Entries identified as anomalies - those with a functional unit defined per piece rather than per kilogram - were excluded from the analysis to ensure consistency.

For each specified recycled content level, products with recycled content values within a tolerance of ±5% were selected (for example, for a 20% value, products with recycled content between 15% and 25% were included).  These filtered datasets were then used to perform a linear interpolation based on fossil carbon (A1–A3) values, enabling the estimation of corresponding fossil carbon (A1–A3) values at the specified recycled content levels.

### Conclusion

In conclusion, the process of computing a generic materials carbon database involves the collection, classification, outlier removal, median calculation, and manual check of EPD data. This process ensures that the values in the database are accurate and representative of the EPD data. The database can be used to identify the environmental impact of construction products and help in making more sustainable choices in the construction industry. The development of this database is an important step towards a more sustainable future.

### Additional Queries

Contact us at <info@2050-materials.com> for any queries regarding the methodology above.


# Tools

Methodology behind all of our public tools.

{% content-ref url="/pages/4nV2H2cD5WCL7s4nuWDE" %}
[Embodied Carbon Optimiser Tools](/methodology-documentation/tools/embodied-carbon-optimiser-tools)
{% endcontent-ref %}

{% content-ref url="/pages/GJa69tRrGJYNWYVttuQM" %}
[Embodied Carbon Benchmarks Tool](/methodology-documentation/tools/embodied-carbon-benchmarks-tool)
{% endcontent-ref %}


# Embodied Carbon Optimiser Tools

A description of our methodology and protocols when developing the embodied carbon optimiser tools on the 2050 Materials platform.

<figure><img src="https://1393917768-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNcedlsikwS23wkNZpf4u%2Fuploads%2F3DFTWA3ky9kgY1xNgiAP%2FScreenshot%202024-05-27%20at%2011.03.11%20AM.png?alt=media&amp;token=fea2ab5d-f209-426e-83a0-2d62c0a9ef56" alt=""><figcaption></figcaption></figure>

## Aim of the tool

The [Embodied Carbon Optimizer](https://app.2050-materials.com/tools/dot_selection) is a visual tool developed by 2050 Materials. It provides a simplified LCA calculation for early design phases, allowing users to quickly compare either entire building typologies or building systems' climate impacts by customising standard assemblies per component.

The tool aims to be interactive, easing the translation of material choices into simplified constructive details while navigating dynamic environmental impact breakdowns (A1-A3 modules) displayed per material and system.&#x20;

Additionally, for the building-level optimizer tools, a forward looking benchmarking metric called “Warming Potential” is calculated, aimed at helping designers and architects understand the contribution of their selection to global climate goals.

## Data sources & Data collection

The data included in the Embodied Carbon tool comes from 2050 Materials' internal database, which is based on Environmental Product Declarations (EPD) from internal sources and external third parties. <br>

The research process for collecting specific data on materials per building component responds to the following parameters: regionality, material type (source origin), building application, and product type (function). For more about the criteria for classifying material types and product types, check [2050 Materials Framework.](https://docs.2050-materials.com/data-documentation/2050-materials-data-framework)

For buildings, the tool shows material choices for each large component of the building, based on the data collected.

For assemblies, the tool displays the material choices through a list of components determined by their function within the building assembly, as explained in Section 5 of this document. Each component item lists the most commonly used and manufactured products with a specific material type. Example: building assembly - Stone Facade; component - Exterior finish; component’s materials -  granite, limestone, quartzite, sintered stone, slate.&#x20;

In this section, we will refer generically to the corresponding material of a component as “materials”, hence, a manufactured product whose function within the building assembly and material is specified.&#x20;

## Selection of Materials

The steps to select the materials data included in the dropdowns of the different assembly components (exterior finish, insulation, etc.) are as follows:

### Collection of EPDs

The number of EPDs per material collected for subsequent average data analysis depends on the number of products available in the database. The minimum number of EPDs from different manufacturers per material to be considered for data collection is 5.&#x20;

1. Products with less than 5 EPDs from different manufacturers: In the case of innovative and biobased materials, there could be less than 3 EPDs, which minimises the options to compare values. Hence, it is considered if it is relevant to include these material types in the selection dropdown. In certain cases, we may chose a single EPD as having representative data for that particular material, due to the absence of enough data to provide statistical averages.
2. Products with more than 10 EPDs from different manufacturers: In this case, an internal statistical tool determines the average values. Reach out to us if you are interested in finding out more about our internal analytics tools.
3. Analysis of average values

According to the previous criteria, the number of selected EPDs is used to calculate the average values corresponding to the environmental metrics (GWP and FW in A1-A3) per material. These average values are relevant to showing the user the standard values of the most common products manufactured.

### Selection of EPDs

The final data selection comes from a specific EPD, as specific physical properties must be considered for calculating the final quantities of environmental impacts. Grammage, density, and thickness are key properties in this respect, and the environmental impacts are correlated to these physical properties. Hence, specific EPDs whose data is below the average values determined in the previous analysis are selected.

### Physical Properties

The current Embodied Carbon Tool version only includes physical properties for insulation materials within the assemblies section. Specifically, we include thermal transmittance (U-value). According to a previous study of average values regarding physical properties and environmental metrics, a specific EPD of an insulation product is selected within the average ranges of similar materials.&#x20;

* Thermal conductivity (W/mK). This data from the EPD IS considered to calculate the specific  U-value per material thickness of insulation materials with uniform properties. See section 3.5 about calculations, assumptions and exceptions. &#x20;
* Thickness. A preliminary study on the standard thickness of most common insulation materials currently available in the market is done. Three types of thicknesses are set within the average values usually manufactured to allow the user to compare the thermal performance of different materials easily.

## Methodology

### Life-Cycle Assessment

LCA is a methodology for assessing environmental impacts (including embodied carbon) associated with all the stages of a system's life cycle (whole building, construction material, building assembly, etc.). LCA considers all the steps that occur during each system's lifetime, from raw material extraction and manufacturing to distribution and usage and final disposal.

The current version of Embodied Carbon Tool shows a simplified LCA for phases A1-A3 according to EN15978 standard and EN 15804 standards. Further stages related to Construction, In Use or End of Life are not included as the tool is conceived for pre-design stage purposes that require high-level materiality assessments for assemblies (and buildings).<br>

<figure><img src="https://lh7-us.googleusercontent.com/5zvVXCcH2IGtu3AB0S6CUT9xiEsX9UPsLTHj5eMlsBVUkOYCLatGWA6466hJiri4WXXVxc9vCvxysyWCCxXlPU6f7mdmsgTzuNWEXKlDCJTtGIge5nKisU038KPdCqkJ1xvx4kCHvKM-" alt=""><figcaption><p>Figure 1. Whole life cycle stages (EN15978).</p></figcaption></figure>

The modules A1-A3 correspond to the product stage or manufacturing stage (Cradle to Gate):

* A1: Raw material extraction and processing, processing of secondary material input (e.g. recycling processes)
* A2: Transport to the manufacturer
* A3: Manufacturing<br>

### Specific Assumptions

* All data is based on Environmental Product Declarations (EPD) covering the manufacturing stages (life cycle phases A1–A3). The quantities are based on 1 m2 of wall or roof surface area for each system, and 1 m2 of GIA (Gross Internal Area) for buildings.. Hence, quantities for each layer are calculated accordingly subject to the relevant FUs (functional units).
* This tool is fully customizable with importing capabilities for Bills of Quantities, alternative sector targets and bespoke product databases for real facade and roof scenarios.
* The Warming Potential is a forward-looking metric designed to show the temperature alignment of the selected design based on the required reductions as described in the [2021 UNEP Gap report](https://www.unep.org/resources/emissions-gap-report-2021).
* The Embodied Carbon Optimizer tool was created using open-source environmental impact data and average schedules for envelope assemblies.
* The Embodied Carbon Optimizer tool’s simplified LCA is suitable for early design stages, so a complete LCA for the whole building is highly recommended for later stages. The values should be calculated on a specific project basis and not relied upon for their project, as they're generic and must be used for indicative purposes only at the earliest design stage possible.

### Environmental metrics

The results provide data about specific environmental metrics for A1-A3 phases per m2 of assembly or GIA.:

* Carbon footprint (GWP -fossil). Greenhouse gas emissions related to raw material extraction (A1), transport to the manufacturing location (A2) and production (A3). Unit: kg CO2e/m2 assembly.
* Sequestered Carbon (GWP -biogenic). Amount of CO2 that is sequestered or captured and stored within construction materials and components, reducing their contribution to greenhouse gas emissions. Unit: kg biogenic CO2e/m2 assembly.
* Water footprint. Fresh water used in the manufacturing stages A1-A3 for each material chosen in the assembly. Unit: m3 freshwater /m2 assembly.

### Physical properties

The component “Insulation” is displayed as a list of insulation materials with an average thermal transmittance value.&#x20;

* Thermal transmittance (U-value). Rate of heat transfer through a material. It indicates how well a material insulates against heat flow. A lower U-value indicates better insulation properties, meaning less heat is transmitted through the material.

### Calculations: impacts, physical properties and quantities

Functional Unit (FU) and quantification criteria

All the environmental impacts are converted to the functional unit of m2 and calculated based on 1m2 of surface area of assembly or 1m2 of GIA in the case of buildings.

#### Environmental metrics

* GWP (Global Warming Potential) \[kg CO2e]: measures how much a given mass of a greenhouse gas contributes to global warming over a specified time, usually 100 years, compared to carbon dioxide. It's a way to understand the effect of emissions from products or activities on the Earth's temperature. The higher the GWP, the more a substance warms the Earth compared to CO2 over that period.<br>
* FW (Freshwater use) \[litres of fresh water]: quantifies the total amount of freshwater used or consumed in the production of a product. This metric is crucial for assessing a product's impact on water resources, reflecting both direct water use and indirect consumption along the supply chain. Lower FW values are better, indicating less strain on freshwater resources.

#### Performance metrics

Thermal transmittance (U-value)

The thermal transmittance of insulation materials is given as a reference and calculated as follows:

Formula:  U= λ / d

U :  U-value (thermal transmittance) in W/m²K.

λ :  thermal conductivity of the material in W/mK.

d : is the thickness of the material in metres.

(\*) This formula assumes a steady-state condition and uniform material properties.

* Assumptions:
  * The calculation refers only to specific materials (insulation materials). Hence, Rsi and Rse aren’t considered as these factors refer to thermal transmittance calculations of the entire building assembly (external wall, roof, etc.) considering all the assembly layers.
* Exceptions: composite materials
  * The U-value of insulation products that are composites (made of different materials), like sandwich panels or EIFS, corresponds to the specific value of the EPD when considering different thicknesses within the same product type. Due to the manufacturing complexity of these types of products, the aforementioned simplified formula cannot be applied as it assumes a steady-state condition and uniform material properties.
  * In this case, the data per product with a specific thickness has to be collected individually from EPDs by following the criteria in section 2.1. (1).

<br>

### Rounding values criteria

During the calculation process of environmental metrics, two decimal places are considered for Global Warming Potential (kg CO2e/m2 assembly) and three decimals for Fresh Water (m3 freshwater /m2 assembly).&#x20;

The rounding criteria are applied at the end of the calculations considering no decimals for the final value of Global Warming Potential and two decimals for Fresh Water.

### Criteria for building applications and assembly types

The last version of the tool provides building applications for external walls and roofs. A research study is run for each building application to determine the most common and standardised building systems or assemblies grouped by “families” according to similar combinations of components or layers.&#x20;

#### Families of external wall assemblies

<br>

<figure><img src="https://lh7-us.googleusercontent.com/MQYH9KTfAmoWIdzS3oe5mFyQXThLbJKkM-0qOSw5_00DaidPqNIsz9feNXBcTsp1nyjStQ3ol1uV4pNZ7hYkOAaGkL5eqbQmUFz6C3406EZVRywY-aHfZ2HqbBlbFWSpQAdA6NkzztI9" alt=""><figcaption></figcaption></figure>

### Criteria for assembly components

Each system has been simplified into standardised components per function within the family of assemblies or systems as follows:

| All External Wall Families                                                                                                                                                                                                           | Warm Flat Roof                                                                                                                                                         | Inverted Roof                                                                                                                                                         |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| <ol><li>Exterior finish support</li><li>Insulation</li><li>Construction foil</li><li>Sheathing board</li><li>Masonry inner leaf</li><li>Stud framing</li><li>Building board</li><li>Plaster/render</li><li>Interior finish</li></ol> | <ol><li>Roof covering</li><li>Separation foil (1)</li><li>Waterproofing</li><li>Separation foil (2)</li><li>Insulation</li><li>Vapour barrier</li><li>Screed</li></ol> | <ol><li>Roof covering</li><li>Roof membrane</li><li>Insulation</li><li>Separation foil (1)</li><li>Waterproofing</li><li>Separation foil (2)</li><li>Screed</li></ol> |

Figure 2. Available assemblies’  families’ and related components in the tool.

The tool allows the selection of whether to include or exclude certain components depending on the assembly family. For example, separation foils in roof assemblies are optional, as including these components depends on their specific material and performance within the rest of the assembly's layers or components.

### Criteria for constructive details’ configurations

This multiple-choice option for building materials is translated into various simplified constructive details by offering several assembly configurations per system (10 configurations for facade systems, 8 configurations for flat roof systems). <br>

<figure><img src="https://lh7-us.googleusercontent.com/EM4PQuOpUS3gKf5OrfMLzuIVkWWxBr0Nl8EwsZbtg_I7AWdD9769rRMKl7Aq7l03CHQrmrFrAKBszqwziCoCZ_bJk3OBH_pq3Epynl5rjGfUltckqBz8MDodMxnqAp84untuhx08jro4" alt=""><figcaption><p>Figure 3. Example of constructive details for Ventilated Facades.</p></figcaption></figure>

<figure><img src="https://lh7-us.googleusercontent.com/AFGaCB5NLIVfxLaskcftg4NHEBkb3tHBRpShg1j3bdQK8htwkEAMzOpzxJ3MyIKSE7uaOkMNgPPT1T9QrN8jHwM1wIXIzox989Cty0jryJMX8lVs-RI72vkUknf4hs0b6ta0M4chiyU9" alt=""><figcaption><p>Figure 4. Example of constructive details for Warm Flat Roofs.</p></figcaption></figure>

The function of creating different configurations doesn’t discriminate between the compatibility of materials within the specific assembly configuration selected.&#x20;

### Quality Assurance

The QA process is based on statistical analysis, which derives updated generic values from the internal product-specific database. According to these updates, the Embodied Carbon Tool data and functions are periodically updated approximately every 6 months.

For tutorials and steps on how to use the tool, please refer to our [platform tutorials](https://www.youtube.com/watch?v=4enwI7aYDUE\&list=PLksSJ92K8RmVyXMgCgO_t7-HKExK7TklH) on Youtube


# Embodied Carbon Benchmarks Tool

This documentation explains the functionality and usage of a Streamlit-powered tool that calculates benchmarks for A1-A3 emissions using the product-specific database provided by 2050 Materials.

[**Access the tool ↗**](https://2050-materials-benchmark.streamlit.app/)

<figure><img src="https://1393917768-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNcedlsikwS23wkNZpf4u%2Fuploads%2Fgml36AL1ZPNT1jOaDudw%2FScreenshot%202024-05-27%20at%2010.57.59%20AM.png?alt=media&amp;token=1f572ad0-b3f1-4f31-8bed-bdb45c16493d" alt=""><figcaption></figcaption></figure>

### Steps of the Tool

#### 1. Retrieve User Input

* **Product Type**: Select the product type from a predefined list. Note that these categories are specific to 2050 Materials and may sometimes include diverse products (e.g., "cladding" may contain both sheets and cladding systems).
* **Continent of Manufacturing**: Select the continent where the product is manufactured.

#### 2. Fetch Relevant Products

The tool fetches all products within the selected categories from the 2050 Materials database.

#### 3. Filter for Valid EPDs

Only products with a valid Environmental Product Declaration (EPD) are included. This means non-expired EPDs are considered.

#### 4. Filter for Verified A1-A3 Carbon Values

From the valid EPDs, the tool filters further to include only those with a verified A1-A3 carbon value.

#### 5. Transform Data to All Possible Units

Transform the data to the chosen unit using [2050 Materials proprietary unit conversion functionality](/methodology-documentation/unit-conversions) (available on the [get\_products API](/readme/using-the-2050-materials-api/available-endpoints/product-data-full)).

#### 6. Optional: Filter by EN15804 Standard

If the user prompts, the tool will filter the EPDs to include only those following the EN15804 standard.

#### 7. Remove Outliers

The tool uses the statistical analysis function from the aecdata library to remove outliers using the Interquartile Range (IQR) method, applying a square root transformation to stabilize variance.

#### 8. Calculate Quartiles

Quartiles are calculated to provide insights into the distribution of A1-A3 emissions.

#### 9. Visualize Data

The tool generates box plots and other visual representations of the data for easy interpretation.

### Data Types and Future Improvements

Currently, the tool does not differentiate between different EPD data types. In future versions, filtering by data type will be incorporated.&#x20;

#### Explanation of EPD Data Types

* **Generic Data**: Represents market averages and reflects regional consumption. This data is consistent in background data and LCA methodology.
* **Industry EPDs**: Data from all member manufacturers reflecting region-specific production. The background data may vary between EPDs but follows mostly consistent LCA methodology.
* **Product EPDs**: Data from a single manufacturer, which includes varying levels of specificity. The background data may vary between EPDs but generally follows consistent LCA methodology.

### Explanation of 2050 Materials Specific Categorization

Product types are categorized by 2050 Materials. This specific categorization may include a range of products that are not always directly comparable. For example, the "cladding" category might in certain cases include both sheets and complete cladding systems.

These issues are dealt (filtered out) by only generating benchmarks for categories with multiple (>10) EPDs, and by using a median approach, instead of average, which biases the benchmark.

### Summary

The Benchmark tool leverages the comprehensive data provided by 2050 Materials to calculate benchmarks for A1-A3 emissions. It ensures accurate and meaningful analysis through filtering, unit conversion, outlier removal, and visualization. Future enhancements will include the ability to filter by EPD data types, offering even more precise and tailored results.

For any questions or further assistance, please refer to the additional documentation or contact our support team.

<br>


# Version Log

Sorted by latest shown on top

**Version 1.0.37 - 22nd April 2026**

* Introduced `functional_unit` on get\_products API to convert the data into a pre-specifed unit.&#x20;

**Version 1.0.36 - 11th April 2026**

* Renamed the `"material_types"` response key to `"material_type"` (singular) in the `get_product_filters` endpoint, consistent with the `material_type` parameter used by `get_products`. The request parameter `?filters=material_types` continues to work as a backward-compatible alias.
* Updated the `"filter_type"` values for certification filters in `get_product_filters` from `"certification_types"` / `"certification_types_family"` to `"certificate_type"` / `"certificate_type_family"`, aligning with the query parameters accepted by `get_products`. The old request parameters `?certification_types=` and `?certification_types_family=` continue to work as backward-compatible aliases.

**Version 1.0.35 - 30th March 2026**

* Updated the Boverkets generic materials database to V02.07.000

**Version 1.0.34 - 27th March 2026**

* Added `__min` / `__max` range filtering support to `get_products` and `get_generic_materials` endpoints, enabling numerical field filtering across LCA, physical, technical, circularity, HVAC, carbon, environmental, and grey energy fields

**Version 1.0.33 - 18th March 2026**

* Expanded the generic materials database by including an MEP Machinery database calculated by the 2050 Materials Research team.
* Expanded the fields of the `get_products` API to include  `standardised_name` , a better way to search for products by technical parameters.&#x20;
* Expanded the data points under the generic data source `2050 Materials Research (Structural Materials)` to include Structural Steel with (20%, 40%, 60%, 80% Recycled Content)

**Version 1.0.32 - 5th December 2025**

* Expanded the generic materials database by including the newest [Boverkets](https://www.boverket.se/sv/PBL-kunskapsbanken/regler-om-byggande/boverkets-byggregler/) (Swedish Generic Database).

**Version 1.0.31 - 1st December 2025**

* Included a new API filter on /get\_products to exclude products without a specific field (e.g. `exclude_nulls=manufacturing`&#x20;

**Version 1.0.30 - 18th November 2025**

* Expanded the generic materials database by including the newest [ICE Database (V4.1)](/data-documentation/data-sources) by Circular Ecology&#x20;

**Version 1.0.30 - 16th November 2025**

* Updated the `unique_product_uuid_v2` filter behaviour on `get_products` to allow multiple uuids, comma-separated.

**Version 1.0.29 - 12th November 2025**

* Updated the `certificate_url` field behavior for product APIs and CSVs. For security reasons, links will now trigger an automatic PDF download instead of displaying the file in the browser.

**Version 1.0.28 - 4th September 2025**

* Added functionality to sort get\_products results by proximity to a lat/long or a location (see more [here](/readme/using-the-2050-materials-api/available-endpoints/product-data-full#filtering-the-data))
* Included "city" under `get_product_filters` and enabled filtering by the same field on `get_products`&#x20;
  * Included a mapping dictionary to indicate cities under a country under  `get_product_filters` `Example: 'country_city_map': {'Algeria': [{'id': 1541, 'value': 'Bethioua'},...`

**Version 1.0.27 - 28th August 2025**

* Expanded the Generic Data by including the [New Zealand Environment Ministry GHG Database (2025)](https://environment.govt.nz/publications/measuring-emissions-guide-2025/)

**Version 1.0.26 - 14th August 2025**

* Added our new sdk ([sdk.2050-materials.com](https://sdk.2050-materials.com)) to the documentation

**Version 1.0.25 - 11th August 2025**

* Updated the Data Sources table under [Generic Material Data](/readme/using-the-2050-materials-api/available-endpoints/generic-material-data) to reflect the upload of the 2022 UK GHG Factors database.

**Version 1.0.24 - 3rd August 2025**

* Updated the output fields under the [Generic Material Data](/readme/using-the-2050-materials-api/available-endpoints/generic-material-data) endpoint to reflect new fields:
  * `linear_density`, `mass_per_piece`, `cross_sectional_area`, `mass_per_declared_unit`

**Version 1.0.23 - 8th July 2025**

* Uploaded the new UK GHG Conversion Factors 2025 ([source](https://www.gov.uk/government/publications/greenhouse-gas-reporting-conversion-factors-2025)) under the [Generic Material Data](/readme/using-the-2050-materials-api/available-endpoints/generic-material-data) endpoint.

**Version 1.0.22 - 26th June 2025**

* Updated data sources for generic materials endpoint to reflect the new MEP database generated by the 2050 Materials research team.&#x20;
* Improvements to the speed of `get_product_filters` endpoint
* Introduced a new field under `get_products` called `certificates` with information on all available certificates on products (e.g. FSC, Datasheets, etc.). More information [here](/readme/using-the-2050-materials-api/available-endpoints/product-data-full#product-fields-1).

**Version 1.0.21 - 16th June 2025**

* `get_product_filters` and `get_generic_material_filters` now take filtering, to render dynamic dropdowns of the available fields within a response.

**Version 1.0.20 - 7th May 2025**

* Added a new data source of generic material factors: `EPA GHG Emission Factors Hub`&#x20;
* Updated the Swiss KBOB database to Version 6.2

**Version 1.0.19 - 30th April 2025**

* Added multiple filters on `get_products` and `get_generic_materials`  endpoints

**Version 1.0.18 - 18th April 2025**

* Note on documentation regarding name filtering when including special characters like `+` or `&`

**Version 1.0.17 - 1st April 2025**

* Introduced the updated 2025 Timber Development dataset ([link](https://timberdevelopment.uk/resources/2025-embodied-carbon-data-for-timber-products/)) into the generic materials endpoint.

**Version 1.0.16 - 25th March 2025**

* Introduced the New Zealand GHG Database under the get\_generic\_materials endpoint

**Version 1.0.15 - 17th March 2025**

* Introduced `epd_operator` field and filter on `get_products`
* Introduced `epd_operator` field on `get_best_match`

**Version 1.0.14 - 21st February 2025**

* Introduced the CLF MEP data per m2 based on [the following study](https://carbonleadershipforum.org/office-buildings-lca/)

**Version 1.0.13 - 17th February 2025**

* Introduced data=mini filter on `get_products` and `get_generic_materials`

**Version 1.0.12 - 11th February 2025**

* Expanded the generic materials database by including the Payette's Kaleidoscope assembly data (GWP Fossil for stages A1-A4).&#x20;

**Version 1.0.11 - 4th November 2024**

* Expanded the generic materials database by including the Australian National Greenhouse Accounts Factors (July 2023).&#x20;

**Version 1.0.10 - 29 October 2024**

* `get_generic_materials` endpoint now includes all the decimal points on carbon figures.

**Version 1.0.9 - 25 September 2024**

* Expanded datasets under the `get_generic_materials` endpoint to include the 2050 Materials Structural Materials Dataset, which contains more detailed data for structural concrete mixes and timber.

**Version 1.0.8 - 11 September 2024**

* Expanded datasets under the `get_generic_materials` endpoint to include the 2050 Materials Quantity Surveyor Dataset - 2024 Materials Database, which is used in the integration into [CostX](https://finance.yahoo.com/news/rib-software-partners-2050-materials-134218344.html?guccounter=1), and the 2024 Future Homes Materials Database

**Version 1.0.7 - 10 September 2024**

* Expanded datasets under the `get_generic_materials` endpoint to include the 2024 UK National Statistics GHG factors and the New Zealand Environment Ministry - GHG Factors.
* Speed improvements to the API
* Minor bug fixes

**Version 1.0.6 - 7 August 2024**

* Speed improvements for all endpoints
* Expanded product types and material types for all data
* Introduced `get_generic_material_filters` endpoint
* Data sources expanded for `get_generic_materials` endpoint (Essex Policy)

**Version 1.0.5 - 17 June 2024**

* Bug fixes on `get_product` endpoint
* Data sources expanded for `get_generic_materials` endpoint

**Version 1.0.4 - 27 May 2024**

* Introduced expiration filters for `get_products` endpoint
* Logged methodology documentation for the embodied carbon benchmark tool

**Version 1.0.3 - 20 May 2024**

* Introduced `sort_by=material_name` to render results alphabetically
* Extended `sort_by` to source\_uuid, product\_type, material\_type, data\_source, and material\_type for `get_generic_materials` and `get_products`

**Version 1.0.2 - 29 April 2024**

* Added filters `data_source`, `updated_after`, `updated_before`, `created_after`, `created_before`, `created_between`, `updated_between` to the `get_generic_materials` endpoint
* Added filters `certificate_expires_before`, `certificate_expires_after`, `norm_price`, `compliances`, `updated_after`, `updated_before`, `created_after`, `created_before`, `created_between`, `updated_between`, `unique_product_uuid_v2` on `get_products` endpoint
* Released the open-source Python Library `aecdata`

**Version 1.0.1 - 17 April 2024**

* Added thickness, `grey_energy_total`, `grey_energy_fabrication_total`, `grey_energy_recovery_fabrication`, `grey_energy_material_recovery_fabrication`, `grey_energy_elimination`, created, updated to the `get_generic_materials` endpoint


