Public Data
CloudFacts is built from a single normalized dataset. All machine-readable outputs derive from the same source.
Dataset exports
| File | Size | Description |
|---|---|---|
| /data/providers.json | 24 | All providers with plan counts |
| /data/plans.json | 444 | Active plans with full specs, pricing, coverage |
| /data/regions.json | 160 | All regions with plan availability |
| /data/sources.json | 26 | All data sources with provenance |
| /data/current-prices.json | 444 | Compact price summary |
Per-entity JSON
Every provider, plan, comparison, and VPS query page has a machine-readable JSON variant accessed via the alternate link in <head> or by replacing .html with .json in the URL.
/providers/{id}.json— Provider with plan list/plans/{id}.json— Plan with full specs, pricing, history, provenance/compare/{a}-vs-{b}.json— Side-by-side comparison/vps/{slug}.json— Query result with filter definition
JSON Schemas
Stable IDs
| Entity | Format | Example |
|---|---|---|
| Provider | provider:{id} | provider:hetzner |
| Plan | plan:{provider}:{slug} | plan:hetzner:cx23 |
| Region | region:{provider}:{slug} | region:hetzner:fsn1 |
| Source | source:{provider}:{type} | source:hetzner:official_pricing |
Freshness semantics
- generated_at — when Astro built this artifact
- data_as_of — when the underlying dataset was last collected
- last_verified_at — per-entity when the source was last verified
Provenance
Every important field in a plan JSON traces to a source URL, observation timestamp, and verification timestamp.
Usage
All data is published for reference use. No API key required. No rate limits for static files. Corrections: corrections@cloudfacts.org.