Skip to main content
The bulk files have every table of the API, each as <table>.parquet and <table>.csv. GET /v1/bulk/latest returns links to the files of the account’s plan:
  • Sandbox plan: the sample, which has the sandbox companies only. They are listed on the plans page.
  • Builder plan: the full set.
The response has these fields:
  • kind: sample or full.
  • generated_at: when the files were built.
  • licence: the data licence.
  • files: one entry per file, with its name, its size in bytes, a download url and expires_at.
You can download from a link without an API key. Each link is valid for 15 minutes, to expires_at. When a link expires, call GET /v1/bulk/latest again for new links. The MCP tool get_bulk_download returns the same links. The response is 404 not_found until the first files are built.

Tables

You can join the tables on their ids: filings.cik to companies.cik, segment_axes.filing_id and fundamentals.filing_id to filings.filing_id, and segments.axis_id to segment_axes.axis_id. position is the order of a row within its axis. The fields have the same meaning as in the API: see segments and fundamentals. The files have only the filings that numi has extracted. In the CSV files, the first line is the column names, lines end with CRLF, and an empty field is null.

Licence

The licence field has the text of the data licence: you can use the data commercially on every plan, and you may not resell the bulk file, or a substantial part of it, as a dataset.