Data documentation for the Civly listing on the Snowflake Marketplace: what’s in it, how it’s structured, and how to query it once installed.
Civly compiles public records into analytics-ready datasets. This product is parcel ownership with owner mailing addresses, compiled from county assessor and land-record sources. Every parcel carries the owner’s name and normalized name, mailing address, the property’s situs address, sale history with prices, assessed and market values, acreage, property type, and owner-occupied and homestead flags.
Common uses: owner outreach and absentee-owner analysis, market research, land research, and investigative work. Data refreshes weekly, and every record carries source attribution and a refresh date.
| Fact | Detail |
|---|---|
| Total records | 49,294,169 parcels across 22 states |
| Covered states | AR, CT, DC, FL, GA, IL, IN, MA, ME, MI, MN, MT, NC, ND, NY, OH, PA, TX, UT, WI, WV, WY |
| Free trial | 30 days, complete Wyoming and District of Columbia records: 595,186 parcels |
| Subscription | All 22 states, 49,294,169 records, billed yearly |
| Source | County assessor and land records, compiled by Civly |
| Refresh | Weekly |
| Geographic coverage | United States |
| Key matching columns | OWNER_NAME_NORM (normalized owner name), PARCEL_ID, COUNTY_FIPS |
PARCEL_OWNERSHIP.PARCEL_OWNERSOne view serves the trial and the subscription. During the free trial it returns Wyoming and the District of Columbia only. Subscribers see all 22 states. 36 columns, uppercase names.
| Column | Type | Description |
|---|---|---|
ID | NUMBER | Civly internal row identifier |
SOURCE | VARCHAR | Source system, e.g. assessor or deed records |
SOURCE_ROW_ID | VARCHAR | Identifier in the source system |
STATE | VARCHAR | Two-letter state code |
SOURCE_LAYER | VARCHAR | Source dataset layer |
SOURCE_URL | VARCHAR | Source dataset URL |
AS_OF | VARCHAR | Source data as-of date |
PARCEL_ID | VARCHAR | Parcel identifier |
COUNTY | VARCHAR | County name |
COUNTY_FIPS | VARCHAR | County FIPS code |
OWNER_NAME | VARCHAR | Primary owner name as filed |
OWNER_NAME_2 | VARCHAR | Secondary owner name as filed |
OWNER_NAME_NORM | VARCHAR | Normalized owner name for matching |
CARE_OF | VARCHAR | Care-of line, where present |
OWNER_STREET | VARCHAR | Owner mailing street address |
OWNER_STREET2 | VARCHAR | Owner mailing street address line 2 |
OWNER_CITY | VARCHAR | Owner mailing city |
OWNER_STATE | VARCHAR | Owner mailing state |
OWNER_ZIP | VARCHAR | Owner mailing ZIP code |
SITUS_ADDRESS | VARCHAR | Property street address |
SITUS_CITY | VARCHAR | Property city |
SITUS_ZIP | VARCHAR | Property ZIP code |
SALE_DATE | DATE | Most recent sale date |
SALE_PRICE | NUMBER | Most recent sale price in USD |
PRIOR_SALE_DATE | DATE | Prior sale date |
PRIOR_SALE_PRICE | NUMBER | Prior sale price in USD |
ASSESSED_VALUE | NUMBER | Assessed value in USD |
MARKET_VALUE | NUMBER | Market value in USD |
LAND_VALUE | NUMBER | Land value component in USD |
IMPROVEMENT_VALUE | NUMBER | Improvement value component in USD |
HOMESTEAD_FLAG | BOOLEAN | Homestead status |
OWNER_OCCUPIED | BOOLEAN | Owner-occupied flag, mailing address matches situs |
ACRES | DOUBLE | Parcel size in acres |
PROPERTY_TYPE | VARCHAR | Property type classification |
CREATED_AT | TIMESTAMP | Civly load timestamp |
UPDATED_AT | TIMESTAMP | Civly load timestamp |
After installing, set your worksheet’s database selector to the installed database and these run as written.
-- Parcel counts by state (trial returns WY and DC) SELECT STATE, COUNT(*) AS PARCELS, SUM(SALE_PRICE) AS SOLD_VALUE FROM PARCEL_OWNERSHIP.PARCEL_OWNERS GROUP BY STATE ORDER BY PARCELS DESC; -- Absentee owners: mailing state differs from parcel state SELECT OWNER_STATE, STATE AS PARCEL_STATE, COUNT(*) AS PARCELS FROM PARCEL_OWNERSHIP.PARCEL_OWNERS WHERE OWNER_STATE IS NOT NULL AND OWNER_STATE <> STATE GROUP BY 1, 2 ORDER BY PARCELS DESC LIMIT 25; -- All parcels owned by a name (use the normalized column) SELECT OWNER_NAME, OWNER_STREET, OWNER_CITY, OWNER_STATE, OWNER_ZIP, SITUS_ADDRESS, SITUS_CITY, SALE_DATE, SALE_PRICE, ACRES FROM PARCEL_OWNERSHIP.PARCEL_OWNERS WHERE OWNER_NAME_NORM = UPPER('Jane Q Public');
Source data is county assessor and land-record data collected from public county sources across the 22 covered states. Civly cleans, normalizes, and standardizes owner names and addresses and stamps every record with its source attribution and refresh date. When you publish analysis based on this dataset, credit the county sources and Civly as compiler.
Questions about this dataset: matthew@civly.ai