Reference · Hearings/docs/hearings
Hearings
Linked to bills, members, and committees by foreign keys.
GEThttps://api.archivist.dev/hearings{id}
Request
The list endpoint at /hearings accepts the following query parameters. A specific record can be fetched by appending its id segment.
Request parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| {id} | path | string | optional | Hearing id, e.g. hr-2026-04-22-hsju. |
| committee_id | query | string | optional | Filter to a single committee (joins to /committees). |
| congress | query | integer | optional | Filter to a single Congress. |
| date_from | query | string | optional | ISO 8601 lower bound (inclusive). |
| date_to | query | string | optional | ISO 8601 upper bound (inclusive). |
| cursor | query | string | optional | Opaque pagination cursor. |
| limit | query | integer | optional | Page size, 1–100. Defaults to 25. |
Run it — curl
curl···
# Upcoming Judiciary hearings
curl 'https://api.archivist.dev/hearings?committee_id=hsju00' \
-H "Authorization: Bearer $ARCHIVIST_KEY"
# A single hearing
curl https://api.archivist.dev/hearings/hr-2026-04-22-hsju \
-H "Authorization: Bearer $ARCHIVIST_KEY"Run it — JavaScript
Plain fetch — no SDK, no runtime dependency. The key reads from env at server startup.
hearings.js···
const res = await fetch(
'https://api.archivist.dev/hearings?committee_id=hsju00',
{ headers: { Authorization: `Bearer ${process.env.ARCHIVIST_KEY}` } },
);
const { items } = await res.json();
console.log(`${items.length} upcoming Judiciary hearings`);Response
Successful responses are 200 OK with the shape below. Errors come back as { "error": "..." } — see the error reference for the full status table.
Response schema
| Field | Type | Required | Description |
|---|---|---|---|
| items | HearingItem[] | required | Page of hearings, newest first. |
| items[].hearing_id | string | required | Stable id (date-chamber-committeeCode). |
| items[].committee_id | string | required | Foreign key into /committees/{id}. |
| items[].date | string | required | ISO 8601 date of the hearing. |
| items[].witnesses | Witness[] | optional | Witnesses who testified, with their positions. |
| items[].documents | Document[] | optional | Associated documents, with stable URLs. |
| items[].bill_ids | string[] | optional | Bills discussed, joins to /bills/{id}. |
| nextCursor | string | null | required | Pass into the next page; null on the last page. |
response···
{
"items": [
{
"hearing_id": "hr-2026-04-22-hsju",
"committee_id": "hsju00",
"date": "2026-04-22",
"witnesses": [
{ "name": "Witness A", "position": "Witness, Department of Justice" }
],
"documents": [
{ "type": "statement", "url": "https://api.archivist.dev/documents/…" }
],
"bill_ids": ["118-hr-3076"]
}
],
"nextCursor": null
}Related endpoints
Notes
- Dates are ISO 8601 (no timezone — always calendar date in the committee’s jurisdiction).
- bill_ids is an array because a single hearing may touch multiple bills; iterate and join to /bills/{id}.