Cook County Property Sales & Assessed Values (Chicago) avatar

Cook County Property Sales & Assessed Values (Chicago)

Pricing

$3.00 / 1,000 parcel records

Go to Apify Store
Cook County Property Sales & Assessed Values (Chicago)

Cook County Property Sales & Assessed Values (Chicago)

Cook County Assessor open data as clean JSON: parcel sales with buyer, seller, price and deed type; assessed values (mailed, certified, Board of Review); building permits; assessment appeals with agent and outcome. Filter by date, township, class, price, PIN list and buyer or seller name.

Pricing

$3.00 / 1,000 parcel records

Rating

0.0

(0)

Developer

JS Tech Solutions

JS Tech Solutions

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

22 days ago

Last modified

Share

Cook County Property Sales & Assessed Values (Chicago Parcel Data)

Pulls the Cook County Assessor's Office open data into clean JSON records: every recorded parcel sale in Cook County, Illinois (Chicago and suburbs) with buyer, seller, price, deed type and the Assessor's non-market-sale flags; assessed values for every parcel and tax year at the mailed, certified and Board of Review stages; building permits reported to the Assessor; and assessment appeals with the filing agent and the outcome. Filter by date, township, property class, price, PIN list and buyer or seller name. No scraping of the Assessor's website, no PIN-at-a-time lookups: this reads the County's bulk open-data API, so a township's worth of sales arrives in one run.

Four datasets, one record shape per dataset, all keyed on the 14-digit PIN:

  • Sales - one record per recorded sale. 2,686,366 sales from 1971 to the newest published date, 79,257 of them dated 2025.
  • Assessed values - one record per parcel per tax year, 1999 to the current year. About 1.86 million parcels a year.
  • Permits - building permits municipalities report to the Assessor, 726,959 rows; 10,480 issued in the 90 days to 23 August 2026.
  • Appeals - 2,615,003 appeal rows; 362,530 for tax year 2025, with the agent or attorney named on 81% of them.

Who uses this data

  • Chicago real estate investors and wholesalers pulling every sale over a price in a township, or every sale to an LLC, as a weekly feed.
  • Appraisers assembling comparable sales by township, class and date window, with deed type and the Assessor's own arms-length flags on each.
  • Property tax appeal firms reading a parcel's mailed vs certified values, the appeal history and outcomes in a township, and which agents are filing.
  • Lenders and title researchers checking a PIN list's sale history and current assessed values in one call.
  • Contractors and suppliers watching permits by township and estimated job amount.

What you get

One dataset item per source row. A real sales item, from the default input:

{
"mode": "sales",
"rowId": "7890996",
"pin": "17042070861145",
"pinFormatted": "17-04-207-086-1145",
"taxYear": 2026,
"townshipCode": "74",
"townshipName": "North Chicago",
"neighborhoodCode": "74022",
"classCode": "299",
"saleDate": "2026-07-14",
"saleDateIsFromMyDec": true,
"salePrice": 162000,
"documentNumber": "2619521029",
"deedType": "Other",
"myDecDeedType": null,
"buyerName": "NEGAR NAGHASHZADEH",
"sellerName": "AUCTION.COM LLC AUCTION.COM LLC",
"saleType": null,
"isMultiParcelSale": false,
"parcelsInSale": 1,
"ccaoFilters": { "sameSaleWithin365Days": false, "lessThan10k": false, "nonArmsLengthDeedType": false },
"sourceDataset": "wvhk-k5uv",
"sourceDatasetTitle": "Assessor - Parcel Sales",
"source": "https://datacatalog.cookcountyil.gov/resource/wvhk-k5uv.json",
"datasetPage": "https://datacatalog.cookcountyil.gov/d/wvhk-k5uv",
"attribution": "Cook County Assessor's Office",
"sourcePublishedAt": "2026-08-19T19:36:06.000Z",
"fetchedAt": "2026-08-23T16:37:50.170Z"
}

Every item carries pin (14 digits, zero-padded), pinFormatted, taxYear, townshipCode and townshipName (both, whichever the source publishes), plus the source, attribution, sourcePublishedAt and fetchedAt envelope. The other modes add:

  • assessedValues: classCode, neighborhoodCode, and three value stages mailed, certified, boardOfReview, each { building, land, total, homeImprovementExemption }. These are assessed values, not market values; divide by the class's level of assessment to estimate market value.
  • permits: permitNumber, localPermitNumber, dateIssued, status (CLOSED, PENDING, OPEN, RECHECK), assessable, amount, municipality, propertyAddress, mailingAddress, applicantName, jobCodePrimary, jobCodeSecondary, workDescription, improvementCodes.
  • appeals: caseNumber, hearingType, appealType, status, result (change / no change), mailed and certified value triplets, totalReduction (mailed total minus certified total), reasons (code and description), agentCode, agentName.

Names, addresses and descriptions are delivered exactly as the Assessor records them (upper case, sometimes repeated). null means the source row has no value for that column. documentNumber is the Cook County Clerk's recording number and can be looked up on the Clerk's site. Set includeRaw to attach the untouched source row as raw.

Input

