---
title: "Citizens (FL) monthly policies-in-force by product line"
method: GET
path: "/v1/citizens/pif"
---

# Citizens (FL) monthly policies-in-force by product line

`GET /v1/citizens/pif`

## Request

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

Rollup mode (no `county`/`split`): one statewide data point per month. `county=...`: that county's total. `split=coverage` or `split=region`: two data points per month (wind/ex_wind, or tri_county/remainder). `county` and `split` cannot both be set. $0.10 per query.

## Query parameters

- `product_line` string
- `county` string
- `split` 'coverage' | 'region'
- `from` string
- `to` string
- `granularity` 'month'

## Response `200`

Policies-in-force series; two data points per period in split mode.

- object
  - `product_line` string, required
  - `county` string, nullable, required
  - `split` 'coverage' | 'region' | 'null', nullable, required
  - `granularity` 'month', required
  - `data` object[], required
    - `month` string, required: e.g. "2026-05"
    - `coverage` 'wind' | 'ex_wind': Present only when ?split=coverage.
    - `region` 'tri_county' | 'remainder': Present only when ?split=region.
    - `policies` number, required
    - `building_count` number, nullable, required
    - `risk_count` number, nullable, required
    - `premium` number, nullable, required
    - `exposure` number, nullable, required
  - `report_date` string, nullable, required
  - `data_as_of` string, nullable, required
  - `source` string, nullable, 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)
