/diseases/surveys/filter
/diseases/surveys/filter
/diseases/surveys/filter
Returns prevalence and seroprevalence survey rows matching optional filters. Results are ordered by the greater of survey start year and publication year (newest first).
Each row includes core survey fields, resolved pathogens and test_types name arrays (underlying id lists are not returned), and a top-level timestamp (Unix epoch seconds) reflecting the most recent row update in the filtered set.
If the filter set matches more than the server limit (see max_records in the capped response; default 500 when no setting override), the API returns HTTP 200 with { "data": { "record_count", "max_records" } } instead of the full list—add filters (for example disease and country) and call again.
Use GET /diseases/surveys/filter-options to discover available filter values for the current dataset.
{ "data": [ ... ], "timestamp": <unix_epoch_seconds> } — each survey object uses lowercase keys (e.g. id prefixed with s_, survey_start, survey_end, publication_year, region, population, percent1, percent2, surveysize, disease_id, hash_id, disease_name, country_code, country_name, last_update_date, survey_type, pathogens, test_types). Top-level timestamp is a Unix epoch integer (seconds), not an ISO string. The Postman example shows one data row for brevity.
{ "data": { "record_count": <n>, "max_records": <cap> } } with 200.