voidly

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.

Updated dailyFACTS.mdMethodologyAPI docs

Overview

Scroll horizontally on mobile
FeatureVoidly
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 covered200 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 APIYes
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 IDsYes (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 / scoring99.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 integration116 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.
LicenseCC 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

countries
200+
195+
200 live / 168 lifetime

Data freshness

latency
real-time
minutes
5min probes / 6h aggregate
periodic reports

Citable incident records

curated incident records
1,500+ (stable IDs)
measurement URLs only
investigation reports
annual chapter cite
measurement rows
no curated incidents

Accessibility (free + permissive license)

openness
CC0 / CC BY-SA — free API
CC BY 4.0 — free API
CC BY-SA — BigQuery (egress fees)
CC BY 2.5 CA — reports + test lists
free API w/ account, ToS-bound
PDF free, datasets gated

AI / MCP integration

agent integration depth
116 MCP tools + agent SDK
REST API only
REST API only
BigQuery / SQL only
PDF-first
PDF / GitHub

Bars 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-server

Cite

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

Get involved