{"version":1,"contract":{"confidence":"Figures carry confidence: 'high' | 'low' | 'unknown'. UNKNOWN MEANS THE SOURCE COULD NOT ANSWER. Never treat it as zero. 'low' means measured but from thin data or a reported sampling cap.","caveats":"Every brief and score ships a caveats[] array. Read it before the numbers; it states assumptions (e.g. in-extent roads presumed impassable) and sampling limits.","degraded":"Responses with health.sourcesUsable < health.sourcesQueried are served uncached and incomplete by design. Retry later for a full read.","nulls":"A null score means the system refused to invent a number. Do not impute.","licenses":"Per-record license fields matter: ODbL-1.0 sources are share-alike; CDLA/CC0/public-domain are permissive. Keep them separable downstream."},"tools":[{"name":"hazard_events","method":"GET","path":"/earth/events","params":{},"returns":"Active GDACS events with the gdacs:bbox rectangle from their RSS feed (posQuality: modeled-bbox), alert levels, provenance. That rectangle is a fixed square, NOT the hazard's extent and not GDACS's affected-area polygon, which this does not serve."},{"name":"event_brief","method":"GET","path":"/earth/event-brief","params":{"id":"event id, e.g. FL1102983"},"returns":"Exposure/lifelines/condition/observation joins for one event; every figure has confidence; caveats[] first-class. First generation ~30s, then cached 30min.","latency":"up to 60s cold"},{"name":"event_changes","method":"GET","path":"/earth/event-changes","params":{},"returns":"New/escalated/deescalated/resolved events, newest first, plus history-subsystem status."},{"name":"site_intel","method":"GET","path":"/earth/site-intel","params":{"lat":"deg","lon":"deg","radius":"m, 100-3000","category":"optional, e.g. cafe; enables saturation factor"},"returns":"Explained site score: signed contributions, per-feature confidence, caveats, evidence geometry. score:null when too little is known.","latency":"up to 60s cold"},{"name":"site_scan","method":"GET","path":"/earth/site-scan","params":{"bbox":"w,s,e,n (max 0.05 deg span)","category":"optional"},"returns":"Ranked grid cells with per-cell confidence and nearest-road distance."},{"name":"places_bbox","method":"GET","path":"/earth/places","params":{"bbox":"w,s,e,n"},"returns":"Overture places (CDLA-permissive) in the box, sampled."},{"name":"infrastructure_bbox","method":"GET","path":"/earth/infrastructure","params":{"bbox":"w,s,e,n"},"returns":"Communication + power structures (ODbL, surveyed positions). Coverage is very incomplete: absence is unknown, not zero."},{"name":"twin_earth","method":"GET","path":"/earth/w/twin_earth","params":{},"returns":"All live twin layers plus unavailable[] naming absent layers and why."},{"name":"place_trends","method":"GET","path":"/earth/place-trends","params":{"bbox":"w,s,e,n (max 1 deg/side, Indonesia archive coverage)"},"returns":"Map churn between the two newest archived snapshots: appeared/disappeared by id with named samples. Conflates real change with mapping activity, and the caveat ships in-band."},{"name":"street_measure","method":"GET","path":"/earth/street-measure","params":{"lat":"deg","lon":"deg","maxM":"artifact search radius, 50-400 (default 150)"},"returns":"Phase B geometry measured from street photos (metric depth × angular extent, no lidar): road width with method and spread, per-scene calibration verdict (detected vehicles measured against physical priors, scaleTrust ships in-band), and a georeferenced object inventory (label, distance, size, bearing, derived coordinates; heightIsLowerBound when the frame cut the object). measured:false = this ground has not been measured, which is not zero."},{"name":"sweep_request","method":"POST","path":"/earth/sweep-request","params":{"lat":"deg","lon":"deg","radius":"m, 200-1000 (default 450)"},"returns":"Queue a street sweep for unswept ground. A compute node reads the Mapillary street photos here into facts (roadway, kerbs, gates, signage, never imagery) and the area goes live in seen_layer when done (typically minutes to hours). Already-covered ground returns queued:false with the reason. The queue is public at GET /earth/sweep-queue."},{"name":"node_app","method":"GET","path":"/earth/node-app","params":{},"returns":"Download manifest for the Solyzer node agent: one small program (Windows/Linux, NVIDIA GPU required) that installs its own engine and joins the sovereign compute fleet. Each build carries a sha256 for verification; the sweep engine is compiled into the binary, so a running node never downloads or executes code. Contributed sweeps are validated and reviewed before they are served."},{"name":"seen_layer","method":"GET","path":"/earth/seen","params":{"lat":"deg","lon":"deg","radius":"m, 100-1500 (default 450)"},"returns":"Street-level facts a compute node swept from Mapillary photos (roadway, kerbs, gates, entrances, fences, poles, wires, signage, drainage, vegetation), georeferenced, each carrying value, confidence, source, timestamp and whether it was measured, modelled or assumed. covered:false = this ground has not been swept, which says NOTHING about what stands on it. Imagery is read in place and never rehosted."},{"name":"environment_features","method":"GET","path":"/earth/environment","params":{"lat":"deg","lon":"deg","radius":"m, 100-800 (default 400)"},"returns":"The fundamental fixed furniture of a place: mapped trees + tree rows, gates, communication towers, power structures and power lines. Mapped positions only (OSM ODbL + Overture archive); health{} names which source answered, and ABSENCE IS UNKNOWN, NOT ZERO, because coverage is sparse. Heights are not in the data; renderers use class priors."},{"name":"road_geometry","method":"GET","path":"/earth/road-geometry","params":{"lat":"deg","lon":"deg","radius":"m, 100-1000 (default 400)"},"returns":"Road centerlines with the street-class width prior attached (ruasWidthM = one direction of carriageway, a MODEL not a measurement; two-way is typically ~2 ruas; null = class outside the model). The spatial boundary an agent can reason and measure against; the caveat ships in-band."},{"name":"environmental_fingerprint","method":"GET","path":"/earth/fingerprint","params":{"lat":"deg","lon":"deg"},"returns":"Hudhud v0 environmental fingerprint: passable width, sidewalk, surface, obstacles, signage, lighting, overhead clearance and flood evidence, read by a VLM from nearby street photos with the scale anchors it used, cross-checked against the street-class width prior. Figures ship confidence + source; disagreements are disclosed, not averaged.","latency":"5-60s cold (multi-image VLM; may ride out one quota window), then cached 6h"}],"widgets":{"note":"Data panels, callable the same way the tools above are. Every one declares the source it came from, and that field is the provenance: read it before the numbers.","count":1679,"call":"GET /earth/w/{id}","manifest":"GET /earth/widgets.json for the full set with parameters","categories":{"Macro":961,"Positioning":2,"Crypto":17,"Geospatial":1,"Equities":8,"Global":658,"News":1,"Social":5,"Globe":7,"Climate":5,"Signals":4,"Space":5,"Perception":2,"Earth":1,"Weather":2},"sources":[{"source":"FRED / US federal government (public domain)","widgets":912},{"source":"World Bank Open Data (CC-BY-4.0)","widgets":530},{"source":"Wikidata (CC0)","widgets":58},{"source":"World Bank + OECD + Eurostat + Global Data Lab (SHDI) + Wikidata + geoBoundaries","widgets":55},{"source":"FRED (public domain)","widgets":25},{"source":"Frankfurter / ECB (keyless)","widgets":14},{"source":"Powered by CoinGecko","widgets":8},{"source":"Solyzer Social Indexer","widgets":5},{"source":"Open-Meteo (keyless)","widgets":4},{"source":"FRED (keyless)","widgets":3},{"source":"Deribit (keyless)","widgets":3},{"source":"SEC EDGAR (public domain)","widgets":3},{"source":"USGS (public domain)","widgets":3},{"source":"mempool.space (keyless)","widgets":3},{"source":"US Treasury FiscalData (public domain)","widgets":3},{"source":"CFTC (public domain)","widgets":2},{"source":"SEC EDGAR XBRL (public domain)","widgets":2},{"source":"World Bank (CC BY 4.0)","widgets":2},{"source":"NOAA SWPC (public domain)","widgets":2},{"source":"Curated reference data","widgets":2},{"source":"US Treasury","widgets":1},{"source":"FRED / CBOE (keyless)","widgets":1},{"source":"FRED / Federal Reserve","widgets":1},{"source":"OpenStreetMap (Overpass) + Open-Meteo, keyless. Model ported from Finaya (MIT).","widgets":1},{"source":"SEC EDGAR full-text (public domain)","widgets":1},{"source":"Indonesia Stock Exchange (IDX) disclosure listings, metadata only","widgets":1},{"source":"IMF DataMapper (keyless)","widgets":1},{"source":"SEC + Federal Reserve RSS","widgets":1},{"source":"adsb.lol (open community ADS-B, ODbL 1.0)","widgets":1},{"source":"NASA EONET (public domain)","widgets":1},{"source":"FRED / EIA (public domain)","widgets":1},{"source":"Powered by CoinGecko, plus alternative.me","widgets":1},{"source":"alternative.me (keyless)","widgets":1},{"source":"NWS / weather.gov (public domain)","widgets":1},{"source":"Ethereum JSON-RPC + CoinGecko (keyless)","widgets":1},{"source":"GDACS (UN/EU, open data)","widgets":1},{"source":"Polymarket (keyless)","widgets":1},{"source":"NOAA GML, Mauna Loa (public domain)","widgets":1},{"source":"NASA GISTEMP v4 (public domain)","widgets":1},{"source":"Wikimedia (public domain)","widgets":1},{"source":"Launch Library 2 (keyless)","widgets":1},{"source":"NOAA SWPC / GOES (public domain)","widgets":1},{"source":"Hacker News (keyless)","widgets":1},{"source":"npm registry (keyless)","widgets":1},{"source":"pypistats (keyless)","widgets":1},{"source":"Open-Meteo marine (keyless)","widgets":1},{"source":"Transport for London (open API)","widgets":1},{"source":"YouTube Live (official broadcasts)","widgets":1},{"source":"USGS Water Services (public domain)","widgets":1},{"source":"Radio Browser (community, open)","widgets":1},{"source":"Radio + on-device Whisper (open, keyless)","widgets":1},{"source":"USGS, NASA EONET, GDACS, Open-Meteo, adsb.fi, adsb.lol, Radio Browser, and per-country RSS feeds (all open)","widgets":1},{"source":"SEC EDGAR (public domain) + curated HQ locations","widgets":1},{"source":"ReliefWeb (UN OCHA), joined to GDACS events by GLIDE","widgets":1},{"source":"TLE mirror (keyless); elements from US Space Force via CelesTrak.","widgets":1},{"source":"CelesTrak GP (US Space Force public catalog) + SGP4","widgets":1},{"source":"NOAA National Hurricane Center (public domain)","widgets":1},{"source":"World Bank + BPS + SIRUP/INAProc (LKPP)","widgets":1},{"source":"World Bank + DOSM (data.gov.my)","widgets":1},{"source":"World Bank + SingStat + data.gov.sg (URA, GeBIZ)","widgets":1}]},"mcp":"POST /mcp, the same tools as a Model Context Protocol server (streamable HTTP, stateless), for agents that speak MCP rather than REST.","fairUse":"Keyless by default. Anonymous traffic: 120 req/min per IP. A free key (X-Api-Key or ?key=) raises it to 600 req/min and names your usage at GET /earth/usage. The contract lives at GET /earth/limits."}