Cook County IL APIcookcountyil.gov ↗
Access Cook County public records via API: property tax lookups, court case search, code violations, and department contacts across 4 endpoints.
What is the Cook County IL API?
The Cook County IL API provides 4 endpoints covering public records from Cook County government, including property tax records, civil and domestic court cases, code violation lookups, and department contact information. The get_department_contacts endpoint returns agency names, URLs, phone numbers, email addresses, and director details, while search_court_cases lets you query civil, law, chancery, and domestic relations divisions by case number.
No input parameters required.
curl -X GET 'https://api.parse.bot/scraper/fcccad62-6195-4b66-9155-4f33b8c3c34e/get_department_contacts' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace cookcountyil-gov-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Cook County IL API — bounded walkthrough of department contacts and violations lookup."""
from parse_apis.cook_county_il_api import CookCounty, TicketInvalid
client = CookCounty()
# List agencies with enriched contact details; limit caps total items fetched.
for agency in client.agencies.list(limit=5):
print(agency.name, agency.url, agency.phone)
# Drill into the first agency for detail fields.
first_agency = client.agencies.list(limit=1).first()
if first_agency:
print(first_agency.name, first_agency.email, first_agency.address, first_agency.director)
# Look up a code-violation ticket on the DACRA portal.
try:
result = client.violationlookups.lookup(ticket_number="123456")
print(result.portal, result.ticket)
except TicketInvalid as exc:
print(f"Invalid ticket: {exc}")
print("exercised: agencies.list / violationlookups.lookup")
Fetch contact information for all Cook County departments and agencies. Returns a list of agencies with names and URLs. The first three agencies are enriched with phone, email, address, and director details where available from their detail pages.
No input parameters required.
{
"type": "object",
"fields": {
"agencies": "array of agency objects with name, url, and optionally phone, email, address, director"
},
"sample": {
"data": {
"agencies": [
{
"url": "https://www.cookcountyil.gov/agency/office-president",
"name": "Office of the President",
"email": null,
"phone": null,
"address": null,
"director": null
},
{
"url": "https://www.cookcountyil.gov/agency/secretary-board-commissioners",
"name": "Secretary to the Board of Commissioners",
"email": null,
"phone": "Phone Number+1 (555) 012-3456",
"address": null,
"director": null
},
{
"url": "https://www.cookcountyil.gov/agency/assessor",
"name": "Assessor",
"email": null,
"phone": "Phone Number+1 (555) 012-3456",
"address": null,
"director": null
},
{
"url": "https://www.cookcountyil.gov/agency/board-review",
"name": "Board of Review"
},
{
"url": "https://www.cookcountyil.gov/agency/clerk-circuit-court",
"name": "Clerk of the Circuit Court"
}
]
},
"status": "success"
}
}About the Cook County IL API
Department Contacts and Property Tax
The get_department_contacts endpoint returns an array of Cook County agencies, each with name and url fields. The first three results are enriched with phone, email, address, and director fields where available, making it useful for building contact directories or routing inquiries to the correct agency. The search_property_tax endpoint accepts a pin parameter (Property Index Number, e.g. 17321100010000) and returns city, address, total_tax, and assessed_value for the matched parcel. Note that this endpoint is currently unavailable due to an upstream TLS certificate issue on the source site.
Court Cases and Code Violations
The search_court_cases endpoint accepts a required case_number string and an optional division code: 1 for Civil, 2 for Law, 3 for Chancery, and 4 for Domestic Relations. It returns an array of matching case objects, allowing you to narrow searches to a specific division of the Cook County court system. The search_code_violations endpoint takes a ticket_number and returns the Cook County DACRA violations portal URL alongside the submitted ticket number, directing you to the authoritative portal for full violation details.
Coverage and Limitations
All data reflects publicly available Cook County government records. The get_department_contacts endpoint enriches only the first three agency results with full contact details. Property tax lookups are blocked by an ongoing upstream TLS issue. Code violation results surface the portal URL rather than inline violation data, so full ticket details require a follow-up visit to the DACRA portal.
The Cook County IL API is a managed, monitored endpoint for cookcountyil.gov — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when cookcountyil.gov changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official cookcountyil.gov API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Look up assessed property values and total tax owed using a Cook County PIN for real estate due diligence
- Search civil or domestic relations court cases by case number to track litigation status
- Retrieve Cook County department director names and contact details for government outreach or compliance workflows
- Resolve a code violation ticket number to the DACRA portal for enforcement or property research
- Build a Cook County agency directory using agency names, URLs, and phone numbers from get_department_contacts
- Cross-reference property PINs with court cases to identify liens or contested ownership
- Automate lookups across court divisions by filtering search_court_cases with division codes
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.