Paste into any article, CMS, or newsletter to embed a TruthBear signal widget with SHA-256 provenance:
<iframe src="https://app.truthbear.io/embed/hydrology.streamflow" width="600" height="160" style="border:none;max-width:100%" allowfullscreen loading="lazy"></iframe>
hydrology.streamflow with your signal ID Β· Browse signals β
What is TruthBear?
TruthBear is a multi-domain official government signal API that archives data from 120+ official sources with cryptographic SHA-256 provenance hashes. Every snapshot is independently verifiable.
Why TruthBear?
- Federal Data Purge (Jan 2025): ~3,000 Data.gov datasets were deleted. TruthBear's snapshot layer is now the only commercial archival source for many of these signals.
- BLS Silent Revisions: The Bureau of Labor Statistics retroactively revises economic data. TruthBear captures the original-as-published snapshot β the only service that does so commercially.
- SHA-256 Provenance: Every record includes a cryptographic hash of core fields. Timestamps and hashes are immutable once written.
- No Interpolation: Raw official values only. No smoothing, no gap-filling, no editorial judgment.
Data Sources
- USGS (Earthquake, Hydrology, Groundwater)
- NOAA / NWS (Weather, Hurricanes, Severe Convection)
- EPA / AirNow (Air Quality)
- BLS (Labor statistics, retroactive snapshot)
- FRED / Federal Reserve (Macro economics)
- EIA (Energy, Electricity, Gas)
- Eurostat (EU macro, energy prices)
- World Bank, WHO, UN OCHA ReliefWeb
- GDELT (Global news signals)
- β¦and 110+ more official domains
Demo
No login required: TruthBear Live Map β real-time USGS earthquakes + NWS severe weather alerts with SHA-256 provenance notes.
Browse the public signal catalog: Signal Gallery β
Signal Categories
Each signal is identified by a signal_id (domain + type) and an entity (location, country, or identifier). Browse the full gallery β
Environmental
hydrology.streamflowβ USGS real-time streamflow by gauge stationprecipitation.dailyβ Daily precipitation accumulation (NOAA GHCND)groundwater.levelβ Groundwater depth by USGS well IDairquality.aqiβ EPA AirNow AQI by city/countydrought.statusβ USDM drought monitor categorycryosphere.seaiceβ Arctic/Antarctic sea ice extent (NSIDC)
Economic
fred.macro.*β FRED macro indicators (GDP, CPI, PCE, unemployment)bls.snapshot.*β BLS labor stats with original-as-published snapshotseia.energy.*β EIA energy generation, inventory, gas weeklyworldbank.*β World Bank development indicatorseurostat.power-priceβ EU electricity prices by country
Geopolitical / Alert
gdelt.screenβ GDELT global event signalshurricane.active-stormsβ NHC active storm trackingsevere-convection.*β SPC tornado/severe thunderstorm warningstaiwan-seismicβ CWA seismic signals (Taiwan)fedregisterβ Federal Register new rule filings
AI / Technology
ai-dependency.*β AI tool cascade, deprecation timeline signalsai-tool.*β AI tool adoption, zombie tool detectionaicompute.*β AI compute financing, workload exposure
Full signal catalog available to API key holders. 120+ signal types, updated on regular schedules.
API Usage
Authentication
GET https://api.truthbear.io/gauge/:signal_id?entity=:entity Authorization: Bearer <your-api-key>
Response Schema
All signals return a unified signal_observation JSON object:
| Field | Type | Description |
|---|---|---|
| signal_id | string | Unique signal type identifier |
| entity | string | Location or entity (e.g. "us-california", USGS site ID) |
| snapshot_date | ISO8601 | Official data publication date |
| current | number|null | Latest observed value |
| previous | number|null | Prior period value |
| trend_7d | string|null | "rising"/"falling"/"stable"/null |
| record_hash | string | SHA-256 of core fields (immutable) |
| data_changed | boolean | True if value differs from previous snapshot |
| stat_ruler | object|null | Seasonal percentile context (where available) |
| source_ref | string | Official source URL |
| data_age | string | Data freshness description |
| disclaimer | string | Mandatory: source, no-interpolation notice |
stat_ruler Object
When available, provides seasonal context (Β±15-day window, 5-year history):
stat_ruler: {
scale: "empirical_percentile_seasonal",
current_percentile: 0.72,
frequency_label: "common (10-25% or 75-90% band)",
percentiles: { p05, p25, p50, p75, p95 },
n_samples: 142,
window_days: 15,
window_years: 5,
source: "USGS Water Services daily values",
method: "..."
}
oEmbed Integration
Embed TruthBear signals in articles or dashboards:
GET /oembed?url=https://app.truthbear.io/gauge/:signal_id
→ { "type":"rich", "html":"<iframe src='/embed/:signal_id' ...>", ... }
Get API Access
- Access to sample signals (/gauge/sample)
- No API key required for /live demo
- Rate limited to 10 req/min
- Full access to all 120+ signal types
- Historical snapshots (no purge risk)
- BLS original-as-published snapshots
- SHA-256 provenance on every record
- 1,000 req/min rate limit
- Everything in Individual
- Up to 10 team seats
- Priority support
- Batch API + time-series export
- PDF invoices (Net 30 available)
To request an API key, email support@truthbear.io with subject "TruthBear API Key Request" and your use case.
Beta period: free access for all features. Paid plans open when stability thresholds are met.
ζ³εΎθ²ζ / Legal Disclaimer
FreeTSA ιε ¬θζ©ζ§ / Not a Notarization Service
TruthBear uses FreeTSA to issue RFC 3161 trusted timestamps. These are cryptographic proofs of time and content integrity β they are not legal notarization, certification, or court-admissible evidence on their own. For legal proceedings, consult a licensed notary or legal professional.
FreeTSA ζδΎη RFC 3161 ζιζ³ηΊζθ‘ζ§ζιθζοΌδΈε ·εζ³εΎε ¬θζεγε¦ιζ³εΎζεοΌθ«ζ΄½εζ Όε ¬θδΊΊγ
εθη―ε / Scope of Archival
TruthBear records the SHA-256 hash of observed content and the timestamp of observation. It does not guarantee the accuracy, completeness, or legality of the source content. The archived data reflects what was accessible at the time of capture.
Email Notifications
Email notifications require RESEND_API_KEY to be configured in the deployment environment. When not set, subscription events are recorded but no email is dispatched. Check server startup logs for configuration warnings.
Watchlist Persistence
Subscription records are stored in data/watchlist.jsonl (append-only log). Subscriptions survive server restarts. Unsubscribe at any time via POST /signals/:id/watch with "action":"unsubscribe".