Skip to navigation

Retrieve a balance sheet

Retrieves a single extracted balance sheet. Requesting a document of any other type returns a 404.

Requires the extractions:read scope. Rate limit: 200 requests per minute per key (the api lane).

Authentication

AuthorizationBearer

Bearer token. Use ss_live_… for live data or ss_test_… for the sandbox (test mode). See Authentication.

Path parameters

borrower_idstringRequired
The borrower's id.
doc_idstringRequired
The document's id.

Headers

SpreadSpace-VersionstringOptionalformat: "^\d{4}-\d{2}-\d{2}$"

Pin the API version, e.g. 2026-10-07. Omit to get the latest. See Versioning.

Response headers

X-Request-IDstringOptional
Correlation ID for this request. Quote it in support tickets.
SpreadSpace-VersionstringOptional

The API surface version the server resolved for this request. Always present, regardless of whether the client supplied the request-side SpreadSpace-Version header. Default: 2026-10-07.

RateLimit-Limitinteger

Request budget of the endpoint’s rate-limit policy per 60-second sliding window. See Rate limits.

RateLimit-Remaininginteger

Requests left in the current window. Suppressed on 429 responses produced outside the rate limiter (for example a usage throttle), where a remaining budget would be misleading.

RateLimit-Resetinteger

Seconds until a guaranteed-fresh window.

RateLimit-PolicystringOptional

The active policy in limit;w=window-seconds form.

Response

OK
periodslist of objects
The statement's columns, one entry per period, newest first.
period_countinteger
Number of period columns.
billing_yearsinteger

Years of data billed: the distinct years among columns that print a non-zero figure; 0 when no column prints one (such a document is not billed).

balance_sheetlist of objects

The printed lines as a tree: section headings, their lines, and subtotals.

total_assetsstring or nullformat: "^-?\d+\.\d{2}$"
Total assets for the latest period.
total_liabilitiesstring or nullformat: "^-?\d+\.\d{2}$"
Total liabilities for the latest period.
total_equitystring or nullformat: "^-?\d+\.\d{2}$"
Total equity for the latest period.
total_liabilities_and_equitystring or nullformat: "^-?\d+\.\d{2}$"
Total liabilities and equity for the latest period.
sectionslist of objects
The printed lines grouped by section, with subtotals marked.
statusenum

RECONCILED when total assets equal total liabilities and equity in every period; FLAGGED otherwise.

Allowed values:
entitystring or nullOptional
The reporting entity's name as printed.
entity_sourcestringOptional

What names the entity when the statement’s own page does not: the page image (page_image), the filing’s cover page (filing_cover), or the opening pages of the financial statement packet the statement arrived in (packet_text); absent when the statement’s own page names it.

entity_source_sheetstringOptional

The sheet of the uploaded workbook that names the company, when this statement’s own sheet does not and the workbook names exactly one company; absent otherwise.

as_of_yearinteger or nullOptional
The year of the latest period, when the document states one.
reporting_unitenumOptional

The unit the figures are printed in; on the wire the figures are already whole dollars.

Allowed values:
scale_multiplierintegerOptional>=1

Scale of the printed figures: 1 for whole dollars, 1000 when the statement is stated in thousands, 1000000 when it is stated in millions, 1000000000 when it is stated in billions.

unit_exceptionslist of stringsOptional

The carve-outs the statement’s unit declaration lists, such as per share amounts, whose lines and columns keep their printed figures; empty when it lists none.

unit_sourceenumOptional

Where the statement states its unit: printed when the statement header, a column header or a heading line prints it; none when nothing is printed and the figures are whole dollars as printed.

Allowed values:
receivable_allowanceslist of objectsOptional
The allowance each receivables line states in its own caption, when a caption states one.
totalsobjectOptional
The headline totals per period, the totals the balance check used, and whether each of those is printed.
total_mezzanine_equitystring or nullOptionalformat: "^-?\d+\.\d{2}$"

Mezzanine equity for the latest period: the lines the statement prints between its liabilities and its equity, such as a redeemable noncontrolling interest or redeemable preferred stock, which are in neither total liabilities nor total equity. Null when the latest period prints none.

signalslist of objectsOptional
Notes about the statement's reporting period, when any.
period_sourcestringOptional

Which part of the document dates the periods when the column headers state no date: the date the statement was printed on (print_stamp), a year a column prints alone (year_only, the period being that year’s end), the page image (page_image), the file’s name (filename) or the file’s own creation date (file_metadata); absent when the column headers date the periods.

canonicalobjectOptional
The printed lines mapped onto standard line names.
cpa_engagementintegerOptional0-3

The accountant’s level of assurance: 0 unaudited, 1 compiled, 2 reviewed, 3 audited.

cpa_engagement_labelstringOptional
The assurance level in words.
presentationenumOptional

How the statement is presented: formal when it is presented as issued financial statements (a CPA engagement stated, a reference to the notes to the financial statements, a per-share block, the supplemental cash flow disclosures, the preparation legend that no assurance is provided, a plural statement title such as balance sheets or statements of income, or a statement of changes in equity or plural statement titles in the packet it arrived in); free_form when it is a report out of the books (accounting software or a spreadsheet).

Allowed values:
packetobjectOptional
Where the statement sat in the financial statement packet it arrived in, when it arrived in one.
summaryobjectOptional

The statement’s headline figures by section, on the single-document read.

Errors

400
Bad Request Error
401
Unauthorized Error
402
Payment Required Error
403
Forbidden Error
404
Not Found Error
429
Too Many Requests Error
500
Internal Server Error