Public APIs
DataStream favicon

DataStream

Open Data

An open access platform for sharing Canadian water quality data.

DataStream's website screenshot

About DataStream

DataStream provides a public API for accessing water quality and environmental monitoring data, built on the OData JSON Format v4 (ISO/IEC 20802-2) standard. The API exposes endpoints for dataset-level metadata, monitoring locations, observations, and raw records, with filtering by criteria such as DOI, location, activity dates, and characteristic name. Data retrieved through the API is expected to be cited, with citation, licence, and DOI information available via the /Metadata endpoint.

The repository documents API key access, endpoint usage, and best practices for querying, including URL encoding of query parameters, partitioning large requests (over 1M rows) by monitoring location or activity start year, paginating results, and rate-limiting requests to 2 per second. Separate QA and production API endpoints are provided, and browser-based access requires domain whitelisting for CORS; only GET requests are supported for browser use, while other applications authenticate via an x-api-key header.

Client modules are available for R, Python, JavaScript, and Shell to simplify API integration. The documentation is intended for developers and organizations building applications or scripts that consume environmental monitoring datasets from DataStream.

Key features

  • OData JSON Format v4 (ISO/IEC 20802-2) public API for water monitoring data
  • Endpoints for dataset metadata, monitoring locations, observations, and raw records
  • Official client modules for R, Python, JavaScript, and Shell
  • Pagination via Link header or @odata.nextLink for large result sets
  • CORS whitelisting available for browser-based GET requests
  • API key authentication via the x-api-key header

Frequently asked questions

Is there a free tier or pricing information?

The documentation does not mention pricing; access requires requesting an API key.

What languages or platforms are supported?

DataStream provides wrapper modules for R, Python, JavaScript, and Shell to make using the API easier.

How do I authenticate requests?

Requests must include the API key in the x-api-key header, except browser requests from a whitelisted domain, which only support GET.

Are there rate limits I need to plan for?

Yes, requests should be limited to 2 per second and not made in parallel to avoid 429 Too Many Requests errors.

Who is this API for?

It is for developers building applications that need to query and stream water quality monitoring datasets, locations, and observation records.

Advertise here

Featured products

  • SerpApi - Search API favicon
  • Screenshot Scout favicon
  • TalorData favicon
  • CoreClaw favicon

Show your product to thousands of developers

· 100k monthly pageviews
· 7k newsletter subscribers

Advertise your product