Choose an operation
Use GET for metadata browsing and POST for document or tracking-number queries. Both discovery responses
contain a
filings array and nullable nextCursor. Search also reports
exhaustive; a text query does not enumerate every matching document in the corpus.
Browse with GET filters
For example, find California filings with company names containing “Mutual” and an approved normalized outcome:Contains
variants match literal substrings without treating % or _ as wildcards.
Carrier exclusions omit filings with unknown carrier codes as well as matches.
See List catalog filings for the
supported fields, normalized enums, repetition rules, and bounds.
Each listed filing includes businessType, normalizedOutcome,
filingTypeNormalized, and stateStatusChangedDate, with the same field names
and types as search results. Unavailable values are null; dates use
YYYY-MM-DD. Inspect these fields directly from the list before deciding
whether you need filing detail.
Use returned carrier or group IDs for identity-based research; see
Research a carrier or MGA. A company-name substring
and a carrier association answer different questions.
Choose classifications and dates
Use normalizedtoiCode and subToiCode from returned filing metadata to select
GET’s toi and subToi filters. For example, homeowners uses 04.0 and a returned
label can read 4.0 Homeowners. Inspect both the code and label before narrowing
an unfamiliar line of business. Raw source labels can vary; do not send the full
label where a code is required. A null normalized code is unknown, and a code
filter can omit filings whose classification has not been normalized.
Similarly, choose normalizedOutcome and filingTypeNormalized from the reference
enums. Raw sourceStatus and filingType filters require one explicit source.
FILED, a closed filing, and APPROVED are distinct observations.
Define “recent” with a date and window appropriate to the question:
Bounds are inclusive and must be ordered. Supplying a date bound excludes rows
without that date. GET defaults to submission date descending with nulls last;
use
sort=submissionDate for ascending order. Other sort keys are
dispositionDate, stateStatusChangedDate, companyName, state, and
sourceReference. Prefix a key with - for descending and repeat sort in
priority order for up to three distinct fields, for example
sort=state&sort=-dispositionDate. All keys put nulls last, followed by filing ID
ascending as the final tie-breaker. Reference sorting uses the native reference
shown in the response, including IRFS references without FL-. A date filter does not change sorting
and does not establish a policy’s effective date.
Look up a native reference
Use one source and the native spelling: SERFF references normalize to uppercase, while Florida IRFS references use a value such as26-003347, without the internal
FL- prefix. Substitute the reference you are researching:
id with filing detail.
A native reference is not a Filing UUID. Exact reference lookup avoids guessing
whether a string should be interpreted as a text query or identifier. A partial
reference does not perform a prefix search.
With exactly one source and one exact sourceReference, each returned filing
also includes description (null when unavailable). General browsing and
multi-reference requests omit description and do not load it.
Search document text
Find Texas documents discussing roof exclusions, explicitly ranked by relevance rather than the default submission-date order:in and containsAny combine with OR.
Text and identifier queries default to recent data (2018+ and undated). Set
dataScope explicitly to historical, recent, or all when that choice matters.
To match a phrase, quote it inside query, for example "\"roof exclusions\"",
and supply a narrowing state, company, NAIC, tracking-number, or date filter.
Without a narrowing filter, quotes are removed and the service uses keyword
search. Exclusion filters alone do not qualify.
Select a result’s matches[].fileId to read beyond a passage. Passages and page
numbers can be absent even when requested. A match’s evidence versionId is
currently null, so current original bytes cannot be assumed to match indexed text.
Text search has a bounded candidate window and returns exhaustive: false.
includePassages: true limits retrieval to 100 candidate documents; false or
omitted permits up to 1,200. Omitting the setting uses configured passage behavior.
Several documents may belong to one filing. Sorting applies within this window;
a null cursor does not prove there are no more corpus matches. Narrow the question
when more specific evidence is needed.
Carrier search filters use carrierIds with containsAny/notContainsAny and
returned canonical IDs or numeric shorthand strings. Group equality uses groupId.
Search’s trackingNumber filter uses backend spelling, including FL- for IRFS;
prefer native-reference GET lookup for an exact source-qualified reference.
See Search filings for the full contract.
Use GET for metadata browsing
POST requires a nonemptyquery. Missing or blank queries return
400 invalid_request with guidance to use GET /api/v2/filings.
For example, browse company metadata alphabetically with:
- Map
carrierIdstocarrier,groupIdtogroup,toiCodetotoi, andsubToiCodetosubToi. UseexcludeCarrierfor carrier exclusions. - Map company/product
containstocompanyNameContains/productNameContains. GET matches literal substrings;%and_are not wildcards. - Use each date’s
From/Toparameters for ranges; use the same date for both bounds to express date equality. - Use
sourceplus nativesourceReferencefor tracking-number filters. Split mixed-source reference lists into separate requests. - Repeat exact-value parameters for OR, and repeat sort keys in priority order. Set-valued filters accept up to 100 values; general text filters allow 500 characters per value. State and insurance codes retain their narrower formats.
- Start a new GET traversal; POST cursors cannot be used on GET.
dataScope parameter.
Search with a query keeps its existing behavior: complete tracking-number queries
match exactly and partial identifier queries use bounded prefix lookup. Search
metadata sorts put missing values last; relevance retains backend score order.