Storm Overflow Data & Sewage Discharge Data UK avatar

Storm Overflow Data & Sewage Discharge Data UK

Pricing

from $1.40 / 1,000 storm overflow records

Go to Apify Store
Storm Overflow Data & Sewage Discharge Data UK

Storm Overflow Data & Sewage Discharge Data UK

Spill count and total spill duration for every UK storm overflow outfall, by water company and year, from the Environment Agency's official EDM Storm Overflow Annual Return.

Pricing

from $1.40 / 1,000 storm overflow records

Rating

0.0

(0)

Developer

Tabulary

Tabulary

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Security

Limited permissions

Share

What does Storm Overflow Data & Sewage Discharge Data UK do?

This Actor returns clean storm overflow data and sewage discharge data for England and Wales: the spill count and total spill duration for every storm overflow outfall, broken down by water company and calendar year. It comes straight from the Environment Agency's official EDM (Event Duration Monitoring) Storm Overflow Annual Return — the regulatory filing each water and sewerage company submits once a year. ESG analysts, journalists and river-health researchers use it to track water company spill data without chasing ten separate company websites.

This is annual, not live, data: the EA publishes one return per year, typically around March for the previous calendar year. It is not a real-time monitoring feed.

What you get

  • One record per storm overflow outfall per year: outfall ID, site name, grid reference, receiving water and catchment, spill count, total spill duration, and the long-term average spill count the company reports against.
  • EDM operational percentage (how much of the year the monitor was actually working) and the stated reason when it's below 90%.
  • Any investigation or improvement activity, and the high-spill-frequency review reasons, the company recorded for that outfall in that year.
  • An optional filter by water company, and use from AI agents through the Apify MCP server.

How much does it cost?

You pay per record saved, with no monthly fee: $2.00 per 1,000 records on Apify's free plan, and 10–40% less on paid Apify plans. Each run also costs $0.001 to start. Apify's free plan includes $5 of credit every month, enough for about 2,500 records. Prices as of October 2026; the price shown on this page is the one that applies.

UseRecordsCost on the free plan
One water company, one year (e.g. Dŵr Cymru Welsh Water, 2025)~122about $0.24
A full year, all companies (e.g. 2024)~14,300about $28.60
Default run (first 500 records of 2025, the latest return)500about $1.00

Set Maximum cost per run to cap any run; the Actor stops cleanly at the cap and keeps everything it saved.

Ready-made inputs

{ "year": 2025, "maxItems": 500 }
{ "year": 2025, "company": "Dwr Cymru Welsh Water", "maxItems": 200 }
{ "year": 2025, "company": "Thames Water" }

All three were run against the live source while building this tool and returned results.

Input

FieldTypeDefaultDescription
yearintegerrequired (prefill 2025, the latest return)The annual return year. 2024 is the earliest year this Actor supports.
companystring"" (all)One of the 10 water and sewerage companies in England and Wales, or empty for all.
maxItemsinteger500Stop after this many records. Each record is one billable dataset item.

Output

One dataset item per storm overflow outfall. A real item from the 2024 return:

{
"record_id": "AWS00001",
"water_company": "Anglian Water",
"site_name": "21 HIGH STREET CSO",
"site_name_operational": "BURTON LATIMER XX KING RD SSO",
"permit_reference": "AWNNF13860",
"supplementary_permit_reference": "AWNNF4102",
"permit_activity_reference": "A1",
"asset_type": "SO on sewer network",
"outlet_grid_reference": "SP9037074740",
"waterbody_id": "GB105032045140",
"waterbody_catchment": "Ise - Lower",
"receiving_water": "UN-NAMED TRIB RIVER ISE",
"shellfish_water": "Not Applicable",
"bathing_water": "Not Applicable",
"treatment_method": "Not Applicable",
"total_spill_duration_hours": 4.5,
"spill_count": 9,
"long_term_average_spill_count": 6.75,
"monitoring_start_year": 2022,
"edm_operational_percent": 57.15,
"low_reporting_reason": "Comms failure / issue",
"low_reporting_action": "Resolved - Jun",
"high_spill_frequency_reason_year": "High spill threshold not met",
"high_spill_frequency_reason_long_term": "High spill threshold not met",
"investigation_activity": "No investigation activity in reporting period",
"improvement_activity": "No improvement action in reporting period",
"report_year": 2024
}

Notes on the fields:

  • total_spill_duration_hours is the year's total spill duration in decimal hours (so 515 means 515 hours, not 5h15m); it can exceed 8,760 only if the EA's own return does.
  • spill_count and long_term_average_spill_count are not always whole numbers — the EA's "12-24h" counting method can combine or split events, so fractional counts (e.g. 6.75) are as reported, not a rounding error.
  • site_name_operational, supplementary_permit_reference, shellfish_water, bathing_water and the reason/action fields are null or "Not Applicable" when the company didn't report a value; the EA's own return makes that distinction, and this Actor keeps it.
  • outlet_grid_reference is a British National Grid reference (not latitude/longitude).
  • No personal data: every record is keyed to an outfall and a company, never a person.

Use it from AI agents

Add the Actor to Claude, ChatGPT, Cursor or any MCP client through the Apify MCP server (https://mcp.apify.com?tools=tabulary/uk-storm-overflow-annual-data). Ask in plain language, for example: "How many times did Thames Water's storm overflows spill in 2025?" The agent fills in the input and gets structured records back.

Use it from code

curl -X POST "https://api.apify.com/v2/acts/tabulary~uk-storm-overflow-annual-data/run-sync-get-dataset-items?token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"year": 2025, "company": "Thames Water"}'

The same works with the Apify Python and JavaScript clients. See the API tab for details.

Data source and limits

  • Source: the Environment Agency's EDM Storm Overflow Annual Return dataset, under the Open Government Licence. Each year is a ZIP of Excel workbooks that the EA publishes once a year, usually around March.
  • This Actor supports 2024 and later years. 2021–2023 used a different column layout without a stable outfall ID, and 2020 and earlier published a separate file per company; a future update may add those.
  • Covers all 10 water and sewerage companies in England and Wales, including Dŵr Cymru Welsh Water, which is published in the same file as the English companies.
  • This Actor respects a polite ~1 request/second and retries on server errors; because the source is a single annual file, not a paginated API, each run makes one download.
  • Not affiliated with or endorsed by the Environment Agency, Defra or any water company.

Other Tabulary tools

Clean data from official and public sources, priced per result:

FAQ

Is this data official? Yes — it's the Environment Agency's own regulatory annual return, not a scrape of a company website or a third-party summary.

How fresh is it? As fresh as the EA's own publishing schedule: one return per year, usually released around March for the previous calendar year. This is not a live monitoring feed.

Why does a water company's name differ from what I expected? The company filter uses the EA's own company names (e.g. "Dwr Cymru Welsh Water", not "Welsh Water"); see the Input table for the exact list.

Something broke? Open an issue on the Issues tab. The Actor is tested daily.

Changelog

  • 2026-11-02: reads the workbook as a stream, so the larger 2025 return runs within normal memory; defaults to the 2025 return.
  • 2026-10-31: first version: EDM Storm Overflow Annual Return data for 2024 and 2025, by water company and year, with an optional company filter.

About Tabulary

This tool is part of Tabulary: clean tables from official public sources. Every Tabulary tool uses the source's official API or open data where one exists, collects no personal data, and is tested on Apify every day. Questions or ideas? Open an issue on the Issues tab.