{"contractVersion":"parcelops.connector.v1","name":"us-public-assessments","displayName":"US Public Assessments","description":"Search selected official state, county, and major-city assessment APIs, including the Woodbury County Assessor source for Sioux City, Iowa; compare up to three published years and prepare verification or appeal next steps.","tags":["united-states","property","assessment","history","residential","commercial","market-value","property-tax","public-data","iowa","woodbury-county","sioux-city"],"authentication":{"type":"none","required":false},"provenance":{"sourceName":"US state and local assessment authorities","sourceUrl":"https://www.arcgis.com/","apiBaseUrl":"https://services.arcgis.com/"},"freshness":{"status":"declared","value":{"mode":"scheduled","observedAtField":"assessments.year","updatedAtField":"assessments.sourceUpdatedAt","notes":"ParcelOps preserves each source year or update timestamp. User-initiated reads may reuse a short-lived, release-scoped result cache before revalidating with the publisher."}},"coverage":{"geographic":{"status":"declared","value":["Connecticut, Florida, Idaho, Massachusetts, Minnesota, Montana, New York outside New York City, North Carolina, Utah, Washington, and Wisconsin","Woodbury County, Iowa, including Sioux City","Cook County, Illinois; Detroit, Michigan; San Francisco, California; and Washington, DC","Eleven Texas metro counties through a first-party appraisal reader that each deployment enables separately"]},"temporal":{"status":"declared","value":{"start":"1999","notes":"Cook County, New York, and San Francisco publish multi-year rolls. Connecticut, Detroit, DC, and Woodbury County publish current and prior/proposed values. Other sources expose their latest public assessment snapshot."}}},"methods":{"total":5,"items":[{"name":"listSources","description":"List public assessment sources, authority, history depth, attribution, and known gaps.","inputSchema":{"type":"object","properties":{"state":{"type":"string","maxLength":40},"historyMode":{"type":"string","enum":["multi_year","current_and_previous","current_only"]}},"required":[],"additionalProperties":false},"access":{"classification":"read"},"freshness":{"status":"declared","value":{"mode":"scheduled","observedAtField":"assessments.year","updatedAtField":"assessments.sourceUpdatedAt","notes":"ParcelOps preserves each source year or update timestamp. User-initiated reads may reuse a short-lived, release-scoped result cache before revalidating with the publisher."},"scope":"connector"},"entities":{"status":"declared","value":["assessment-source"]},"pagination":{"status":"declared","value":{"style":"none"}},"output":{"schema":{"status":"declared","value":{"type":"object","properties":{"count":{"type":"integer","minimum":0},"sources":{"type":"array","items":{"type":"object","additionalProperties":true}},"note":{"type":"string"}},"required":["count","sources"],"additionalProperties":true}},"units":{"status":"not_declared"},"coordinateReferenceSystem":{"status":"not_declared"}},"caveats":["Coverage, terminology, exemptions, and update timing vary by state, county, and municipality.","Assessed, appraised, taxable, and market values remain separate; results are not verified sale prices or independent appraisals.","Owner and mailing-list fields, parcel geometry, bulk browsing, and background synchronization are intentionally omitted. Bounded read results may be cached for 30 minutes and served stale for up to 60 additional minutes while revalidating.","Current API records do not establish title, legal boundaries, exemption eligibility, or an open appeal deadline."]},{"name":"searchProperties","description":"Find up to five address or parcel candidates in one explicitly selected public assessment source.","notes":"Provide address or parcelId; inline source examples avoid a listSources call.","requiredParams":["source"],"inputSchema":{"type":"object","properties":{"source":{"type":"string","pattern":"^[a-z0-9-]{3,100}$","description":"Source ID returned by listSources. For Woodbury County and Sioux City, Iowa, use woodbury-county-ia-assessments.","examples":["woodbury-county-ia-assessments"]},"streetAddress":{"type":"string","minLength":3,"maxLength":200},"parcelId":{"type":"string","minLength":1,"maxLength":200},"city":{"type":"string","maxLength":120},"county":{"type":"string","maxLength":120},"postalCode":{"type":"string","maxLength":20},"municipalityCode":{"type":"string","maxLength":20,"description":"Required with address search for very large keyed sources such as the New York assessment roll."},"limit":{"type":"integer","minimum":1,"maximum":5,"default":5}},"required":["source"],"additionalProperties":false},"access":{"classification":"read"},"freshness":{"status":"declared","value":{"mode":"scheduled","observedAtField":"assessments.year","updatedAtField":"assessments.sourceUpdatedAt","notes":"ParcelOps preserves each source year or update timestamp. User-initiated reads may reuse a short-lived, release-scoped result cache before revalidating with the publisher."},"scope":"connector"},"entities":{"status":"declared","value":["property","parcel"]},"pagination":{"status":"declared","value":{"style":"none"}},"output":{"schema":{"status":"declared","value":{"type":"object","properties":{"kind":{"const":"parcelops.public-data"},"schemaVersion":{"type":"string"},"records":{"type":"array","maxItems":5,"items":{"type":"object","properties":{"source":{"type":["string","null"]},"sourceName":{"type":["string","null"]},"sourceObjectId":{"type":["string","number","null"]},"parcelId":{"type":["string","null"]},"alternateParcelId":{"type":["string","null"]},"owner":{"type":["string","null"]},"ownerName":{"type":["string","null"]},"siteAddress":{"type":["string","null"]},"address":{"type":["string","null"]},"mailingAddress":{"type":["string","null"]},"city":{"type":["string","null"]},"county":{"type":["string","null"]},"state":{"type":["string","null"]},"stateCode":{"type":["string","null"]},"postalCode":{"type":["string","null"]},"marketValue":{"type":["number","null"]},"assessedValue":{"type":["number","null"]},"taxableValue":{"type":["number","null"]},"landValue":{"type":["number","null"]},"improvementValue":{"type":["number","null"]},"salePrice":{"type":["number","null"]},"saleDate":{"type":["string","null"]},"saleYear":{"type":["integer","string","null"]},"yearBuilt":{"type":["integer","string","null"]},"area":{"type":["number","null"]},"areaUnit":{"type":["string","null"]},"acreage":{"type":["number","null"]},"landUse":{"type":["string","null"]},"legalDescription":{"type":["string","null"]},"sourceUpdatedAt":{"type":["string","null"]},"coverage":{"type":"object","properties":{"status":{"const":"attributes_not_published"},"message":{"type":"string"}},"required":["status","message"],"additionalProperties":true},"sourceAttributes":{"type":["object","null"],"additionalProperties":true}},"additionalProperties":true}},"summary":{"type":"object","properties":{"matchedRecords":{"type":["integer","null"],"minimum":0},"returnedRecords":{"type":"integer","minimum":0,"maximum":5},"truncated":{"type":"boolean"}},"required":["matchedRecords","returnedRecords","truncated"],"additionalProperties":true},"source":{"type":"object","additionalProperties":true},"caveats":{"type":"array","items":{"type":"string"}}},"required":["kind","records","summary","source","caveats"],"additionalProperties":true}},"units":{"status":"not_declared"},"coordinateReferenceSystem":{"status":"not_declared"}},"caveats":["Coverage, terminology, exemptions, and update timing vary by state, county, and municipality.","Assessed, appraised, taxable, and market values remain separate; results are not verified sale prices or independent appraisals.","Owner and mailing-list fields, parcel geometry, bulk browsing, and background synchronization are intentionally omitted. Bounded read results may be cached for 30 minutes and served stale for up to 60 additional minutes while revalidating.","Current API records do not establish title, legal boundaries, exemption eligibility, or an open appeal deadline.","Candidate results require selection and verification before history retrieval."]},{"name":"getPropertyHistory","description":"Return the latest available record or up to three requested assessment years for one search result.","requiredParams":["propertyKey"],"inputSchema":{"type":"object","properties":{"propertyKey":{"type":"string","pattern":"^[A-Za-z0-9_-]{4,1000}$","description":"Opaque key returned by searchProperties."},"years":{"type":"array","maxItems":3,"uniqueItems":true,"items":{"type":"integer","minimum":1900,"maximum":2100}}},"required":["propertyKey"],"additionalProperties":false},"access":{"classification":"read"},"freshness":{"status":"declared","value":{"mode":"scheduled","observedAtField":"assessments.year","updatedAtField":"assessments.sourceUpdatedAt","notes":"ParcelOps preserves each source year or update timestamp. User-initiated reads may reuse a short-lived, release-scoped result cache before revalidating with the publisher."},"scope":"connector"},"entities":{"status":"declared","value":["property","assessment"]},"pagination":{"status":"declared","value":{"style":"none"}},"output":{"schema":{"status":"declared","value":{"type":"object","properties":{"found":{"type":"boolean"},"property":{"type":"object","properties":{"source":{"type":["string","null"]},"sourceName":{"type":["string","null"]},"sourceObjectId":{"type":["string","number","null"]},"parcelId":{"type":["string","null"]},"alternateParcelId":{"type":["string","null"]},"owner":{"type":["string","null"]},"ownerName":{"type":["string","null"]},"siteAddress":{"type":["string","null"]},"address":{"type":["string","null"]},"mailingAddress":{"type":["string","null"]},"city":{"type":["string","null"]},"county":{"type":["string","null"]},"state":{"type":["string","null"]},"stateCode":{"type":["string","null"]},"postalCode":{"type":["string","null"]},"marketValue":{"type":["number","null"]},"assessedValue":{"type":["number","null"]},"taxableValue":{"type":["number","null"]},"landValue":{"type":["number","null"]},"improvementValue":{"type":["number","null"]},"salePrice":{"type":["number","null"]},"saleDate":{"type":["string","null"]},"saleYear":{"type":["integer","string","null"]},"yearBuilt":{"type":["integer","string","null"]},"area":{"type":["number","null"]},"areaUnit":{"type":["string","null"]},"acreage":{"type":["number","null"]},"landUse":{"type":["string","null"]},"legalDescription":{"type":["string","null"]},"sourceUpdatedAt":{"type":["string","null"]},"coverage":{"type":"object","properties":{"status":{"const":"attributes_not_published"},"message":{"type":"string"}},"required":["status","message"],"additionalProperties":true},"sourceAttributes":{"type":["object","null"],"additionalProperties":true}},"additionalProperties":true},"assessments":{"type":"array","maxItems":3,"items":{"allOf":[{"type":"object","properties":{"source":{"type":["string","null"]},"sourceName":{"type":["string","null"]},"sourceObjectId":{"type":["string","number","null"]},"parcelId":{"type":["string","null"]},"alternateParcelId":{"type":["string","null"]},"owner":{"type":["string","null"]},"ownerName":{"type":["string","null"]},"siteAddress":{"type":["string","null"]},"address":{"type":["string","null"]},"mailingAddress":{"type":["string","null"]},"city":{"type":["string","null"]},"county":{"type":["string","null"]},"state":{"type":["string","null"]},"stateCode":{"type":["string","null"]},"postalCode":{"type":["string","null"]},"marketValue":{"type":["number","null"]},"assessedValue":{"type":["number","null"]},"taxableValue":{"type":["number","null"]},"landValue":{"type":["number","null"]},"improvementValue":{"type":["number","null"]},"salePrice":{"type":["number","null"]},"saleDate":{"type":["string","null"]},"saleYear":{"type":["integer","string","null"]},"yearBuilt":{"type":["integer","string","null"]},"area":{"type":["number","null"]},"areaUnit":{"type":["string","null"]},"acreage":{"type":["number","null"]},"landUse":{"type":["string","null"]},"legalDescription":{"type":["string","null"]},"sourceUpdatedAt":{"type":["string","null"]},"coverage":{"type":"object","properties":{"status":{"const":"attributes_not_published"},"message":{"type":"string"}},"required":["status","message"],"additionalProperties":true},"sourceAttributes":{"type":["object","null"],"additionalProperties":true}},"additionalProperties":true},{"type":"object","properties":{"year":{"type":"integer","minimum":1900,"maximum":2100}},"required":["year"]}]}},"requestedYears":{"type":"array","maxItems":3,"items":{"type":"integer"}},"missingYears":{"type":"array","maxItems":3,"items":{"type":"integer"}},"provenance":{"type":"object","additionalProperties":true},"caveats":{"type":"array","items":{"type":"string"}}},"required":["found","assessments"],"additionalProperties":true}},"units":{"status":"declared","value":{"marketValue":"source currency","assessedValue":"source currency","taxableValue":"source currency","landValue":"source currency","improvementValue":"source currency","salePrice":"source currency"}},"coordinateReferenceSystem":{"status":"not_declared"}},"caveats":["Coverage, terminology, exemptions, and update timing vary by state, county, and municipality.","Assessed, appraised, taxable, and market values remain separate; results are not verified sale prices or independent appraisals.","Owner and mailing-list fields, parcel geometry, bulk browsing, and background synchronization are intentionally omitted. Bounded read results may be cached for 30 minutes and served stale for up to 60 additional minutes while revalidating.","Current API records do not establish title, legal boundaries, exemption eligibility, or an open appeal deadline."]},{"name":"getHomeownerSummary","description":"Explain value changes and give verification, exemption, deadline, and evidence steps.","requiredParams":["propertyKey"],"inputSchema":{"type":"object","properties":{"propertyKey":{"type":"string","pattern":"^[A-Za-z0-9_-]{4,1000}$","description":"Opaque key returned by searchProperties."},"years":{"type":"array","maxItems":3,"uniqueItems":true,"items":{"type":"integer","minimum":1900,"maximum":2100}}},"required":["propertyKey"],"additionalProperties":false},"access":{"classification":"read"},"freshness":{"status":"declared","value":{"mode":"scheduled","observedAtField":"assessments.year","updatedAtField":"assessments.sourceUpdatedAt","notes":"ParcelOps preserves each source year or update timestamp. User-initiated reads may reuse a short-lived, release-scoped result cache before revalidating with the publisher."},"scope":"connector"},"entities":{"status":"not_declared"},"pagination":{"status":"not_declared"},"output":{"schema":{"status":"not_declared"},"units":{"status":"not_declared"},"coordinateReferenceSystem":{"status":"not_declared"}},"caveats":["Coverage, terminology, exemptions, and update timing vary by state, county, and municipality.","Assessed, appraised, taxable, and market values remain separate; results are not verified sale prices or independent appraisals.","Owner and mailing-list fields, parcel geometry, bulk browsing, and background synchronization are intentionally omitted. Bounded read results may be cached for 30 minutes and served stale for up to 60 additional minutes while revalidating.","Current API records do not establish title, legal boundaries, exemption eligibility, or an open appeal deadline."]},{"name":"getServiceInfo","description":"Return live sources, honest coverage limits, and storage and compute safeguards.","inputSchema":{"type":"object","properties":{},"required":[],"additionalProperties":false},"access":{"classification":"read"},"freshness":{"status":"declared","value":{"mode":"scheduled","observedAtField":"assessments.year","updatedAtField":"assessments.sourceUpdatedAt","notes":"ParcelOps preserves each source year or update timestamp. User-initiated reads may reuse a short-lived, release-scoped result cache before revalidating with the publisher."},"scope":"connector"},"entities":{"status":"not_declared"},"pagination":{"status":"not_declared"},"output":{"schema":{"status":"not_declared"},"units":{"status":"not_declared"},"coordinateReferenceSystem":{"status":"not_declared"}},"caveats":["Coverage, terminology, exemptions, and update timing vary by state, county, and municipality.","Assessed, appraised, taxable, and market values remain separate; results are not verified sale prices or independent appraisals.","Owner and mailing-list fields, parcel geometry, bulk browsing, and background synchronization are intentionally omitted. Bounded read results may be cached for 30 minutes and served stale for up to 60 additional minutes while revalidating.","Current API records do not establish title, legal boundaries, exemption eligibility, or an open appeal deadline."]}]},"caveats":["Coverage, terminology, exemptions, and update timing vary by state, county, and municipality.","Assessed, appraised, taxable, and market values remain separate; results are not verified sale prices or independent appraisals.","Owner and mailing-list fields, parcel geometry, bulk browsing, and background synchronization are intentionally omitted. Bounded read results may be cached for 30 minutes and served stale for up to 60 additional minutes while revalidating.","Current API records do not establish title, legal boundaries, exemption eligibility, or an open appeal deadline."]}