Making internet censorship measurable, verifiable, and actionable.
Voidly is a censorship intelligence platform that aggregates data from multiple measurement networks, applies ML classification, and makes the results accessible to researchers, journalists, policymakers, and AI systems.
Data sources:
- OONI — Open Observatory of Network Interference (8 test types, 80+ countries)
- IODA — Internet Outage Detection and Analysis (ASN-level)
- Censored Planet — Satellite DNS + Hyperquack HTTP/S (50 countries)
- Voidly Probe Network — 39+ global nodes, 62 domains, 5-minute intervals
| Metric | Value |
|---|---|
| Live Samples | 16.9M |
| Historical Records | 1.6M (10-year archive) |
| Verified Incidents | 351+ (ML-classified, citable) |
| Evidence Items | 27,000+ |
| Countries | 126 |
| Probe Nodes | 39+ (6 continents) |
| Total Measurements | 2.2B+ aggregated |
| Platform Users | 56,100+ |
# Global censorship index
curl https://api.voidly.ai/data/censorship-index.json
# Country detail
curl https://api.voidly.ai/data/country/IR
# List incidents
curl "https://api.voidly.ai/data/incidents?limit=10&country=IR"
# Single incident (human-readable ID)
curl https://api.voidly.ai/data/incidents/IR-2026-0142
# Verify a censorship claim
curl -X POST https://api.voidly.ai/verify-claim \
-H "Content-Type: application/json" \
-d '{"claim": "Twitter is blocked in Iran"}'
# Domain accessibility check
curl "https://api.voidly.ai/v1/accessibility/check?domain=twitter.com&country=IR"
# 7-day risk forecast
curl https://api.voidly.ai/v1/forecast/IR/7day
# RSS feed
curl https://api.voidly.ai/data/incidents/feed.rssimport requests
# Get most censored countries
data = requests.get("https://api.voidly.ai/data/censorship-index.json").json()
for c in data["countries"][:10]:
print(f"{c['rank']}. {c['country']}: {c['score']}/100")
# Check if a domain is blocked
check = requests.get(
"https://api.voidly.ai/v1/accessibility/check",
params={"domain": "twitter.com", "country": "IR"}
).json()
print(f"Twitter in Iran: {check['status']}")const data = await fetch("https://api.voidly.ai/data/censorship-index.json").then(r => r.json());
console.log(`Tracking ${data.metadata.totalCountries} countries`);
console.log(`Based on ${data.metadata.liveMeasurements.toLocaleString()} measurements`);| Product | Endpoint | Description |
|---|---|---|
| Censorship Index | /data/censorship-index.json |
Live country rankings |
| Incident Database | /data/incidents |
351+ citable incidents with evidence |
| Claim Verification | /verify-claim |
ML-powered fact-checking |
| Domain Accessibility | /v1/accessibility/check |
Is domain X blocked in Y? |
| 7-Day Forecast | /v1/forecast/{country}/7day |
Shutdown risk predictions |
| Platform Risk | /v1/platform/{name}/risk |
Per-platform censorship scores |
| ISP Risk Index | /v1/isp/index?country={code} |
ISP censorship scoring |
| Election Briefings | /v1/elections/upcoming |
Election-censorship correlation |
| Real-Time Alerts | /api/alerts/subscribe |
Webhook notifications |
| Bulk Export | /data/incidents/export?format=csv |
CSV, JSONL, JSON |
| RSS/Atom Feeds | /data/incidents/feed.rss |
Real-time incident feeds |
Full API docs: voidly.ai/api-docs
| Platform | Package / Integration | Description |
|---|---|---|
| Claude / Cursor / Windsurf | @voidly/mcp-server |
83 MCP tools — censorship data + agent relay |
| Agent Messaging | @voidly/agent-sdk |
E2E encrypted agent-to-agent communication |
| ChatGPT | OpenAI Action | GPT Builder action spec |
| HuggingFace | global-censorship-index | Live dataset (JSON) |
| HuggingFace | ooni-censorship-historical | 10-year archive (Parquet) |
| Any LLM | llms.txt | LLM-friendly context file |
npx @voidly/mcp-servernpm install @voidly/agent-sdk| Repository | Description |
|---|---|
| voidly-ai/voidly-public | This repo — docs, architecture, API overview |
| voidly-ai/mcp-server | MCP server source (83 tools) |
| voidly-ai/agent-sdk | Agent SDK docs + examples |
| voidly-ai/community-probe | Community probe node |
| voidly-ai/voidly-probe-app | Desktop probe app (Tauri) |
┌─────────────────────────────────────────────────────────┐
│ voidly.ai │
│ (Next.js on Cloudflare Pages) │
└────────────────────┬────────────────────────────────────┘
│
┌────────────────────▼────────────────────────────────────┐
│ api.voidly.ai │
│ (Cloudflare Worker + D1) │
│ │
│ Endpoints: │
│ ├── /data/* Censorship data + incidents │
│ ├── /v1/forecast/* Shutdown risk predictions │
│ ├── /v1/platform/* Platform risk scores │
│ ├── /v1/isp/* ISP censorship index │
│ ├── /v1/elections/* Election risk briefings │
│ ├── /v1/probe/* Probe network status │
│ ├── /v1/agent/* Agent Relay (E2E encrypted) │
│ └── /api/alerts/* Real-time alert subscriptions │
└────┬────────────┬───────────────────────────────────────┘
│ │
▼ ▼
┌─────────┐ ┌──────────────┐ ┌───────────────────────┐
│ ML Model│ │ Probe Network│ │ Data Ingestion │
│ (v2) │ │ (39+ nodes) │ │ │
│ │ │ 62 domains │ │ OONI + CensoredPlanet │
│ 99.8% │ │ every 5 min │ │ + IODA (every 6h) │
│ F1 score│ │ 6 continents │ │ │
└─────────┘ └──────────────┘ └───────────────────────┘
@misc{voidly2026,
title = {Voidly Global Censorship Index},
author = {{Voidly Research}},
year = {2026},
url = {https://voidly.ai/censorship-index}
}Individual incidents are citable by human-readable ID:
Voidly Research. (2026). Censorship Incident IR-2026-0142.
Retrieved from https://voidly.ai/censorship-index/incidents/IR-2026-0142
Export citations in BibTeX, RIS, Markdown, or JSON from any incident page.
Voidly is independently funded. If you find this useful, consider supporting continued development:
- ETH / Base:
0x6E04f0c02A7838440FE9c0EB06C7556D66e00598(ENS:voidly.base.eth) - BTC:
3QSHfnnFx4RZ8dDG1gL446zdEwqQXm1jpa - XMR:
42k5Ps3nCjsaJWkZoycLaSZvJpEGjNfepJiBC2kbRtAzN62rpJUPymCQScrodAxD5hQ8YJMGhbtWGc9zjJbdcDBCLZoWzAa
- voidly.ai — Website
- voidly.ai/censorship-index — Live Rankings
- voidly.ai/report — Global Report
- voidly.ai/live — Real-Time Feed
- voidly.ai/data — Open Data Hub
- voidly.ai/mcp — MCP Tools Reference
- voidly.ai/agents — Agent Relay
- voidly.ai/api-docs — API Documentation
- voidly.ai/methodology — How We Measure
- hello@voidly.ai — Contact
- Data: CC BY 4.0 — Free to use with attribution
- Code Examples: MIT License
Operated by Ai Analytics LLC · Founded by Dillon Parkes