# Freshness and caching

> A 15 second snapshot, ETags and 304s.


Read answers come from a snapshot of Payday's books rebuilt every 15 seconds, so asking more often than that returns the same answer. The registry looks for new coins every 3 seconds.

## ETags

Every read answer carries an `ETag`. Send it back as `If-None-Match` and an unchanged answer comes back as an empty `304 Not Modified`, which still counts toward your limit but costs no bandwidth.

```bash
curl -i -H "X-API-Key: pd_YOUR_KEY" -H 'If-None-Match: "aB3dE..."' https://payday.direct/api/v1/stats
```

## Cache headers

Keyed answers carry `Cache-Control: private`, so no shared cache stores them. Keep your own copy for as long as `max-age` says.
