Connecticut Property Assessments - Statewide CAMA Roll
Pricing
from $0.03 / 1,000 connecticut property assessment records
Connecticut Property Assessments - Statewide CAMA Roll
Connecticut's statewide CAMA property roll (public open data, ~1.36M parcels, 153 municipalities): assessed and appraised values, owner and owner mailing address, structure attributes and the recorded sale. Filter by owner, city, town, state-use, valuation year or value.
Pricing
from $0.03 / 1,000 connecticut property assessment records
Rating
0.0
(0)
Developer
Wenhao Yang
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
17 hours ago
Last modified
Categories
Share
Connecticut Property Assessments - Statewide CAMA Roll & Owner Records
Every Connecticut municipality's assessment roll in one place, straight from the State's own open data portal. ~1.36M parcel records across all 153 municipalities - Stamford to Killingly - with the same schema everywhere, which is what a per-town scraper cannot give you.
Low cost
From $0.00005 per record, down to $0.00003 at Gold. Pay only for the records you actually receive - the whole roll stays queryable, you are never billed for the scan behind it.
What you get
- The value - assessed total, assessed building and land, appraised total and its split, and the prior year's assessment, so a change is visible without a second query
- The owner - the owner name on the roll, plus the owner's mailing address, which is the field that makes out-of-town ownership visible
- The property - the site address, map / block / lot / unit, town, ZIP, zone and state-use classification with its human label
- The structure - year built and effective year built, living area, gross area, stories, rooms, bedrooms, baths, heating and cooling, exterior wall, roof, attic and basement type
- The last sale - sale price, sale date, the grantor and grantee as recorded, and the book/page reference
Modes
- rows (default) - property records matching your filters
- aggregate - counts by town or by property city
Filters
Parcel id, map / block / lot / unit, owner name, property city, state, ZIP,
street name, town id, state-use label (e.g. Single Family, Commercial,
Vacant Land), building style, valuation year and minimum assessed value.
Example inputs
Out-of-state owners above a threshold - the mailing address is what makes this query possible.
{ "owner": "LLC", "minAssessedValue": 500000, "maxResults": 25 }
One municipality - each town sits on a single roll year (see the note below), so filtering by town alone is usually enough.
{ "townId": 26, "maxResults": 25 }
Condominiums in one city
{ "city": "Stamford", "stateUse": "Res. Condo", "maxResults": 25 }
Commercial parcels by value
{ "stateUse": "Commercial", "minAssessedValue": 1000000, "maxResults": 50 }
Example output
A condominium owned by an LLC - owner and city filtered:
{"platform": "ct-cama","source": "ct-ogp-cama","corpus": "cama","recordKind": "property","mode": "rows","groupKey": "","groupCount": "","groupBy": "","pid": "10005","accountNumber": "002-7843","map": "2","block": "7843","lot": "","unit": "29-A3","townId": "135","propertyCity": "Stamford","propertyState": "","propertyZip": "","streetName": "SEATON ROAD","addressNumber": "224","owner": "JBC 1 LLC","mailingAddress": "196 SEATON ROAD #1","mailingCity": "STAMFORD","mailingState": "CT","mailingZip": "06902-3330","valuationYear": "2025","assessedTotal": "127480","appraisedTotal": "182120","stateUse": "105","stateUseDescription": "Res. Condo","styleDescription": "Condominium","yearBuilt": "1951","effectiveYearBuilt": "1994","livingArea": "775","grossArea": "775","stories": "1","totalRooms": "4","bedrooms": "2","baths": "1","heatFuel": "Oil","heatType": "Central Heat","salePrice": "","saleDate": "2020-11-02","saleGrantee": "JBC 1 LLC","saleGrantor": "OLIVEIRA JOAO T","bookPage": "12499/315","sourceUpdatedAt": "2026-09-11"}
mode=aggregate, groupBy=propertyCity - one count row per municipality:
Stamford 38,444Waterbury 34,659Bridgeport 34,501Norwalk 30,020Danbury 28,871Hartford 28,423
Notes on the data, from the source
- There is no reliable unique parcel key, and
pidis the corrupted one.pidandaccount_numberare rendered in scientific notation by the source (a value comes back as the literal string1.68812E+11), so every lot under one map/block collapses onto the samepid- a singlepidcovers up to 376 rows.pidis offered as a search key, never as a primary key, and it is not the default sort axis. - Sale dates are free text and 7.3% of them are 1900. The column mixes at
least six formats (
1/1/1900 12:00:00 AM,1900-01-01,1/1/1900 0:00, plainM/D/YYYY). 99,278 rows carry a 1900 sentinel and 19,218 are blank. Values are normalised to ISO where parseable and blanked when they are sentinels. - A recorded sale exists on 63.8% of rows (866,979). The rest carry a zero
price, which is the source's way of saying no price was recorded - output as
blank rather than
0. - There is no sale-price filter, deliberately.
sale_priceis a text column on this source, and every way of comparing it is broken: a numeric literal is rejected by the source, and a quoted one compares lexicographically ->= '500000'matches 178,300 rows while the 824,799 rows whose price has seven or more digits (all of them numerically over a million) do not match at all. Rather than ship a filter that silently returns the wrong set, the sale price is output-only; filter on it client-side. - Three source columns are near-empty and are not published:
property_county(2.95%, and the values it does carry are dirty - case variants plusCTand bare ZIPs), the second mailing-address line (0.9%) and water frontage (3.7%). The roll's own "137 columns" is not a useful headline; this actor publishes the 73 that carry information (screened at build time; the runtime guard samples the core fields), and that is what is here. - Each municipality sits near its own roll year -
valuationYearis not a statewide snapshot. Connecticut towns revalue on their own cycles: 85 towns are on 2026, 42 on 2025, the rest on revaluation years back to 2021, and nine towns carry more than one year in the table. FilteringvaluationYear=2026therefore returns 85 municipalities, not all 153 - pair a year filter with a town only if you already know that town's cycle, or omit the year and let the town speak for itself. - Grouping by town returns a large blank bucket. 72,709 rows (5.3%) carry
no
town_id, sogroupBy=townIdreports(blank)above every real municipality. Grouping bypropertyCitydoes not have this problem (the city is populated on 100% of rows) and is the better default for a place-based view. valuation_yearcarries data-entry garbage alongside the real roll years (2021-2027): values like40831900and782180are present. Year filters reject anything outside 2000-2100 rather than building a predicate that matches nothing.- Rows come back in parcel order, not newest-first. Neither recency axis is usable - sale dates are multi-format text, and the garbage years above sort above every real year on a descending roll-year sort.
Notes
- Public open data from data.ct.gov. No login, no scraping.
- The roll is assembled from municipal CAMA systems, which refresh on their own
schedules; every record carries
sourceUpdatedAtso you can see the feed's currency without running anything. - Charges are metered per record delivered, so a targeted query costs a fraction of a cent.