Open data

Everything behind the numbers, free to download.

Seven rolling tables as CSV under Creative Commons Attribution 4.0. Every row carries its own timestamps, so a download is a citable snapshot. Use them, check our work, publish your own analysis.

Format
CSV, UTF-8
Licence
CC BY 4.0
Refresh
10 min to hourly

Services

One row per one monitored service
CSV
service_id
Stable id
name, category, probe_url
What is probed
organisation
Registrable domain of the operator
hosting_provider, hosting_region, hosting_country
Inferred from IP ownership and published cloud ranges
cdn, dns_provider, email_provider
Inferred from DNS
mapped_at
Last infrastructure mapping

Official incidents

One row per one incident from a company status page
CSV
organisation, status_page, incident_id
Who declared it and where
title, impact, status
As published
created_at, started_at, resolved_at
UTC timestamps
components, link
Affected components; link to the incident

Provider incidents

One row per one incident published by an infrastructure provider
CSV
source, incident_id
AWS Health, Google Cloud, Cloudflare, Akamai, Vercel
provider, region
Normalised provider name; region if published
title, severe
As published; severe = significant / major or worse
started_at, declared_at, resolved_at, link
UTC timestamps and source link

Upstream signals

One row per one live signal (rule cs-v1)
CSV
signal_id, rule
Stable id and rule version
opened_at, fired_at, last_at
First declaration, moment the rule fired, last joining declaration
likely_provider, layer, companies
Top candidate and the companies involved
p_value, evidence, minutes_vs_provider
Chance probability, evidence tier, timing vs provider

Radar sweeps

One row per one five-minute sweep
CSV · 31 days
run_id, at
Sweep id and time
probes, failed
Counts
vantage_suspect
More than 50% failed: excluded from analysis
failing_service_ids
Semicolon-separated

Outage episodes

One row per two or more consecutive failed sweeps of a service
CSV
service_id
Service
started_at, last_failed_at, recovered_at
UTC timestamps
failed_sweeps, reason
Length and most common error

Hourly reachability

One row per one service-hour
CSV · 7 days
service_id, hour
Service and UTC hour
probes, reachable
Counts
p50_ms, p95_ms
Latency of successful probes

Machine access

No key needed. Please cache responses; tables change at most every ten minutes.
WhatRequest
Any table as CSVGET /_api/research/dataset?table=<name>[&days=1..31]
Every research number (JSON)GET /_api/research/overview
Upstream signals and track record (JSON)GET /_api/upstream/signals
Live radar status (JSON)GET /_api/radar/status

Cite this work

ShadowGraph (2026). Do companies on the same infrastructure fail together? Shared fate and upstream signals in official incident records. ShadowGraph Research, rules sf-v1, cs-v1, val-v1, conc-v1. https://shadowgraph-live.floot.app/research

@techreport{shadowgraph2026research,
  title  = {Do companies on the same infrastructure fail together?},
  author = {{ShadowGraph}},
  year   = {2026},
  note   = {Rules sf-v1, cs-v1, val-v1, conc-v1; data CC BY 4.0},
  url    = {https://shadowgraph-live.floot.app/research}
}

Official incident titles are quoted from the companies' and providers' public status pages and remain theirs; every row links to its source.