Skip to main content
Use these workflows when you want an integration path rather than an endpoint inventory.

Choose a workflow

Start with one statement

The company parameter also accepts the returned company UUID. Switch only the endpoint path to retrieve the balance sheet or cash flow statement. The response distinguishes directly reported and calculated values:

Load several financial sections

The API keeps each concept separate. Fetch the sections your application needs in parallel and cache them independently.
Use the returned company.id on subsequent requests. Fetch metric definitions through GET /v1/standardized-metrics-list and ratio definitions through GET /v1/ratios-list, then cache them by catalog_version.

Follow a value to its source

First request a standardized statement with includeSources=true. Then use the returned company and cell IDs:
Source renders return image/png. Geometry is a separate endpoint and can return 404 when Rangler can render the source row but cannot safely locate the exact value rectangle.

Retrieve the printed statement

Use an as-reported route when you need the issuer’s original rows and columns:
When you already have a value_id, retrieve its source crop through GET /v1/companies/{company_id}/statement-table-values/{value_id}/source.

Refresh after published results

Subscribe to financials.published. On delivery:
  1. Deduplicate the event by id.
  2. Read its company_id.
  3. Re-fetch the exact endpoint and query your application stores.
  4. Compare period IDs, restatement flags, and values before replacing local records.
  5. Acknowledge the webhook quickly and process the refresh asynchronously.
Use GET /v1/events?type=financials.published to find updates if a webhook is missed.