<html><head><style>body{font-family:Helvetica,Arial;font-size:13px}</style></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div id="bloop_customfont" style="margin: 0px;"><div id="bloop_customfont" style="margin: 0px;">Hi Oonitarians!</div><div id="bloop_customfont" style="margin: 0px;"><br></div><div id="bloop_customfont" style="margin: 0px;">We are glad to announce the release of the stable version of OONI's new measurement API, which is available here: <a href="https://api.ooni.io/">https://api.ooni.io/</a>.</div><div id="bloop_customfont" style="margin: 0px;"><br></div><div id="bloop_customfont" style="margin: 0px;">The OONI API is based on the stable release of our data processing pipeline, which has been re-engineered over the last year to detect censorship events around the world faster and more accurately.</div><div id="bloop_customfont" style="margin: 0px;"><br></div><div id="bloop_customfont" style="margin: 0px;">We added the following to the OONI API:</div><div id="bloop_customfont" style="margin: 0px;"><br></div><div id="bloop_customfont" style="margin: 0px;">* API endpoints for listing and filtering anomalous measurements</div><div id="bloop_customfont" style="margin: 0px;"><br></div><div id="bloop_customfont" style="margin: 0px;">* API endpoints for downloading full reports</div><div id="bloop_customfont" style="margin: 0px;"><br></div><div id="bloop_customfont" style="margin: 0px;">We changed the following:</div><div id="bloop_customfont" style="margin: 0px;"><br></div><div id="bloop_customfont" style="margin: 0px;">* Reverse sorting in `by_date` view and hide measurements from time travellers</div><div id="bloop_customfont" style="margin: 0px;"><br></div><div id="bloop_customfont" style="margin: 0px;">* Better API documentation thanks to redoc based on OpenAPI 2.0</div><div id="bloop_customfont" style="margin: 0px;"><br></div><div id="bloop_customfont" style="margin: 0px;">* Improve request validation thanks to connexion base on OpenAPI</div><div id="bloop_customfont" style="margin: 0px;"><br></div><div id="bloop_customfont" style="margin: 0px;">* Oonify the UI</div><div id="bloop_customfont" style="margin: 0px;"><br></div><div id="bloop_customfont" style="margin: 0px;">* Better testing</div><div style="color: rgb(0, 0, 0); font-family: Helvetica, Arial; font-size: 13px;"><br></div><div style="color: rgb(0, 0, 0); font-family: Helvetica, Arial; font-size: 13px;">Some of the fun things you can do with this new API include, easily searching through OONI measurements to find those containing anomalies.</div><div style="color: rgb(0, 0, 0); font-family: Helvetica, Arial; font-size: 13px;"><br></div><div style="color: rgb(0, 0, 0); font-family: Helvetica, Arial; font-size: 13px;">As an example, with the following one liner (assuming you have curl and jq) you can get a sample of censored websites in India:</div><div style="color: rgb(0, 0, 0); font-family: Helvetica, Arial; font-size: 13px;"><br></div><div style="color: rgb(0, 0, 0); font-family: Helvetica, Arial; font-size: 13px;">$ curl 'https://api.ooni.io/api/v1/measurements?probe_cc=IN&confirmed=true' | jq -r '.results[].input' | sort | uniq | head -n 5</div><div style="color: rgb(0, 0, 0); font-family: Helvetica, Arial; font-size: 13px;"><div>http://0bin.net</div><div>http://archive.org</div><div>http://hastebin.com</div><div>http://mp3.com/</div><div>http://pastebin.com</div><div><br></div><div>Have fun!</div><div><br></div><div>~ Arturo</div><div><br></div></div></div></body></html>