Known timestamps. Explicit limits. Useful evidence.
Data feed health checker
Check whether your data arrived in time and meets the limits you chose. Keep stale content, delayed collection, missing feeds and unknown measurements separate before using the data in an API, dashboard or AI workflow.
Check supplied feed snapshots
Session-only inputs. No upload, autosave, source connection or model calls.
500 expected feeds and 500 observations. 512 KiB, 20,000 nodes and 32 levels per input. Independent limits apply. Supply non-sensitive labels and metadata only; no records, tokens, private source URLs or customer data.
Feed health at your cutoff
A missing snapshot or unknown measurement is not zero. A pass describes your supplied thresholds only. It does not certify the live source, complete business coverage or an SLA.
Includes all expected feeds, cohorts, criteria, reasons, supplied snapshots, unlisted observations and source hashes, independent of filters or pages. Labels, timestamps and counts may reveal internal operations; review before sharing. Hashes identify bytes, not authenticity.
Define your measurement boundary
Provide as_of and a non-empty checks array. Each check needs id, max_age_seconds, max_collection_lag_seconds and minimum_records. Optional group sets a cohort. Each limit may be null to disable that criterion, but at least one must be enabled. Inclusive age/delay limits range from 0 to 31,536,000 seconds; minimum records from 0 to 1,000,000,000. You choose the limits; the checker supplies none.
Each observation must contain id, source_at, observed_at and record_count, each measurement nullable. Use one snapshot per expected ID. Unlisted observations stay separate; they do not increase expected-feed coverage. Empty observations are valid and show missing feeds. Unknown fields, duplicate keys/IDs, unsafe numbers and unsupported shapes are rejected.
Timestamps use UTC YYYY-MM-DDTHH:mm:ssZ, optionally exactly three fractional digits before Z. Calendar dates are validated. Local times, UTC offsets, leap seconds, 24:00 and arbitrary fractional precision are not accepted by this narrow format. Convert your metadata to UTC first. IDs use 1-128 ASCII letters, digits, dots, underscores, hyphens or colons. Cohorts are non-empty text up to eighty characters without control characters.
Source age is the cutoff minus source_at; collection delay is observed_at minus source_at. Reports retain integer milliseconds and inclusive limits. A received snapshot after the cutoff is excluded from all measured criteria, even if its source date is earlier. A missing receipt timestamp leaves availability unknown. A receipt preceding the source timestamp is an explicit time-order failure when received by the cutoff.
Use a source timestamp that describes the content or batch coverage you actually need. A recent collector run, file modification date or newest row does not establish that an entire dataset is fresh. Record counts describe your chosen delivery boundary; a count alone does not establish uniqueness, correctness or completeness.
The illustrative October 2025 fixture contains seven expected feeds: one pass, three failures and three unknown outcomes, including a missing feed and a future receipt. One unlisted snapshot is excluded. These are test cases, not live sources or client results. No source provenance, clock accuracy, content quality, deduplication or legal acquisition rights are verified.
Run the same check in your own scheduled job
The free self-contained Node 22+ CLI reads bounded UTF-8 files, writes the complete JSON report and makes no network calls. It needs no installation, API key or account.
Exit 0 means valid report generation. Input/I/O errors exit 1. Optional --fail-on fail exits 2 for a failed expected feed; --fail-on unknown exits 2 for failures or unknown expected feeds. Unlisted snapshots are retained but do not trigger those exits. You choose the CI behavior. This is an analyzer, not a scheduler, source collector or alert service.
From a useful check to a working data system
Keep the checks in your own environment
This browser checker and offline CLI are free. Run the CLI against your own metadata in a scheduled job and preserve full reports. You supply measurements, alerts and scheduling; this page does not connect to sources, run continuously or send notifications.
The existing $299 data workflow pilot covers one agreed input, transformation and inspectable output. A broader Elkwai Solutions implementation can cover collectors, coverage boundaries, revisions, ownership, monitoring, review and delivery under a separate quote. Agree on permitted sources, update needs and operating costs before commissioning work. Collection, hosting and support are separate from this free check.
No purchase, account provisioning, messages or live data changes occur here. This checker is not included as an MCP tool in Developer Assurance Kit 1.1.0 or as a Data Workbench feature. Those are separate products.