FieldTypeDefaultNotes
modeselectsalessales, assessedValues, permits, appeals
pinslistnoneUp to 500 PINs; dashes allowed. Switches off the default window and tax year so you get the parcel's whole history. Lists over 100 PINs are queried in chunks of 100 and merged.
townshiptextnoneName or two-digit code, any case: Lake View, 73, Evanston. 38 townships; Chicago is 70-77.
classCodeslistnoneAssessor class codes such as 211, 203, 299. Sales, values and appeals only.
taxYearintegernewest year (values, appeals)Also accepted for sales and permits, where it replaces the date window.
dateFrom, dateTodatesee belowSale date (recorded) or permit issue date.
minPrice, maxPriceintegernoneSale price, or permit estimated amount.
buyerName, sellerNametextnoneSales only. Case-insensitive "contains".
saleFilterselectunder10kunder10k drops sales the Assessor flags under $10,000; strict also drops repeat same-price sales within a year and quit claim, executor and beneficiary deeds; none delivers everything.
maxResultsinteger100Cap on delivered records, up to 50,000. Also your cost cap.
includeRawbooleanfalseAttach the source row.

Default windows. With no dates, PINs or tax year, sales returns the 60 days ending at the newest published sale (not at today: sales are published on a lag of several weeks, and the Assessor notes some arrive months after recording), permits returns the 90 days ending today, and assessed values and appeals return the newest tax year. Sales and permits are delivered newest first; values and appeals in PIN order. Assessed values skips parcel-years that have no mailed value yet, so a not-yet-reassessed township is not delivered as empty rows.

Every filter runs server-side on the County's API; a filter that does not exist for the chosen dataset (a price on assessed values, a class on permits) is listed under filtersIgnoredForDataset in the run summary rather than silently dropped.

Pricing

Pay per record delivered. A filter that matches nothing costs nothing. maxResults is honored before anything is pushed, and a run that hits its charge limit stops cleanly and says so in the OUTPUT summary (stoppedByChargeLimit).

Data source, refresh and licence

All four datasets are published by the Cook County Assessor's Office on the Cook County open data portal (Tyler Data & Insights / Socrata) and read through its public API without a token:

The portal lists each as updated bi-weekly ("semi-monthly" in the dataset notes); each record's sourcePublishedAt is the portal's own last-updated stamp for its dataset. The datasets carry no licence field. The portal's "About Open Data" page (https://datacatalog.cookcountyil.gov/stories/s/pvqg-z4sc) describes the data as "free public data published by Cook County agencies" under the County's Open Government Plan and lists among its principles: "Non-discriminatory: Data is available to anyone, with no registration requirement" and "License-free: Data is not subject to copyright, patent, trademark, or trade secret regulation where reasonable". The County's website Terms of Use (https://www.cookcountyil.gov/terms-use) disclaim warranty and accuracy. This Actor is not affiliated with or endorsed by the Cook County Assessor's Office or Cook County Government. Attribution: Cook County Assessor's Office.

Requests are sent one at a time with the one-second crawl delay the portal publishes in its robots.txt, from a User-Agent that identifies this Actor.

Limitations

  • Sales lag. On 23 August 2026 the newest sale in the dataset was dated 14 July 2026. The Assessor warns that many sales do not appear until months after recording. Use the default window for "recent", not for "this week".
  • Non-market sales. The dataset includes quit claims, intra-family transfers and foreclosure-related deeds. The three ccaoFilters flags and saleFilter=strict are the Assessor's own screen, not a guarantee of arms-length.
  • Missing names. Buyer and seller names are absent on some sales (buyer on 19% of the default window, seller on 33%, read 23 August 2026), so name filters cannot match those.
  • Appeals history is sparse before 2021 while the Assessor repopulates its system of record; agent, reason and type fields are complete from 2021 onward.
  • Permits are what municipalities reported, in inconsistent formats, and are not the complete universe of Cook County permits. A handful carry mistyped issue dates far in the future; the default window excludes them.
  • Assessed, not market. Values must be adjusted by the class's level of assessment (published by the Assessor, and changed over the years covered) to estimate market value.
  • Values for the current tax year change until the Board of Review certifies them.

FAQ

How do I get Cook County property sales by township or neighborhood?

Set township (for example Lake View or 73) and optionally classCodes and a date window. Neighborhood is delivered on each record as neighborhoodCode (township plus Assessor neighborhood), so you can filter on it after the fact.

Can I search Cook County property records by owner or buyer name?

Sales records carry buyer and seller names as recorded on the deed; buyerName and sellerName do a case-insensitive contains match. The Assessor's datasets do not publish a current-owner column. The buyer on the most recent published sale can be a useful lead, but it is not a current-owner or title determination: sales are published on a lag, some transfers never appear here, and names are recorded inconsistently. Verify ownership with the Cook County Assessor or Clerk (Recordings) or a title source.

How do I look up assessed values and appeals for a list of PINs?

Put the PINs in pins (any format, up to 500 per run) and choose assessedValues or appeals. With a PIN list the Actor returns the full history, every tax year, for those parcels.

Where do I find the Assessor property search data for Chicago?

Chicago parcels sit in townships 70 to 77 (Hyde Park, Jefferson, Lake, Lake View, North Chicago, Rogers Park, South Chicago, West Chicago). Run one township at a time, or omit township for the whole county.