EU Air Quality Scenario Records — EEA AQ Plans
Pricing
from $33.50 / 1,000 scenario records
EU Air Quality Scenario Records — EEA AQ Plans
Keyless pay-per-record EEA air-quality scenarios — base vs projection emissions/concentration/exceedances. Projections labelled verbatim; no persons. EEA acknowledge. GOLD $0.05 ladder.
Pricing
from $33.50 / 1,000 scenario records
Rating
0.0
(0)
Developer
NexGen Signal
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
5 days ago
Last modified
Categories
Share
Keyless. Pay per record. Every European air-quality projection — base versus projected emissions, concentration, and exceedances — as one clean table.
This actor turns the European Environment Agency (EEA) Air Quality e-Reporting scenarios dataset into clean, per-scenario records — the modelled base-and-projection scenarios that member states report under EU air-quality plans to show how a polluted zone is expected to reach compliance. Each run reads the EEA's keyless DiscoData SQL service and delivers one row per scenario: its identifier and code, the country and reporting year, the plan it belongs to, the start and attainment years, and — paired exactly as the source reports them — the base-scenario and projection-scenario values for emissions, concentration, and exceedances, plus the air pollutant, protection target, and zone. Scenario grain, structured for engineering use, reusable with acknowledgement of the EEA, with no personal data of any kind, and projections labelled as projections — never upgraded to fact.
What this is, in one paragraph
When a European zone exceeds an air-quality limit, the member state models what will happen: a base scenario (the situation without new action) and a projection scenario (the expected situation once measures take effect), for a target attainment year. The EEA collects those scenarios. This actor reads that dataset and flattens each scenario into a single analysis-ready record: the scenario id and code, the country and reporting year, the plan id, the start year and attainment year, the first exceedance date, and the paired base/projection values for emissions, concentration, and exceedances — each carried under its own label — along with the air pollutant, protection target, objective type, reporting metric, and zone. The projection values are modelled forecasts, labelled exactly as the source labels them and never presented as measured outcomes. Values are carried verbatim. You are billed only for records actually delivered.
Who buys this and for what job
- Clean-air, policy-modelling, and consultancy teams comparing projected air-quality improvements against baselines across Europe.
- Environmental-analytics and ESG products tracking which zones are projected to reach attainment, and when.
- Researchers and NGOs studying the gap between base and projection scenarios by pollutant and country.
- Data engineers who want the AQ scenarios as clean rows without writing SQL against the EEA service.
EEA licence — reuse with acknowledgement
One licence rider travels on every record. EEA data may be reused, including commercially, provided the source is acknowledged: "Source: European Environment Agency (EEA)." Where third-party content is marked, it keeps its own terms. The data is a set of reported modelled scenarios as published — a projection is a forecast, not an outcome.
Scenario grain — no person data, projections labelled as projections
The unit of every record is a modelled scenario — a projection, never a person. The dataset carries no natural-person fields; scenario codes, plan ids, pollutants, zones, and numeric base/projection values are the entire payload, and a person-key guard runs on every record as a pure backstop. Crucially, the base and projection values are kept separate and labelled — base_scenario_* and projection_scenario_* — so a projection is never silently presented as a measured fact.
Sample output

