Skip to main content
Planned. Snapshot routes are specified here so you can design against them; they return 404 until launch. Availability requires the snapshots feature (Builder and Commercial). Follow the changelog for the release date.
A snapshot is a point-in-time export of the whole dataset. Download one to seed a local copy, then keep it current with incremental updates instead of paging through the live API.

Endpoints

Both are data routes and count as one data response each. The download itself (from the signed URL) does not touch the API and does not count.

List snapshots

The list is a manifest. Use it to verify downloads and to decide whether anything changed since your last import (compare id or data_as_of).

Download a file

Signed URLs expire 15 minutes after issue. Start the download promptly; if it fails, request a new URL — it costs one data response but no extra bandwidth on your side.
1

Fetch the manifest

GET /v1/snapshots. Stop if id matches what you already imported.
2

Download each dataset

Request a signed URL per dataset and stream it to disk.
3

Verify

Compare the file’s SHA-256 and byte size to the manifest. Discard and re-download on mismatch.
4

Import atomically

Load into a staging table, then swap. Never apply a partial snapshot.
5

Save the cursor

Store change_cursor and continue with incremental updates.

File format

Each dataset is one gzip-compressed JSON Lines file: one JSON object per line, UTF-8, \n separated. Records use the same field names as the corresponding live endpoints.
Consult the generated endpoint schemas for field-level definitions; snapshot records mirror them.

Schedule, freshness, and retention

  • Snapshots are published daily, shortly after 00:00 UTC. data_as_of marks the cut.
  • Builder always sees exactly one snapshot: the latest. Older snapshots are not retrievable on Builder — use the change feed for history.
  • Commercial retention follows your contract; by default the last 90 daily snapshots plus month-end snapshots within your history entitlement are retained.
  • A snapshot is never modified after published_at. Corrections appear in the next snapshot and in the change feed.

Schema changes

schema_version is major.minor. Minor bumps add optional fields; your importer should ignore unknown keys. Major bumps can rename or remove fields and are announced in the changelog at least 30 days before the first snapshot that uses them. During the notice period, the manifest lists both versions and you choose with ?schema_version=.

Recovery

If your local copy is corrupt or your incremental cursor has expired (410 cursor_expired), re-import the latest snapshot and resume from its change_cursor. A full resync costs one data response for the manifest plus one per dataset — five or six in total.

Rights and redistribution

Downloading a snapshot gives you a copy of the dataset for use inside your organization or product, under the API terms. It does not grant redistribution rights:
  • Builder may load the data into internal systems and display it to your users with the plan’s attribution terms.
  • Builder may not republish the files, mirror them, ship them as a dataset, or expose them through your own API.
  • Commercial redistribution, sublicensing, and white-label use are granted only in a signed contract. Contact sales.
See Plans and quotas.