---
title: "Carrier financial dossier (identity + fiscal-year series)"
method: GET
path: "/v1/financials"
---

# Carrier financial dossier (identity + fiscal-year series)

`GET /v1/financials`

## Request

- Base URL: `https://api.querylines.com`
- URL: `https://api.querylines.com/v1/financials`
- Auth: none declared

Lookup-only (no browse mode): `naic` is treated as authoritative when given, else `insurer` resolves via a case-insensitive partial match against the current carrier roster (first match by naic_id ascending when more than one name matches). Requires at least one of `insurer`/`naic`. Returns the carrier's identity profile plus its full loaded fiscal-year series (up to 5 years, the card's trailing window), or just the one fiscal year named by `year` -- an empty `series` (not a 404) when that carrier has no row for the requested year. Unknown carrier -> 404. $0.10 per query.

## Query parameters

- `insurer` string
- `naic` string
- `year` integer

## Response `200`

Carrier identity + fiscal-year `series`.

- object
  - `naic_id` string, required
  - `company_name` string, required
  - `fein` string, nullable
  - `domicile` string, nullable
  - `main_office` string, nullable
  - `parent` string, nullable
  - `incorporation_date` string, nullable: ISO date.
  - `website` string, nullable
  - `edition` string: e.g. '4q25-annual'.
  - `year` number, nullable, required: Echoes the `year` filter, or null when the full series is returned.
  - `series` object[], required: Every loaded fiscal year (up to 5, the card's trailing window), fiscal_year ascending. Empty when `year` is given and this carrier has no row for it -- NOT a 404, the carrier exists.
    - `naic_id` string, required: From the source card's FILENAME, not its own printed 'NAIC:' field (a verified card-generation error puts the wrong NAIC on one real card).
    - `fiscal_year` number, required
    - `period_type` 'year', required: Annual edition only; the quarterly edition's layout is not wired through this schema.
    - `report_date` string, required: The edition date this fiscal year's figures were published in (SCD key) -- the source republishes a new 5-year trailing window every edition.
    - `total_admitted_assets` number, nullable, required: NATIONWIDE (countrywide statutory-statement figure), not an FL fact -- see coverage_note.
    - `total_liabilities` number, nullable, required
    - `capital_surplus` number, nullable, required
    - `premiums_agents_balances` number, nullable, required
    - `losses` number, nullable, required
    - `loss_adjustment_expenses` number, nullable, required
    - `underwriting_gain_loss` number, nullable, required: Signed; source prints losses as parenthesized negatives.
    - `net_income_after_tax` number, nullable, required
    - `cash_flow_operations` number, nullable, required
    - `unrealized_capital_gains` number, nullable, required
    - `gross_premium` number, nullable, required: NATIONWIDE.
    - `net_premium` number, nullable, required: NATIONWIDE.
    - `direct_premium_national` number, nullable, required: NATIONWIDE despite the name pairing with direct_premium_florida below.
    - `direct_premium_florida` number, nullable, required: FL-SPECIFIC -- one of only two Florida-only figures on this whole card.
    - `pab_pct_policyholders_surplus` number, nullable, required: Printed %, 0-100 scale.
    - `gross_premium_to_surplus_ratio` number, nullable, required: 'Gross Premium to Surplus Ratio (IRIS #1)', printed %.
    - `net_premium_to_surplus_ratio` number, nullable, required: 'Net Premium to Surplus Ratio (IRIS #2)', printed %.
    - `pct_direct_premium_florida` number, nullable, required: FL-SPECIFIC -- the other of only two Florida-only figures on this whole card.
    - `liabilities_to_assets_ratio` number, nullable, required: Printed %.
    - `debt_to_equity_ratio` number, nullable, required: Printed %.
    - `combined_ratio` number, nullable, required: Stored EXACTLY as the carrier's NAIC annual statement printed it, never recomputed -- can be internally inconsistent for a carrier that cedes most of its business on a quota-share basis. Verified real example: Accelerant Specialty Insurance Company's FY2025 card prints Combined Ratio = 12% against Losses Incurred Ratio = 60%, because net premium is tiny next to gross premium for a heavy cedent -- not an extraction bug.
    - `losses_incurred_ratio` number, nullable, required: Printed %; see combined_ratio's inconsistency note.
    - `loss_expenses_incurred_ratio` number, nullable, required
    - `other_uw_expense_incurred_ratio` number, nullable, required
    - `iris_ratios_outside_range` number, nullable, required: The card's own printed '# of IRIS Ratios Outside Usual Range' count for THIS fiscal year. Sparse and per-year: NULL means the figure was NOT PUBLISHED for this year (NAIC IRIS results lag the statement year, so a card usually prints this for only the prior year or two, most often for neither) -- NEVER read a NULL year as zero outside-range ratios.
    - `source` string, required
  - `report_date` string, nullable, required: Latest report_date across the returned `series` (null if `series` is empty).
  - `data_as_of` string, nullable, required
  - `source` string, nullable, required
  - `coverage_note` string, required

## Other responses

- `400`: Invalid query parameters.
- `402`: Payment required (x402). Returned when the x402 payment gate is enabled (PAY_TO_ADDRESS configured) and the request carries no valid payment. The full payment challenge (price/network/payTo/asset) is carried in the base64-encoded PAYMENT-REQUIRED response header (see the x402 spec), not the JSON body -- the body is `{}` for API clients. Price for this route: $0.10. Retry with a signed payment per x402 (USDC on Base mainnet); on success the response carries a PAYMENT-RESPONSE header with settlement info. When PAY_TO_ADDRESS is unset (kill switch off), this route is free and never returns 402.
- `404`: Unknown state or coverage line.
- `500`: Internal error.

---

[API](https://skmtc.dev/querylines/apis/querylines-api.md) · [All operations](https://skmtc.dev/querylines/apis/querylines-api/llms.txt) · [OpenAPI document](https://skmtc.dev/querylines/apis/querylines-api/revisions/4afb6c3e2b1f?raw)
