Skip to main content

Open data

Our test results are published as open data so anyone — swimmers, clubs, researchers, journalists — can use them. Results appear once a sample is complete. Each value shows a qualifier: '=' for an exact count, '<' when below the lab's detection limit, '>' when above its counting limit. Status (pass, warn, fail) uses the thresholds on the Explain readings page. Please credit 'The River Thames Water Quality Testing Group' when you use the data. Results are a guide only — see the disclaimer.

Using the data

Published results are available from this public web address:

https://msqjdbthrkuogclaamjn.supabase.co/rest/v1/public_results

Every request needs our public key sent as the apikey header:

sb_publishable_GUZ6HgW1Wz8BPYXkNKPTZQ_cppKUPl5

Example: the 10 most recent results at Boulters Lock.

curl "https://msqjdbthrkuogclaamjn.supabase.co/rest/v1/public_results?location_slug=eq.boulters-lock&order=sampled_at.desc&limit=10" \
  -H "apikey: sb_publishable_GUZ6HgW1Wz8BPYXkNKPTZQ_cppKUPl5"

Fields returned

FieldDescription
location_nameName of the testing location.
location_slugShort identifier for the location, used in filters and links.
sampled_atWhen the sample was taken (ISO 8601, UTC).
parameter_nameWhat was measured, e.g. E. coli.
parameter_unitUnit of the value, e.g. CFU/100ml.
valueThe measured count, or the detection bound for < and > results.
qualifiereq (exact), lt (below detection limit) or gt (above counting limit).
statuspass, warn or fail against the thresholds on the Explain readings page.
method_titleTesting method used, e.g. Laboratory.
public_noteOptional public note about the sample.