Real rows from a live run of this actor (first 5 rows, selected columns).
One full record from the same run, exactly as delivered:
{"record_id": "01270629-dba7-e511-9f2a-000d3a213c5b","scenario_id": "01270629-dba7-e511-9f2a-000d3a213c5b","scenario_code": "PL0202/15/As;","country": "Poland","country_code": "PL","reporting_year": 2013,"aq_plan_id": "606348e7-daa7-e511-9f2a-000d3a213c5b","start_year": 2023,"attainment_year": 2013,"first_exceedance_date": "2013","publication": null,"base_scenario_emissions": 3.25e-05,"projection_scenario_emissions": 2.147e-05,"base_scenario_concentration": 0.0115,"projection_scenario_concentration": 0.0069,"base_scenario_exceedances": null,"projection_scenario_exceedances": null,"ns_wss_correction": null,"air_pollutant": null,"protection_target": null,"objective_type": null,"reporting_metric": null,"zone_id": null,"attainment_id": null,"source_data_url": "https://cdr.eionet.europa.eu/pl/eu/aqd/j/envvokhyg/1_01270629-dba7-e511-9f2a-000d3a213c5b.xml","source": "EEA Air Quality e-Reporting — scenarios","source_url": "https://discodata.eea.europa.eu/","licence": "European Environment Agency (EEA) Air Quality e-Reporting — air-quality SCENARIOS dataset. Reuse is permitted, including for commercial purposes, provided the source is acknowledged: 'Source: European Environment Agency (EEA)'. Third-party content, where marked, keeps its own terms.","attribution": "Source: European Environment Agency (EEA), Air Quality e-Reporting — scenarios dataset.","disclaimer": "Air-quality PROJECTION-SCENARIO records at scenario grain, as reported by member states under the Air Quality Directive and published by the EEA. Each record pairs a BASE-scenario value with a PROJECTION-scenario value for emissions, concentration, and exceedances. The projection values are modelled projections — labelled here exactly as the source labels them (base vs projection) and NEVER presented as measured fact. Scenario/zone/pollutant grain — no natural-person data. Values carried VERBATIM; a projection is a forecast, not an outcome.","observed_at": "2026-09-25T17:31:28Z"}
Pricing
| Event | Free plan | Bronze | Silver | Gold / Platinum / Diamond |
|---|---|---|---|---|
scenario_record | $0.05 | $0.045 | $0.04 | $0.0335 |
Delivered before charged. Blocked runs and empty results cost nothing.
Input
| Field | Type | Default | Description |
|---|---|---|---|
countryCode | string | — | Optional 2-letter country code (e.g. DE, FR, IT). |
year | integer | — | Optional reporting year to filter. |
pollutant | string | — | Optional air pollutant (e.g. NO2, PM10, PM2.5, O3). |
maxRecords | integer | 500 | Ceiling on records delivered and billed. |
Output
One JSON object per scenario. Real example (values as published):
{"record_id": "EVS.AT_05_NO2_2014","scenario_id": "EVS.AT_05_NO2_2014","scenario_code": "AT_05_2010_2020","country": "Austria","country_code": "AT","reporting_year": 2014,"aq_plan_id": "PLA.AT_05_2014","start_year": 2010,"attainment_year": 2020,"base_scenario_emissions": 5730.0,"projection_scenario_emissions": 4580.0,"base_scenario_concentration": 43.0,"projection_scenario_concentration": 40.0,"air_pollutant": "NO2","protection_target": "Health","objective_type": "Limit Value (LV)","reporting_metric": "Annual mean / average","zone_id": "ZON-AT_05","source": "EEA Air Quality e-Reporting — scenarios","licence": "European Environment Agency (EEA) ... provided the source is acknowledged ...","disclaimer": "Air-quality PROJECTION-SCENARIO records ... labelled ... as the source labels them ... never ... measured fact ...","observed_at": "2026-08-22T00:00:00Z"}
An unbilled RUN_RECEIPT records the robots check, the filters, rows seen and delivered, and whether charged equals delivered.
Field reference
Each record is one scenario. Identity: record_id / scenario_id, scenario_code, and aq_plan_id. Scope and time: country, country_code, reporting_year, start_year, attainment_year, and first_exceedance_date. Base vs projection (each labelled): base_scenario_emissions / projection_scenario_emissions, base_scenario_concentration / projection_scenario_concentration, and base_scenario_exceedances / projection_scenario_exceedances, plus ns_wss_correction and publication. Target: air_pollutant, protection_target, objective_type, and reporting_metric. Links: zone_id, attainment_id, and source_data_url. Provenance: source, source_url, licence, attribution, disclaimer, and observed_at.
How a run works
A run first re-reads the source host's robots posture from your runtime — the EEA DiscoData host — and stops at the door if that ever changes. It queries the scenarios table through the DiscoData SQL service, applies your optional country, year, and pollutant filters, and flattens each scenario to one record — carrying the base and projection values verbatim and separately labelled, never merging them or presenting a projection as fact, and never anything person-shaped — delivered before it is charged, so a blocked or empty run costs you nothing. The actor stops at your maxRecords ceiling and records charge_equals_delivered in the receipt.
Coverage and scope
The scenarios dataset holds on the order of 7,000 reported scenarios across the reporting countries. Because each record carries the country_code, air_pollutant, attainment_year, and the base/projection pairs, segmenting by country, pollutant, or target year — and computing the projected improvement — is straightforward. Pull one country, one pollutant, or the whole set to seed a scenarios table.
Working with the scenarios
The scenarios are built to be compared against their baselines, and the paired labelling makes that safe. Because every record carries base_scenario_concentration alongside projection_scenario_concentration (and the same for emissions and exceedances), the projected improvement is a single subtraction — while the labelling keeps the projection clearly a forecast, never a measurement. The attainment_year and start_year frame each scenario in time, so an analyst can line up scenarios by target year across countries, and the air_pollutant with protection_target and objective_type locate each scenario against the specific limit it addresses. The zone_id and aq_plan_id join scenarios to zones and plans, and to the companion air-quality measures dataset, so the projected effect of a plan can be read next to the measures that produce it.
Cost guidance
One scenario_record per delivered scenario: cost = scenarios delivered × your plan's per-record price. Scope with countryCode, year, or pollutant. The whole set is ~7,000 scenarios; 1,000 scenarios is $50 (Free) / $33.50 (Gold).
Honest limitations
- Projections, not outcomes. Projection values are modelled forecasts, labelled as such and never presented as measured fact.
- As published. Base and projection values are carried verbatim; this actor reformats, it does not re-model.
- Acknowledge the EEA. The acknowledgement travels on every record.
- No person data of any kind.
Differentiation
It is the projection companion to the fleet's air-quality measure records (the actions) and distinct from any monitoring or emissions cell (measured readings, not modelled scenarios). Its specific job is the EEA air-quality scenarios dataset — base versus projection, scenario by scenario.
The NexGen Signal family
Part of the NexGen Signal family of pay-per-record data products:
- EU Air Quality Measure Records — EEA AQ Plans
- EU GHG Inventory Records — EEA
- EU Industrial Emissions Records — EEA IED Facilities
- EU Nitrate Monitoring Records — EEA WISE Nitrates
- EU Bathing Water Quality Records — EEA BWD
Source: European Environment Agency (EEA), Air Quality e-Reporting — scenarios dataset (discodata.eea.europa.eu). EEA data may be reused, including commercially, provided the source is acknowledged: "Source: European Environment Agency (EEA)"; marked third-party content keeps its own terms. Scenario grain; base and projection values labelled separately and carried verbatim, projections never presented as measured fact; no person data of any kind.