HESTIA's aggregated data is published to the AWS Open Data Registry as s3://hestia-aggregated-data in the eu-west-2 region, under the CC-BY 4.0 licence.
The bucket is public. You need no AWS account, no credentials and no access request, and there are no data transfer charges to you — AWS sponsors the storage through its Open Data Sponsorship Program.
National and global weighted averages of the environmental impacts of agricultural and food production, aggregated from the farm-level Cycles published on HESTIA. The 2025-05-01 release covers 70 products across 37 countries between 1990 and 2025, with 54 indicators computed under 18 characterisation models.
This is the aggregated dataset. The underlying farm-level Cycles that each aggregation is computed from are public too, but they are a much larger dataset and are not mirrored here — see Provenance below.
The bucket is organised by release. A release is a fixed snapshot, recalculated with the models current when it was published, and identified by its date. Releases are added here once they are freely available to everyone, which is 182 days after the version date. See Data Releases for what a release contains and Priority Data Access for the window before one becomes free.
data/jsonld/releases/<release>/ImpactAssessment/<id>.jsonld
data/jsonld/releases/<release>/Cycle/<id>.jsonld
data/jsonld/releases/<release>/Site/<id>.jsonld
data/jsonld/releases/<release>/Term/<id>.jsonld
data/jsonld/releases/<release>/Source/<id>.jsonld
data/jsonld/releases/<release>/manifest.json
data/parquet/releases/<release>/impacts.parquet
metadata/releases/<release>/hestiaAggregatedData.json
metadata/releases/<release>/hestiaAggregatedQuality.json
manifest.json lists every node in the release and is the completeness record: if it is present, the release finished uploading.
To look around before writing any code, open https://hestia-aggregated-data.s3.eu-west-2.amazonaws.com/index.html, which browses the bucket in your browser with no AWS account and nothing to install.
Start with the index. metadata/releases/<release>/hestiaAggregatedData.json maps product to country to year to aggregation id, and is the quickest route from "maize in Brazil" to a node id.
aws s3 cp --no-sign-request \
s3://hestia-aggregated-data/metadata/releases/2025-05-01/hestiaAggregatedData.json .
For analysis across many aggregations, use the Parquet file. data/parquet/releases/<release>/impacts.parquet is a flat mirror of the mid-point (impacts) and end-point (endpoints) indicators — one row per indicator, with the product, country, dates, functional unit, allocation method and data quality score alongside each value.
import pandas as pd
parquet = "s3://hestia-aggregated-data/data/parquet"
df = pd.read_parquet(
f"{parquet}/releases/2025-05-01/impacts.parquet",
storage_options={"anon": True},
)
An indicator is not uniquely identified by its term. The same term is computed under several characterisation models, so always filter or group by methodModelId as well as termId — otherwise freshwaterEutrophicationPotential appears once per ReCiPe perspective and the values look duplicated when they are not.
For the full detail, read the JSON-LD. The Parquet file mirrors the impact and endpoint indicators only; the JSON-LD is the source of truth and carries everything else, including inputs, products, practices and emissions.
aws s3 cp --no-sign-request \
s3://hestia-aggregated-data/data/jsonld/releases/2025-05-01/ImpactAssessment/<id>.jsonld .
An ImpactAssessment references its Cycle, a Cycle references its Site, and all of them reference Terms from the HESTIA glossary and the Source they cite. Every one of those is included in the same release folder — including terms reachable only from another term, through subClassOf or defaultProperties — so a document can be resolved completely without calling the HESTIA API or leaving the bucket.
The one thing a release does not resolve internally is provenance, below.
aggregatedCycles, aggregatedSites, aggregatedImpactAssessments and aggregatedSources list what an aggregation was computed from — often several hundred nodes per aggregation. None of them are mirrored into this bucket: they are the raw farm-level dataset and its bibliography, which are public but far larger and distributed separately.
Each aggregation still carries its own source, which is included here — every aggregation in a release cites the same one, the HESTIA methodology paper.
The provenance ids stay in the published documents, so any one of them can be followed on the platform at /cycle/<id>, /source/<id> and so on.
Every object written to the bucket publishes to an SNS topic, so you can react to a new release instead of polling:
arn:aws:sns:eu-west-2:568256617230:hestia-aggregated-data-object-created
Subscribe an SQS queue or a Lambda function to it — those are the only two protocols the topic accepts.
A release is uploaded object by object and its manifest.json is written last, so the event you want is the one for a key matching data/jsonld/releases/<release>/manifest.json. That is the point at which the release is complete and safe to read; anything earlier is a partial upload.
A Jupyter notebook working through the dataset end to end on AWS is linked from the registry entry.
Cite the dataset under CC-BY 4.0 and attribute HESTIA. See Citation for the preferred form.