RanglerDeveloper
Financial data

Exact reported tables

Retrieve the issuer's printed statement rows and columns when standardized metrics are not enough.

Reported-table endpoints preserve the statement structure extracted from a filing. Use them for exact issuer labels, multi-column statements, statements of changes in equity, and rows that do not match a standard metric.

1. List available tables

GET /v1/companies/{company_id}/statement-table-index?statement_type=changes_in_equity

The index is a lightweight discovery response. Use it to select a filing, reporting scope, statement type, and table before retrieving all values.

Example response from the Access Holdings income statement index:

{
  "company_id": "efa534f5-3b01-4f12-a33b-3c797b05beee",
  "items": [
    {
      "filing_id": "20414188-1ffa-4940-8701-4c5260095bdd",
      "filing_published_at": "2026-05-01T01:16:16Z",
      "statement_type": "income_statement",
      "first_page_number": 4,
      "primary_period_end_date": "2026-03-31",
      "primary_period_basis": "3M",
      "source_label": "31 Mar 2026 financial statements",
      "context_label": "31 Mar 2026 · Group / Company · NGN millions · page 4",
      "is_latest_filing": true
    }
  ]
}

2. Load a table

GET /v1/companies/{company_id}/statement-tables?filing_id={filing_id}&statement_type=changes_in_equity

The response retains the table's reported headers, row labels, values, page, scope, currency, and printed unit metadata where available.

A reported value exposes both the literal filing value and its scaled analytical value:

{
  "value_id": "cf90e85d-5b67-5694-b4cb-4d3160e94656",
  "raw_text": "824,754",
  "raw_numeric_value": 824754.0,
  "scaled_numeric_value": 824754000000.0,
  "display_unit": "currency",
  "display_currency": "NGN",
  "statement_cell_id": "7bedde51-616c-518b-a5aa-e794f231f410",
  "source_region": {
    "row_index": 1,
    "page_number": 4,
    "column_index": 2,
    "source_artifact_id": "98496f91-7f04-4c91-a1a1-2b750cdc8b0f"
  }
}

The containing column reports value_scale = "millions", so 824,754 becomes 824754000000 base NGN units. Do not apply that scale a second time.

3. Retrieve source evidence

GET /v1/companies/{company_id}/statement-table-values/{value_id}/source

The source response is image/png. Use the returned value ID from the reported table; do not substitute a standardized statement cell ID.

The source endpoint can succeed even when exact geometry is unavailable. Treat a geometry 404 as “no safe rectangle located,” not “no filing evidence.”

Standardized versus reported

Standardized statementsReported tables
Stable concepts across issuersExact labels used by this issuer
One metric map per periodOriginal rows and multi-column layout
Ratios and derived periodsReported values and printed context
Best for models and screeningBest for audit, display, and unnormalized rows

Both forms link to the same filing sources but serve different needs. Do not rebuild an exact statement by mapping standard metric labels back to the issuer's wording; retrieve its reported table directly.

Printed headers may contain merged cells, abbreviations, or filing-specific wording. Treat them as source text, not standard metric names.

On this page