CSV Export
Returns the currently-matched monitors as a flat CSV — one row per monitor — using the same filters as the summary endpoint. Useful if you want a downloadable data table without re-shaping the JSON response yourself.
GET /api/v2/devices/network-coverage/export.csv?token={SECRET_TOKEN}
token in a public "Download" linkIf you're wiring this up to a download button a visitor clicks, don't use a link with ?token= in it — anyone can read the token out of that URL. Route the download through your own backend instead, the same way as any other endpoint on this page. See the note on query-string tokens →.
Query parameters
| Parameter | Type | Description |
|---|---|---|
token | string | Required |
tenant | string | Optional. Defaults to airqo. |
search | string | Optional. Filters monitors by name, city, or country. |
activeOnly | boolean | Optional. |
types | string | Optional. Comma-separated: Reference, LCS. |
network | string | Optional. Comma-separated network names. |
countryId | string | Optional. Scope the export to one country. |
Example
curl "https://api.airqo.net/api/v2/devices/network-coverage/export.csv?countryId=uganda&token={SECRET_TOKEN}" \
-H "Accept: text/csv" \
-o network-coverage-uganda.csv
The response is Content-Type: text/csv, with a header row followed by one row per matched monitor covering the same fields documented in Monitor Details (name, city, country, type, status, operator, manufacturer, pollutants, and so on).
The Download button on airqo.net/solutions/network-coverage currently formats a summary report (totals, filters applied, per-country breakdown) from data it already has in memory, rather than calling this endpoint. If you just need a raw, one-row-per-monitor table, call export.csv directly — it's simpler than reconstructing the report format.