Skip to main content
search finds records of one kind in one jurisdiction that match a filter, for example every sale over $1M in Fairfax County.

Building a filter

1

Pick the kind and source

Call catalog with the jurisdiction to see each source’s kind and source_id.
2

Pick the fields

catalog with source_id lists that source’s field names, types and example values. Field names are case-sensitive and exactly as the publisher wrote them.
3

Write the filter

filter is a JSON object of up to 5 fields, URL-encoded. A bare value means equals. Add "$source_id" to search one source.

Operators

prefix and contains values cannot include %, _ or \. Dates compare as text, so ISO dates ("2025-01-01") work with gte and lt when the source uses ISO dates.

Paging

Results come 1–100 at a time (default 50). When more exist, the response includes next_cursor; pass it back as cursor with the same parameters. See Pagination.

Performance

Search reads matching records as it scans a source, so:
  • Broad filters are fast. Common values return in well under a second.
  • Rare values over large sources can time out. The call stops after about 8 seconds and returns a free 503 query_timeout.
  • Narrow it: add "$source_id", search a county instead of a state, or filter on a more common value first.

Billing

Each page that returns results is billable. A search with no matches returns 404 not_found and is free, as are timeouts and invalid filters.