Voidly Benchmarks
Measuring our data depth against the field.
How Voidly's coverage stacks up against OONI, Freedom House, Cloudflare Radar, M-Lab, and Citizen Lab. Numbers below trace to public docs or to our live API. We don't win every column.
Overview
Scroll horizontally on mobile| Feature | Voidly Aggregator + ML classification + agent infrastructure | OONI Open Observatory of Network Interference (probe-based) | Freedom House Freedom on the Net — annual narrative report | Cloudflare Radar Real-time network traffic + DDoS observability | M-Lab Open performance + measurement platform | Citizen Lab Targeted research + test lists (NEWS, ANON, etc.) |
|---|---|---|---|---|---|---|
| Total measurements (corpus) | 36.0M live + 1.6M historical Aggregated from OONI/CensoredPlanet/IODA + Voidly probe network. Live = last 30 days. | 2.2B+ raw Underlying OONI raw measurement corpus (Voidly aggregates from this). | — Not a measurement dataset — annual qualitative + scored report. | see docs Massive, real-time. Public counters but no per-row export of the underlying dataset. | see docs Open via BigQuery — billions of NDT/MSAK/etc. rows. | — Publishes test lists (~14K domains) + reports, not a continuous measurement feed. |
| Countries covered | 200 live, 168 in evidence DB Live = countries with current OONI / probe samples; evidence DB = lifetime corpus. | 195+ Global probe coverage; gaps where probes are not deployed. | ~70 FOTN 2024 covered 72 countries with full reports. | 200+ Effectively every country/region with Cloudflare traffic. | 200+ Worldwide via the M-Lab measurement platform. | see reports Coverage varies per investigation. |
| Freshness (latest data) | 6h aggregate, 5min probes OONI/IODA/CensoredPlanet ingest runs every 6h; Voidly probe network reports every 5min. | minutes Probe submissions appear on Explorer near-real-time. | annual Freedom on the Net publishes once per year. | real-time Live counters; some indicators are 5-min rolling. | real-time BigQuery tables update continuously. | periodic Investigative reports — episodic, not continuous. |
| Free public API | Yes CC BY 4.0, no auth on public endpoints, rate-limited. | Yes Public, well-documented JSON API + S3 raw. | Partial PDFs + CSV download free; richer datasets are gated. | Yes (limited) Radar API requires Cloudflare account; rate-limited by tier. | Yes BigQuery public datasets — Google Cloud egress costs apply. | — Reports are public; no continuous API feed. |
| Citable incident IDs | Yes (1,500+) Stable human-readable IDs e.g. IR-2026-0142. BibTeX/RIS export. | measurement URLs Per-measurement permalinks; no curated incident layer. | cite report Cite the country chapter / annual report. | no Charts and snapshots; no citable incident records. | measurement IDs Per-test rows in BigQuery; no incident curation layer. | cite report Cite individual investigations. |
| ML classification / scoring | 99.8% F1 GradientBoosting v2 on 37K labeled incidents. | rule-based Deterministic anomaly detection per nettest. | 0–100 score Human-coded across 21 indicators. | — Traffic + threat indicators, not censorship-classified. | — Performance-focused; no censorship label. | — Manual investigative methodology. |
| MCP / AI agent integration | 116 tools @voidly/mcp-server + @voidly/agent-sdk on npm. | no API only — no MCP server published. | no PDF-first publication. | no No public MCP server. | no No public MCP server. | no No public MCP server. |
| License | CC BY 4.0 All published Voidly datasets. | CC0 / CC BY-SA Raw measurements CC0; some derived works CC BY-SA. | mixed Reports free to read; redistribution requires permission. | see ToS Cloudflare ToS governs Radar API output. | CC BY-SA 4.0 Open data, share-alike attribution. | CC BY 2.5 CA Most reports/test lists; check per artifact. |
Depth benchmarks
Five quantitative slices. Voidly numbers come from FACTS.md and the live API. Competitor numbers cite each provider's public docs — we don't fabricate.
Country coverage
countriesData freshness
latencyCitable incident records
curated incident recordsAccessibility (free + permissive license)
opennessAI / MCP integration
agent integration depthBars are rough relative indicators, not precise scores. Each row links to the underlying source. Where a number isn't publicly disclosed, we say so and link to the provider's docs rather than guess.
Where we're weak
OONI's probe network sees ~100x more raw measurements per country than ours — they run the on-the-ground sensors; we aggregate the output. Cloudflare Radar's traffic-level signal is unmatched: real-time visibility into a meaningful fraction of the entire web. Freedom House's geopolitical narrative depth comes from a decade of in-country research and human coding — that's editorial expertise we don't replicate. M-Lab has more depth on network performance. Voidly is downstream of these networks and complementary — we cite them, we don't replace them.
Where we're unique
We aggregate across 5+ source networks (OONI, CensoredPlanet, IODA, Citizen Lab test lists, plus Voidly's own 30+ node probe network), classify with a 99.8% F1 GradientBoosting model, and emit citable incident IDs (e.g. IR-2026-0142) with stable URLs and BibTeX/RIS export. We ship the dataset as 116 MCP tools for AI agents. We forecast 7-day shutdown risk per country (XGBoost + isotonic calibration). As far as we know, no other censorship dataset is structured for AI-agent consumption end-to-end.
Reproduce
Every Voidly number on this page is reproducible from the public API. No auth required for the endpoints below.
# 1. Country censorship snapshot curl -s https://api.voidly.ai/data/censorship-index.json | jq '.[0]' # 2. List recent incidents (Iran) curl -s 'https://api.voidly.ai/data/incidents?limit=10&country=IR' | jq '.incidents[].hashId' # 3. Pull a single citable incident curl -s https://api.voidly.ai/data/incidents/IR-2026-0142 | jq . # 4. Evidence permalinks for that incident curl -s https://api.voidly.ai/data/incidents/IR-2026-0142/evidence | jq '.evidence[0]' # 5. 7-day shutdown forecast curl -s https://api.voidly.ai/v1/forecast/IR/7day | jq .summary
import { fetch } from 'undici';
// Citable incident detail
const r = await fetch(
'https://api.voidly.ai/data/incidents/IR-2026-0142'
);
const incident = await r.json();
console.log(incident.title, incident.severity, incident.hashId);
// Or via MCP — drop into Claude / Cursor / Windsurf:
// npx @voidly/mcp-serverCite
CC BY 4.0 — free to use with attribution. See /press-kit/FACTS.md for the canonical fact sheet.
BibTeX
@misc{voidly2026,
author = {{Voidly}},
title = {{Voidly: Censorship intelligence + agent
infrastructure for the post-AI internet}},
year = {2026},
howpublished = {\url{https://voidly.ai}},
note = {Open data, CC BY 4.0. 36.0M
aggregated samples across 200 countries,
with 1,500+ citable incidents.}
}Citing a single incident
@misc{voidly_IR_2026_0142,
author = {{Voidly}},
title = {{Censorship Incident IR-2026-0142}},
year = {2026},
url = {https://voidly.ai/censorship-index/incidents/IR-2026-0142},
note = {Voidly Open Censorship Data, CC BY 4.0}
}RIS / API export
Each incident exposes BibTeX and RIS via the API:
curl https://api.voidly.ai/data/incidents/IR-2026-0142/report?format=bibtex curl https://api.voidly.ai/data/incidents/IR-2026-0142/report?format=ris