ingest0r Comps API

The Comps API from ingest0r — 1 operation(s) for comps.

Operations 1

GET /v1/comps/{pin} Comparable sales (comps) and a lightweight automated valuation for a Cook… #

Documentation

Specifications

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/ingest0r-com:ingest0r-com-comps-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

ingest0r-com-comps-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Cook County (Chicago) property records Comps API
  version: 0.4.2
  description: Pay-per-call property-records API for Cook County, Illinois — including the City of Chicago.
  contact:
    url: https://api.ingest0r.com
    email: hyperionxmota@gmail.com
  x-keywords:
  - cook county
  - chicago
  - illinois
  - property records
  - real estate
  - parcel
  - PIN
  - address lookup
  - address to PIN
  - property tax
  - assessment
  - recorded sales
  - deed history
  - building permits
  - comparable sales
  - comps
  - automated valuation
  - due diligence
  - lead enrichment
  - title research
  - open data
  - x402
  - pay per call
  - evanston
  - oak park
  - cicero
  - skokie
  - berwyn
  - des plaines
  - arlington heights
  - palatine
  - schaumburg
  - orland park
  - tinley park
  - oak lawn
  - suburban cook county
  - assessed value
  - assessor
  - cook county assessor
  - board of review
  - AVM
  - home value
  - last sold price
  - sale history
  - permit history
  - building permit lookup
  - renovation history
  - pin lookup
  - cook county pin
  - geocode
  - latitude longitude
  - property research
  - real estate investor
  - underwriting
  - ward
  - census tract
  x-rate-limit:
    requests_per_minute: 120
  x-guidance: 'Resolve a street address to a parcel PIN with GET /v1/search/{q} — search is FREE, no payment needed. Then fetch the full record with GET /v1/dossier/{pin}. Use /v1/parcel/{pin} for a cheap single lookup and /v1/comps/{pin} for comparable sales. The PIN routes are pay-per-call via x402 (USDC on Base or Solana) and return HTTP 402 with machine-readable payment terms until paid. Try GET /v1/sample FIRST — it is FREE and returns a representative response so you can validate the data shape before paying. You do not need a wallet to evaluate this API: search and the sample cost nothing, and the free live example PINs listed at https://api.ingest0r.com/pricing return real records on the normal paid routes at $0. The same data is available as an MCP server (streamable-http) at https://api.ingest0r.com/mcp if your client speaks MCP rather than plain HTTP. Coverage is Cook County, Illinois (including the City of Chicago) ONLY; data is property-keyed public records — no personal, owner, or occupant data.'
servers:
- url: https://api.ingest0r.com
tags:
- name: Comps
paths:
  /v1/comps/{pin}:
    get:
      operationId: v1_comps
      summary: Comparable sales (comps) and a lightweight automated valuation for a Cook…
      description: 'Comparable sales (comps) and a lightweight automated valuation for a Cook County / Chicago property: recent arm''s-length sales in the same assessor neighborhood and property class over the last 18 months, with an implied low/median/high price range, each comp carrying its distance in metres from the subject. Thin markets widen automatically (36 months, then the property-class group) and the response reports which rung was used. Non-arm''s-length and multi-parcel deeds are filtered out — a derived valuation you won''t get from a raw open-data query. For valuation, underwriting, investment screening, and due diligence.'
      parameters:
      - name: pin
        in: path
        required: true
        description: Cook County PIN, 10 or 14 digits, dashes ok (14-08-120-017-0000). Only have an address? /v1/search first.
        schema:
          type: string
      x-payment-info:
        price:
          mode: fixed
          amount: '0.10'
          currency: USD
        protocols:
        - x402:
            x402Version: 2
            payTo: '0x98D530C0667A4B18e692F182DdCAb1c2bECb5B9B'
            accepts:
            - scheme: exact
              network: eip155:8453
              asset: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913'
              currency: USDC
              payTo: '0x98D530C0667A4B18e692F182DdCAb1c2bECb5B9B'
            - scheme: exact
              network: solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp
              asset: EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v
              currency: USDC
              payTo: G3qr8ahZnuFSYjvrCYM4LLDdoLzFq8Boq9XrURVcA9YF
            asset: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913'
            network: eip155:8453
      responses:
        '200':
          description: Paid result.
          content:
            application/json:
              schema:
                type: object
                properties:
                  pin:
                    type: string
                  comps:
                    type: array
                    items:
                      type: object
                      properties:
                        pin:
                          type: string
                        prop_address:
                          type: string
                        sale_date:
                          type: string
                        sale_price:
                          type: number
                        deed_type:
                          type: string
                        comp_class:
                          type: string
                        distance_m:
                          type: number
                          description: metres from the subject parcel
                  method:
                    type: string
                    description: which matching rung produced these comps
                  implied_range:
                    type: object
                    properties:
                      low:
                        type: number
                      median:
                        type: number
                      high:
                        type: number
                      n:
                        type: integer
              example:
                pin: 09253060510000
                comps:
                - pin: 09253140190000
                  prop_address: 7452 N OTTAWA AVE
                  sale_date: '2019-08-16'
                  sale_price: 567500
                  deed_type: Warranty
                implied_range:
                  low: 385000
                  median: 470000
                  high: 567500
                  n: 7
        '402':
          description: 'Payment required (x402): pay per the returned challenge and retry the request.'
        '400':
          description: invalid_pin — PIN must be 14 digits (or the 10-digit form, dashed or not).
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: stable machine-readable code
                  detail:
                    type: string
                    description: how to fix the request, in prose
              example:
                error: invalid_pin
        '404':
          description: not_found — well-formed PIN that is not in the Cook County parcel universe (coverage is Cook County only).
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: stable machine-readable code
                  detail:
                    type: string
                    description: how to fix the request, in prose
              example:
                error: not_found
        '429':
          description: rate_limited — per-IP limit; honor the Retry-After header (60s) and retry.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: stable machine-readable code
                  detail:
                    type: string
                    description: how to fix the request, in prose
              example:
                error: rate_limited
        '503':
          description: busy — capacity shed, retryable; honor Retry-After (2s). Not a failure of the request itself.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: stable machine-readable code
                  detail:
                    type: string
                    description: how to fix the request, in prose
              example:
                error: busy
      tags:
      - Comps
x-payment:
  protocol: x402
  x402Version: 2
  accepts:
  - scheme: exact
    network: eip155:8453
    asset: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913'
    currency: USDC
    payTo: '0x98D530C0667A4B18e692F182DdCAb1c2bECb5B9B'
  - scheme: exact
    network: solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp
    asset: EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v
    currency: USDC
    payTo: G3qr8ahZnuFSYjvrCYM4LLDdoLzFq8Boq9XrURVcA9YF