Next free-source hunt
We check for new free data every weekday.
Datasets / OSINT
ooni.org/

OONI Measurement Data and API

FreeNon-commercial onlyauth: none for read API and S3CC-BY-NC-SA-4.0#osint#network-data#event-data#real-time#historical-data#risk✓ verified Nov 1, 2026

OONI Measurement Data and API

OONI publishes volunteer network-interference measurements through a JSON API and as compressed JSONL files in a public S3 bucket. API metadata includes time, country code, network ASN, test name, input, anomaly and failure flags plus a raw-measurement URL; no key is needed for read access.

Required Attribution:

Credit OONI as the data source, link the CC BY-NC-SA 4.0 licence, and indicate changes.

Coverage

Measurements come from volunteer probes worldwide, and the checked API returned archived records beginning 5 December 2012. Accepted measurements are exposed rapidly through OONI Explorer and batched to S3 once an hour; API searches cannot span more than 180 days per request and are not intended for bulk extraction.

Verdict

A network-risk signal for detecting possible censorship, blocking, middleboxes and service reachability changes by country and ASN. Anomaly and failure flags are test outputs, not confirmed interference; compare repeated measurements, controls and OONI's scoring fields before acting. Coverage follows volunteer probe activity and is uneven across places, networks and time. Raw measurements can contain tested URLs and may unintentionally contain identifying material in headers or metadata, so minimize collection and avoid redistributing sensitive fields.

Get the free weekly email

Free weekly email of newly verified free data. Unsubscribe by emailing us.

Use in your agent

Load recent OONI measurement metadata into pandas and Parquet. Checked against the provider's documentation on Nov 1, 2026.

Raw skill file (/skills/ooni-measurements.md)Also in our MCP server: call get_ingestion_skill with {"slug": "ooni-measurements"}.

Access

  • No key or account is needed for the public measurement search API.
  • Use the public S3 JSONL archive instead of paging through the API for bulk extraction.

Request

bash
curl 'https://api.ooni.io/api/v1/measurements?limit=100&order=desc'

Format

JSON object with pagination metadata and result records containing measurement ID and time, probe country and ASN, test name, input, anomaly, confirmation and failure flags, scores and raw-measurement URL.

Load into pandas and Parquet

Needs Python 3 with requests, pandas and pyarrow.

python
"""Recent OONI measurement metadata -> pandas -> Parquet. No key."""
import requests
import pandas as pd

URL = "https://api.ooni.io/api/v1/measurements"
params = {"limit": 100, "order": "desc"}
r = requests.get(URL, params=params, timeout=60)
r.raise_for_status()
payload = r.json()
df = pd.json_normalize(payload["results"], sep="_")
df["measurement_start_time"] = pd.to_datetime(df["measurement_start_time"], utc=True)
df.to_parquet("ooni_recent_measurements.parquet", index=False)
print(len(df), "measurements", df["probe_cc"].nunique(), "countries", df["measurement_start_time"].min().isoformat(), "to", df["measurement_start_time"].max().isoformat())

Run by us on 2026-11-01 (python 3.13.5 | pandas 3.1.0 | pyarrow 26.0.0 | requests 2.34.2). Result: 100 measurements 2 countries 2026-11-01T17:39:06+00:00 to 2026-11-01T18:14:11+00:00

Limits

  • Rate limit: Not stated.
  • A measurement API query cannot span more than 180 days.
  • The API is not designed for tens of thousands of measurements or many gigabytes; use the S3 archive for bulk access.

Quirks

  • anomaly means a measurement needs attention; confirmed and failure are separate fields and should not be collapsed into one blocking label.
  • Volunteer probe coverage varies sharply by country, ASN, test and date.
  • Raw measurements can include tested URLs and can unintentionally include identifying content in headers or metadata.

Terms and attribution

  • Published OONI data is CC BY-NC-SA 4.0.
  • Attribute OONI, keep reuse non-commercial, indicate changes and apply ShareAlike terms.

Sources

Information and education only. Not financial, investment, legal or tax advice. Listings can be inaccurate, incomplete or out of date and are provided "as is". Free tiers, limits and licenses belong to each provider and can change, so check the provider's own terms before you rely on them. Terms & Disclaimer