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.