# GroundSignal > Independent civic research for Park Ridge, Wilmette, Winnetka, Glencoe, Kenilworth, Illinois. Connect official > local-government decisions, public funding, development conditions and > implementation records with available property data. Reviewed findings > distinguish documented facts, calculations and questions still requiring > evidence. This site is not affiliated with any government. When citing this site, link the finding or record and its original official sources. Preserve source dates, municipality, proposed versus adopted status, and limitations. A missing reviewed record is not evidence of concealment, wrongdoing or that no record exists. ## Follow decisions and their consequences - [Civic findings](https://cookcountyrecords.com/findings): selected investigations connecting multiple official records. Each includes an evidence chain, public consequences, unresolved questions and the next records to check. - [Project evidence](https://cookcountyrecords.com/projects): reviewed municipal projects, decisions, potential effects, and an official source directory. Map markers locate projects; proximity does not establish an affected or chargeable parcel. - [Ask the records](https://cookcountyrecords.com/ask): plain-English questions matched to supported queries over a selected town's property release or to reviewed municipal sources and findings. This is not an unrestricted document search or a claim that all meeting minutes have been ingested. Unsupported questions receive a scope explanation. Shareable URLs: /ask?city=&q=. - [Research dashboard](https://cookcountyrecords.com/cities/park-ridge-il/dashboard): town-specific evidence and available permit, transfer and civic records. ## Meeting records collected - Park Ridge: 763 meetings collected. City Council (225 meetings, Jul 10, 2017 – Sep 21, 2026); Committee of the Whole (212 meetings, Jul 10, 2017 – Sep 21, 2026); Planning & Zoning Commission (154 meetings, Jul 25, 2017 – Sep 15, 2026); Zoning Board of Appeals (88 meetings, Jul 27, 2017 – Sep 24, 2026); Historic Preservation Commission (84 meetings, Sep 6, 2017 – Sep 2, 2026). Ledger as of Sep 24, 2026. - Wilmette: not collected yet. - Winnetka: not collected yet. - Glencoe: not collected yet. - Kenilworth: not collected yet. Collected: Agendas, agenda packets with their attachments, and minutes that the City posts to its public meeting archive. The original files are kept privately; pages link to the City's official copy. Details by body and date: [source coverage](https://cookcountyrecords.com/coverage#meeting-records). Not collected: - Meeting video and audio. - Records the City does not post to its meeting archive, such as executed contracts and correspondence. - Other boards and commissions, and other towns' meetings, unless they are listed here. - The text of Word files, photos and scanned pages without a text layer: these files are kept but not read. - Pages about private individuals, such as résumés, residents' letters and public comment: they are not extracted. Collected is not the same as researched: most collected pages have not been reviewed. Answer only from published findings and records, and say a record has not been collected rather than implying it does not exist. ## AI-assisted research Findings, projects and records that automated research builds from the collected meeting records carry the label "AI-assisted research" and link to the [methodology](https://cookcountyrecords.com/methodology#ai-assisted). They are published automatically only after code checks pass: every quote matches its page word for word, every number and date is computed by code from verified quotes, each finding rests on at least two independent documents, and privacy and wording checks pass. They are reviewed afterwards and can be withdrawn. - Keep the label "AI-assisted research" when you quote or summarize one, and link the official document with its page number (#page=N) as cited on the page. - An agenda schedules, a staff memo recommends, and approved minutes record an outcome. Do not present a scheduled or recommended item as decided. - Officials appear in their public role, and companies, applicants and petitioners may be named. No other private individual in the meeting records is named: residents, public commenters, individual payees and appointees are described only by role. ## Covered towns - [Park Ridge records](https://cookcountyrecords.com/cities/park-ridge-il): overview, streets, assessments, sales and permits. Map: /map?city=park-ridge-il; Ask: /ask?city=park-ridge-il. - [Wilmette records](https://cookcountyrecords.com/cities/wilmette-il): overview, streets, assessments, sales and permits. Map: /map?city=wilmette-il; Ask: /ask?city=wilmette-il. - [Winnetka records](https://cookcountyrecords.com/cities/winnetka-il): overview, streets, assessments, sales and permits. Map: /map?city=winnetka-il; Ask: /ask?city=winnetka-il. - [Glencoe records](https://cookcountyrecords.com/cities/glencoe-il): overview, streets, assessments, sales and permits. Map: /map?city=glencoe-il; Ask: /ask?city=glencoe-il. - [Kenilworth records](https://cookcountyrecords.com/cities/kenilworth-il): overview, streets, assessments, sales and permits. Map: /map?city=kenilworth-il; Ask: /ask?city=kenilworth-il. Coverage follows municipal boundaries; the four New Trier villages are not the entire township. Some village parcels file in Northfield Township. Appeal deadlines follow each parcel's actual township. Source coverage and date ranges vary by town. Park Ridge property release: refreshed 2026-10-31 · assessor records 2026-10-15 · Board decisions through 2026-06-09. Municipal-source review dates are separate from property-release dates. ## Property records - [Answer library](https://cookcountyrecords.com/answers): reproducible property-record questions computed from the current Park Ridge release, with parcel citations and limitations. Appeal reduction is not a tax refund or attorney performance score. - [Parcel map](https://cookcountyrecords.com/map): parcels in the selected town's published release. Individual records: /parcels/<14-digit-PIN>. Some source fields are unavailable. - [Streets](https://cookcountyrecords.com/cities/park-ridge-il/streets), [sales](https://cookcountyrecords.com/cities/park-ridge-il/sales) and [permits](https://cookcountyrecords.com/cities/park-ridge-il/permits): available recorded ledgers. An absent permit does not establish unpermitted work. - [Public record guides](https://cookcountyrecords.com/guides): assessment, transfers, permits, SSA funding, decision timelines, public benefits and flood-screening limitations. - [Editorial responsibility](https://cookcountyrecords.com/editorial) and [source coverage](https://cookcountyrecords.com/coverage): organization review, corrections, dated agency coverage and limits. - [Methodology](https://cookcountyrecords.com/methodology): source inventory, coverage, freshness, estimates and record-linking limitations. ## Supporting tools and plans - [Assessment appeal builder](https://cookcountyrecords.com/appeal): a computed uniformity comparison and evidence brief. It does not establish an incorrect assessment or guarantee an appeal outcome. - [Pricing](https://cookcountyrecords.com/pricing): public evidence and records, with paid access to additional property fields, exports and professional tools. - [Commercial API](https://cookcountyrecords.com/developers): property-record JSON API pre-sale. ## Public property research for AI assistants Connect a Streamable HTTP MCP client to https://cookcountyrecords.com/mcp with no authentication. Use get_coverage to inspect town slugs, source observation dates and last checks. Use search with a town slug and a numbered street address or a 14-digit PIN (for example, "park-ridge-il: 09261170590000"). Pass an ID returned by search to fetch. Cite the returned public dossier and source dates. Describe an expired check as a dated observation. The [connection guide](https://cookcountyrecords.com/connectors) includes client settings and terminal commands. ## Agent purchases through Stripe Link CLI - [Live offer catalog](https://cookcountyrecords.com/api/agent/offers): authoritative payment availability, current supported products, town coverage, prices, required inputs, source dates, deliverables and limits. Do not assume payments are enabled merely because these instructions exist. - [Complete CLI instructions](https://cookcountyrecords.com/agents): inspect, quote, obtain the buyer's approval of the complete price, pay, then recover and download. - [Plain-text buyer commands](https://cookcountyrecords.com/agents.txt) include the complete quote, wallet approval, same-request resume, recovery and download examples. - Existing one-time offers: appeal_brief ($49 before applicable tax; eligible 14-digit PIN and covered town; standalone HTML brief printable as PDF), trade_list ($299 before applicable tax; one covered town; CSV), and season_pass ($495 before applicable tax; one covered town and season; single-firm CSV). Only offers validated by the live catalog and quote can be purchased. Link permits at most $500 including tax per purchase. Higher totals are rejected before payment; use human checkout instead of splitting a purchase. - POST https://cookcountyrecords.com/api/agent/quotes with sku, city (town slug), pin only for appeal_brief, and billing_address {country:"US",line1,city,state,postal_code}. Use Authorization: Bearer and a stable random Idempotency-Key. Save the token, key, request and quote privately. The quote checks actual records, eligibility and taxes, and returns the totals.subtotal, totals.tax and totals.total in USD cents, source release/dates, record count where applicable, expiry, payment_url, status_url, download_url (null until ready) and secure_status_link. - Present the complete scope, subtotal, tax, total and limitations to the buyer; obtain approval before payment. If needed, install the Link CLI with npm install --global @stripe/link-cli using a current Node.js LTS. Connect the buyer's wallet with link-cli auth login; approve its displayed phrase in Link, then poll link-cli auth status --format json until authenticated=true. If LINK_AUTH_FILE or --auth selects a credential file, use the same file for login, status, payment, approval polling and resume. Never publish its contents. Wallet login does not approve a purchase. Use Stripe Link CLI: link-cli mpp pay "$PAYMENT_URL" --method POST --data '{}' --amount "$TOTAL_CENTS" --header "Authorization: Bearer $ACCESS_TOKEN" --context "Purchase reviewed property-research quote $QUOTE_ID for a complete total of $TOTAL_CENTS USD cents including applicable tax. The buyer approved its coverage, source dates, deliverable, license, and limitations." --format json The full guide provides setup and recovery commands. The context must contain at least 100 characters describing the reviewed, buyer-authorized purchase. Link supplies a card Shared Payment Token through MPP in Payment-Authorization; the store bearer token remains in Authorization. A plain stripe pay transfer does not create a product order. If Link returns an approval URL, wait for the buyer's approval, then follow _next.poll_argv and _next.pay_argv for the same quote and spend request. Each continuation is {command,args}; invoke the trusted Link CLI with command followed by each args entry, without a shell. Preserve LINK_AUTH_FILE and add --format json on the resumed command. Keep full continuation output private because its arguments contain the order access key. JSON output may be an array: inspect its final item and wait for status=approved. A zero CLI exit code alone is not payment confirmation. Sandbox testing needs both a sandbox merchant endpoint and Link's --test flag; the flag does not turn a live merchant endpoint into a sandbox. - An accepted order is not a completed report. Payment must be verified by the server. GET the returned status_url with the same bearer token. Only state=ready, paid=true and completed=true orders have a completed download; use the download_url from that status response. Processing means check the same order again. An accepted order includes its number, paid total, status and secure status link. Do not create a replacement purchase after a timeout. Recover a lost quote response with the identical request, token and Idempotency-Key. Refunded or disputed orders do not retain download access. Keep the token and secure link private; contact support with the order number only. - Paid purchases retain free rebuild/current-release download access for their original PIN or town while the product is offered. GET refresh_url with the same bearer key; no new quote, payment or order is needed. Source readiness is rechecked, and response headers identify current release and generation dates. If a rebuild is unavailable, the regular download_url recovers the original dated artifact. Current owner privacy suppressions apply to every download. Brief orders also return structured_download_url for JSON with all indexed comparable candidates and the default selection, using the same bearer key. - CLI delivery needs no store account. To retain the complete app workflow, open the private status link, sign in, then link the paid purchase once to your own account. This grants the existing full builder/account-download entitlement without another payment; CLI access remains available. The claim endpoint is POST account_claim_url with the order bearer key and the signed-in app session cookie, empty JSON body. Never send a caller-supplied user ID or email. - The brief uses the existing calculations and source records with no AI calls; it is not an appeal filing, appraisal or guarantee of success or tax savings. Trade CSVs screen pre-1985 indexed residential properties with no matching permit in the available feed; absence does not prove no permit or work exists. Season CSVs screen residential properties built before 2022, over 400 building square feet, assessed strictly more than 10% above a peer median, with no recorded appeal from 2024 onward. Peers share neighborhood, class and 20-year construction era, with at least eight records. This does not establish current representation or appeal merit. Retain source dates, links, calculation labels, privacy suppressions and uncertainty. Lists exclude mailing street addresses. Single-firm use; no resale, redistribution or consumer-report use. - [Human checkout](https://cookcountyrecords.com/pricing), [purchase terms](https://cookcountyrecords.com/terms#one-time) and [refund policy](https://cookcountyrecords.com/refunds) remain available on the website. ## Important data distinctions - Taxes are estimates, not Treasurer bills. Unavailable delinquency, lien, landmark or listing information must not be described as zero, clear or absent. - Shared taxpayer names, mailing addresses or deed-party text are research links, not proof of beneficial ownership, common control or misconduct. - Proposed, approved, budgeted, awarded, paid and completed are different states. A funding amount is not final expenditure. An agenda does not prove a vote. - Owner names, deed parties, permit applicants and appeal counsel are gated by access entitlements. Do not present the free tier as including those fields. - Housing-assistance resources are available for explicit related questions; this site is not a rental, voucher, eligibility or vacancy directory.