/faq
Plain answers · citable artifacts

FAQ

Three objections,
three answers.

How The Archivist fits next to the now-shuttered free tier, what survives another upstream shutdown, and which segments already use it. Each answer cites an endpoint, a caching rule, or a normalization claim that is already on the public surface.

Objection 1

How does The Archivist compare to the shuttered free tier — and what does your normalization add?

The publicly accessible Congress data has shifted behind paid or partner gates more than once. We aim to keep the read path open while carrying work those free tiers never did.

Where do you sit now that the free tier is gone?

Read-only graph stays open

GET /bills, GET /members, GET /committees, GET /votes, and GET /hearings are accessible under a Free API key with a 60-second, 5 calls/min bucket — see the live numbers on GET /api/v1/me, and the pricing page mirrors the same LIMITS constants without manual cross-checking.

Pro lifts the mirror

A Pro key ($480 per org, per month) unlocks 100 calls/min, the full session history, snapshot cursors, and the documents surface — the same endpoints read-only apps were hand-rolling, but on a single reconciled graph.

What does the normalization actually fix for me?

Stable IDs across Congress sessions

Bill and member rows are keyed on stable IDs that survive a Congress-number rollover, so the bill you bookmarked in the 118th is still the same row in the 119th — verified against the dataset cards for /bills and /members.

Sponsor and committee codename resolution

WHERE sponsor_id = current bioguide_id resolves across terms, and committee system codes resolve to canonical committee names so a hearing joins to its committee without a hand-rolled lookup table — documented per the /votes, /committees, and /hearings dataset notes.

Per-member vote rollups

GET /votes returns member_rollups pre-resolved to current member records, so a vote-position query no longer needs a follow-up join against a separately-maintained roster.

Objection 2

What survives another upstream shutdown?

Public-record projects have ended abruptly. The plan is to keep serving the read API even when the primary source disappears behind a wall or stops publishing.

How do you keep /bills returning when the upstream goes dark?

Continuous mirror, not a fetch on demand

A scheduled worker hydrates the mirror within one hour of any release — the /records/bills badge reads "Refreshed hourly" and the /stats hero pins "≤ 1h after upstream". A consumer on the mirror sees the last reconciled state even when the source endpoint is unreachable.

Edge cache, not a single origin

Responses carry Cache-Control: public, max-age=60 so a request burst on a hot endpoint does not collapse onto one machine, and a regional outage of the read API still resolves from a sibling cache. The exact header is spelled out in the docs "Caching" rule.

Snapshot cursors

Pro and Org carry a snapshot cursor pinned to a specific reconciled window, so a report can be re-run against the same state we served last week even after upstream data shifts or disappears. Pro exposes that via 100 calls/min; Org lifts the bucket further (see /api/v1/me).

Is your normalization a layer, or a hard dependency?

Layered on top of stable IDs

Sponsor→current member resolution, committee code→name resolution, per-member vote rollups, and the hearings/bills/members/committee cross-links all live in our normalization step, not on the source. When the upstream shape changes, we patch the ingest once and consumers keep working against the published schema.

Diff alerts on every release

Org subscribes to HMAC-signed diff webhooks with a replay window — a downstream pipeline can replay any of the last 90 days to reconstruct what changed. Keep-alive is a feature, not a recovery project.

Objection 3

Who is already using this?

A short answer, grounded in the segment shortlist we ship on the home page. No invented testimonials.

Which teams have you onboarded so far?

Newsrooms

Newsrooms, civic-accountability organizations, and policy teams use it to stop hand-rolling the upstream feed — the same short list written verbatim into the home-page hero, so the segment claim and the public surface stay in sync.

Civic-accountability organizations

The civic-accountability segment is the primary reader of GET /votes with member_rollups and GET /hearings — per the segment shortlist, those are the teams that previously had to reconcile three feeds before they could answer "who voted how on this bill".

Policy teams

Policy teams lean on cross-Congress stability: a bill tracked across the 118th still resolves to the same row in the 119th (stable bill IDs) and a member still resolves through sponsor_id even after a term change. That is the normalization being paid for, not a marketing rebrand.

What does onboarding look like in practice?

Free key in under a minute

Sign up through the form on the home page, paste the bearer into the /api-access page, and click Verify. The page round-trips GET /api/v1/me and prints your current bucket so you know the key works before you build on it.

Pro is a 14-day paid beta first

For Pro and Org, the contact form routes to a 14-day paid beta scoped to a window and refundable if the shape does not fit — no annual commitment before you have seen the data on your own desk.

Still have a question

Reach out, or verify a key first.

The contact form routes every message to the same inbox and we respond within one business day. If you already have a key, the API access page round-trips GET /api/v1/me and prints your current bucket before you write the message.