Guides & Examples
This page provides guides and code examples for common tasks when interacting with the ECO Platform API.
Searching for EPDs
You can search for EPDs using the GET /v1/search endpoint. This allows you to filter by name, owner, and other attributes.
Supported query parameters
The endpoint searches the local Search Index and returns JSON. It implements a subset of the soda4LCA process-query API, not a transparent proxy to soda4LCA.
| Parameter | Matching and limits |
|---|---|
q, name |
Case-insensitive substring across name, owner, and registration number. Nonempty q takes precedence over name; unlike soda4LCA, this does not search synonyms or AND individual words. |
owner |
Case-insensitive substring. |
location |
Exact geographic code (geo); repeat to match any code. |
classes |
Case-insensitive substring of the indexed classification name (classific). |
classId |
Exact indexed classification ID (classificId); accepts one value. Only the classification stored in search metadata is searchable. |
subType |
Exact subtype; repeat to match any. Accepts SPECIFIC_DATASET, AVERAGE_DATASET, REPRESENTATIVE_DATASET, GENERIC_DATASET, TEMPLATE_DATASET, or their lowercase, space-separated SearchItem labels. |
type |
Only EPD is available; other values return 400. This does not expose other ILCD process types. |
dataSource |
Exact UUID from dataSources; repeat to match any UUID. |
dataSourceMode |
OR (default) includes any matching datasource; NOT excludes all matching datasources. |
registrationNumber |
Case-insensitive substring of regNo. |
registrationAuthority |
Exact registration-authority UUID; repeat to match any. Unlike soda4LCA, does not match description/UUID substrings. |
compliance |
Substring of serialized compliance metadata; repeat to match any. Exact UUID and complianceMode=AND semantics are not implemented. |
referenceYear |
Exact year. |
validUntil |
Minimum year (inclusive). Prefix with = for an exact year, e.g. validUntil=%3D2030. |
validUntilFrom, validUntilTo |
Inclusive minimum and maximum years; may be combined with validUntil. |
startIndex |
Zero-based result offset, default 0. |
pageSize |
Any integer from 1 to 1000, default 15 (not soda4LCA’s default of 500). Invalid pagination values return 400, rather than silently falling back. Offsets must be safe integers. |
sortBy |
name (default), referenceYear, validUntil, or updatedAt. refYear is a legacy alias for referenceYear. Other soda4LCA sort fields are not implemented. |
sortOrder |
true (default, ascending) or false (descending); asc and desc remain accepted aliases. |
Distinct filters combine with AND. An EPD without optional metadata does not match a positive filter for that field. A datasource exclusion includes EPDs with no datasources.
Unavailable metadata: description, parameterized, datasetGenerator, and tag are absent
from the SearchItem format and are not implemented. Supporting them requires upstream search metadata
and Search Index changes. Other soda4LCA controls, including search, distributed, lang,
langFallback, allVersions, countOnly, format, metaDataOnly, validation filters, and unlisted
combination modes, are not implemented. Unknown parameters are ignored; supplying them does not
enable the corresponding behavior. The endpoint always uses the local index and returns JSON.
For example, ?location=DE&subType=SPECIFIC_DATASET&validUntil=2030&startIndex=50&pageSize=25&sortBy=referenceYear&sortOrder=false
returns up to 25 matching EPDs starting at offset 50, ordered by descending reference year.
The response’s totalCount describes all matches, while startIndex and pageSize describe the requested slice.
Retrieving a Specific EPD
If you have the Registration Authority UUID and EPD UUID, you can retrieve its full ILCD+EPD data.