How it's organised

The data is one Parquet file per table per quarter, at fixed paths, and one JSON file that lists them.

https://data.quartercall.com/
  index/manifest.json                               start here: what exists, how fresh it is
  index/submissions.parquet                         every filing held, every quarter
  curated/accounts/quarter=2026Q1/data.parquet      the facts, one file per quarter
  curated/accounts_text/quarter=2026Q1/data.parquet the values that are not numbers
  curated/profiles/quarter=2026Q1/data.parquet      who filed

The manifest lists every quarter, newest first:

SELECT q.quarter, q.status, q.cu_count, q.accounts_path IS NOT NULL AS readable
FROM (SELECT unnest(quarters) AS q FROM read_json('https://data.quartercall.com/index/manifest.json'))
ORDER BY q.quarter DESC;
examples/concepts/how-its-organised/quarters.sql

A quarter is listed as soon as callbase holds filings for it, which can be before its files are built. A quarter's files can be read once it has an accounts_path: test for that, not for the quarter's presence in the list.

Nothing can be listed over HTTPS. DuckDB cannot glob curated/accounts/*/data.parquet on a web server; there is no directory listing to read. Name a quarter's file, or build the list of files from the manifest:

SET VARIABLE base = 'https://data.quartercall.com/';
SET VARIABLE accounts = (
  SELECT list(getvariable('base') || q.accounts_path || 'data.parquet')
  FROM (SELECT unnest(quarters) AS q FROM read_json(getvariable('base') || 'index/manifest.json'))
  WHERE q.accounts_path IS NOT NULL);

SELECT quarter, count(*) AS account_rows
FROM read_parquet(getvariable('accounts'))
GROUP BY quarter
ORDER BY quarter;
examples/concepts/how-its-organised/every-quarter.sql

The paths look like Hive partitions, and each file also carries accounts.quarter as a column, so nothing is lost by reading a list of files. raw/ and any path not named here are not part of the interface: they can change without notice.

Contract schema 1.2 · docs built 2026-10-29 from platform 4894823