dynamicfeed/earthquakes-daily
Earthquakes Daily — M4.5+ global snapshot A daily snapshot of every magnitude 4.5+ earthquake in the live USGS feed, exported through Dynamic Feed — a live, verifiable data API whose every response is Ed25519-signed. One file per day (data/YYYY-MM-DD.jsonl), one JSON object per earthquake per line. Live source: https://dynamicfeed.ai (tool: earthquakes, endpoint POST /v1/batch) — keyless, no signup Upstream source: USGS Earthquake Hazards Program Licence: US public domain (USGS… See the full description on the dataset page: https://huggingface.co/datasets/dynamicfeed/earthquakes-daily.
Earthquakes Daily — M4.5+ global snapshot
A daily snapshot of every magnitude 4.5+ earthquake in the live USGS feed, exported through Dynamic Feed — a live, verifiable data API whose every response is Ed25519-signed. One file per day (data/YYYY-MM-DD.jsonl), one JSON object per earthquake per line.
- Live source: https://dynamicfeed.ai (tool:
earthquakes, endpointPOST /v1/batch) — keyless, no signup - Upstream source: USGS Earthquake Hazards Program
- Licence: US public domain (USGS, 17 USC §105) — the snapshot inherits it
- Update cadence: daily
- Row counts vary daily with global seismicity (typically 10–60 M4.5+ events/day)
File format
The first line of every file is a `_meta` record ({"_meta": true, ...}) carrying the export date, the API call, upstream source + licence, freshness info, and the Ed25519 signature of the live batch response the rows were extracted from. All following lines are earthquake rows:
Signature verification
Every Dynamic Feed API response is signed with Ed25519 (key id df-ed25519-4cb32e72f333, canonicalization json-sorted-compact):
- Public key: https://dynamicfeed.ai/.well-known/keys
- Signing spec: https://dynamicfeed.ai/standard
- In-browser verifier (paste any live response, tamper-test it): https://dynamicfeed.ai/proof
The _meta line of each snapshot stores the signature object exactly as returned by the live API, plus the SHA-256 of the raw signed response bytes, so each day's export is anchored to a verifiable live response. To verify end-to-end, fetch the live API yourself (snippet below) and check the signature per the spec.
Use the live API (keyless)
import json, urllib.request
req = urllib.request.Request(
"https://dynamicfeed.ai/v1/batch",
data=json.dumps({"calls": [
{"tool": "earthquakes", "args": {"min_magnitude": 4.5, "limit": 200}}
]}).encode(),
headers={"Content-Type": "application/json"},
)
resp = json.loads(urllib.request.urlopen(req).read())
quakes = resp["results"][0]["data"]["results"]
signature = resp["signature"] # Ed25519, key df-ed25519-4cb32e72f333
print(len(quakes), "earthquakes;", "signed by", signature["key_id"])Load this dataset
import json
rows = []
with open("data/2026-06-10.jsonl") as fh:
meta = json.loads(next(fh)) # first line is the _meta record
rows = [json.loads(line) for line in fh]
print(meta["upstream_source"], "-", len(rows), "earthquakes")(If you use datasets.load_dataset("json", ...), filter out rows where _meta is true.)
About Dynamic Feed
Dynamic Feed serves 56 live data tools (weather, CVEs, markets, space, hazards, AI model pricing, ...) with a freshness + provenance envelope on every datapoint and an Ed25519 signature on every response. Keyless MCP + REST. Source catalog: https://dynamicfeed.ai/sources
