> ## Documentation Index
> Fetch the complete documentation index at: https://docs.variable.global/llms.txt
> Use this file to discover all available pages before exploring further.

# Datasets

**Datasets** are the original source of impact data (emission factors). They can come from databases like ecoinvent, be shared by other companies, or be created by the user.

The `/v1/dataset` endpoint lists datasets in your account - ones you've added from the Variable Database, created yourself, or received from a supplier. This is different from the `/v1/database` (search) endpoint, which searches the global Variable Database.

<Info>
  API documentation: [Dataset <Icon icon="square-arrow-up-right" iconType="light" />](/api-reference/v1/dataset), [Database search <Icon icon="square-arrow-up-right" iconType="light" />](/api-reference/v1/search)
</Info>

### How datasets relate to products and materials

A **Product** (LCA) is a modeled footprint - it has a bill of materials with Inputs. A **Material** gets its impacts by referencing a Dataset directly. See [Products & Materials](/docs/material) for more.

| Endpoint       | Returns        | Description                                        |
| :------------- | :------------- | :------------------------------------------------- |
| `/v1/product`  | Products       | Modeled footprints with a bill of materials        |
| `/v1/material` | Materials      | Items that reference a dataset for their impacts   |
| `/v1/dataset`  | Datasets       | The original source of impact data in your account |
| `/v1/database` | Search results | Global emission factor database search             |

### Binding a dataset to an element

A sourced element — a material, energy, or process — that draws its impact from a single dataset is an **external** element (`dataSource: external`). Create or update one through the API (`/v1/material`, `/v1/energy`, `/v1/process`) or MCP and bind its dataset by sending `dataset: { uuid }`; binding one makes the element external. Add `datasetAmount` to set the quantity its per-unit factor scales, or omit it to consume one declared unit of the dataset. Sending a different `dataset` on update re-points the element. Use [database search](/api-reference/v1/search/list) to find a dataset to bind.

### Attributes

| Attribute   | Type          | Description                           | Example                              |
| :---------- | :------------ | :------------------------------------ | :----------------------------------- |
| uuid        | string        | The unique identifier                 | 123e4567-e89b-12d3-a456-426614174000 |
| name        | string        | The name of the dataset               | Steel, converter, unalloyed          |
| sku         | string        | The stock keeping unit                | EI-3.10-12345                        |
| unit        | Unit          | The unit of measure                   | kg                                   |
| taxonomy    | Taxonomy      | The category                          | Steel                                |
| geoLocation | GeoLocation   | Geographic scope                      | Europe                               |
| dataSources | DataSource\[] | The source databases                  | `[{ name: "ecoinvent" }]`            |
| created     | date          | The date the dataset was added        | 2021-01-01T00:00:00.000Z             |
| updated     | date          | The date the dataset was last updated | 2021-01-22T00:00:00.000Z             |

### Footprint

The `footprint.CO2e` object holds the CO<sub>2</sub>e values for the dataset. See [Products & Materials](/docs/material#footprint) for the full footprint structure.
