{"contractVersion":"parcelops.connector.v1","name":"texas-appraisal-history","displayName":"Texas Appraisal History","description":"Search all 252 Texas counties in the Exempt.Land parcel corpus by address, owner, legal description, map point, or map window; screen rural land by acreage and owner type; and read full appraisal and exemption history for one parcel.","tags":["texas","property","appraisal","history","residential","commercial","market-value","property-tax"],"authentication":{"type":"none","required":false},"provenance":{"sourceName":"Exempt.Land Texas appraisal corpus","sourceUrl":"https://exempt.land/","apiBaseUrl":"https://exempt.land/","documentationUrl":"https://exempt.land/"},"freshness":{"status":"declared","value":{"mode":"scheduled","observedAtField":"provenance.collectedAt","updatedAtField":"property.provenance.sourceUpdatedAt","notes":"Values follow county appraisal collection cycles. Source timestamps are returned when present."}},"coverage":{"geographic":{"status":"declared","value":["Texas — all 252 counties present in the Exempt.Land parcel corpus (~13.2 million parcels)"]},"temporal":{"status":"declared","value":{"start":"2019","notes":"Appraisal history runs from 2019 to the current tax year. The three-year methods default to the previous three completed years; the full timeline returns every collected year."}}},"methods":{"total":12,"items":[{"name":"searchProperties","description":"Find address candidates by street address in any of the 252 Texas counties in the corpus.","requiredParams":["county","streetAddress"],"inputSchema":{"type":"object","properties":{"county":{"type":"string","maxLength":64,"description":"Any Texas county name, such as Harris, Travis, or Gillespie."},"streetAddress":{"type":"string","minLength":3,"maxLength":200,"description":"Number and street only, such as 1200 Main St."},"limit":{"type":"integer","minimum":1,"maximum":25,"default":25}},"required":["county","streetAddress"],"additionalProperties":false},"access":{"classification":"read"},"freshness":{"status":"declared","value":{"mode":"scheduled","observedAtField":"provenance.collectedAt","updatedAtField":"property.provenance.sourceUpdatedAt","notes":"Values follow county appraisal collection cycles. Source timestamps are returned when present."},"scope":"connector"},"entities":{"status":"not_declared"},"pagination":{"status":"not_declared"},"output":{"schema":{"status":"not_declared"},"units":{"status":"not_declared"},"coordinateReferenceSystem":{"status":"not_declared"}},"caveats":["This is county appraisal history, not verified sale history, title evidence, or a legal-boundary source.","City fields are blank in portions of the corpus, so address search requires county plus street address.","Appraisal districts use different land-use codes. Raw labels remain visible beside a convenience residential/commercial classification.","Agricultural and wildlife classification is collected for every appraisal year present, so false means \"not agricultural\". Homestead and over-65 are null on roughly 97% of rows because most county-years were never collected for exemption status: null means unknown, never \"no exemption\". Confirm exemption status with the appraisal district.","Owner entity type (individual, LLC, trust, corporation, and so on) is classified from the district owner-name string, not looked up in a corporate registry. About 31% classify as unknown, so filtering by type silently excludes them.","Owner names are district-published and are frequently abbreviated, misspelled, or stale after a sale. They find candidates rather than prove ownership.","Parcel geometry is appraisal district data, simplified for display. It is not survey grade and does not establish a legal boundary.","District acreage and geometry-derived acreage disagree frequently. Both are returned and neither is silently preferred.","Owner and legal-description search require a county, because a statewide fuzzy scan costs roughly ten times a county-scoped one. Broad or very common terms additionally require an acreage floor of at least 10 acres, or the request is refused rather than run past its three-second limit.","Land screening is supported at 10 acres and above. Below that the query is not index-backed against a 13.2-million-row table and is refused rather than served slowly.","Assessed and capped values are populated for no parcel in this corpus and are not returned at all, rather than returned as nulls that would read as \"no cap applies\"."]},{"name":"getPropertyHistory","description":"Return up to three requested county appraisal years for one search result.","requiredParams":["parcelId"],"inputSchema":{"type":"object","properties":{"parcelId":{"type":"string","pattern":"^[1-9]\\d{0,19}$","description":"ParcelOps parcel ID returned by the address search."},"years":{"type":"array","minItems":1,"maxItems":3,"uniqueItems":true,"items":{"type":"integer","minimum":2019,"maximum":2100},"description":"Up to three tax years. Defaults to the previous three completed years."}},"required":["parcelId"],"additionalProperties":false},"access":{"classification":"read"},"freshness":{"status":"declared","value":{"mode":"scheduled","observedAtField":"provenance.collectedAt","updatedAtField":"property.provenance.sourceUpdatedAt","notes":"Values follow county appraisal collection cycles. Source timestamps are returned when present."},"scope":"connector"},"entities":{"status":"not_declared"},"pagination":{"status":"not_declared"},"output":{"schema":{"status":"not_declared"},"units":{"status":"not_declared"},"coordinateReferenceSystem":{"status":"not_declared"}},"caveats":["This is county appraisal history, not verified sale history, title evidence, or a legal-boundary source.","City fields are blank in portions of the corpus, so address search requires county plus street address.","Appraisal districts use different land-use codes. Raw labels remain visible beside a convenience residential/commercial classification.","Agricultural and wildlife classification is collected for every appraisal year present, so false means \"not agricultural\". Homestead and over-65 are null on roughly 97% of rows because most county-years were never collected for exemption status: null means unknown, never \"no exemption\". Confirm exemption status with the appraisal district.","Owner entity type (individual, LLC, trust, corporation, and so on) is classified from the district owner-name string, not looked up in a corporate registry. About 31% classify as unknown, so filtering by type silently excludes them.","Owner names are district-published and are frequently abbreviated, misspelled, or stale after a sale. They find candidates rather than prove ownership.","Parcel geometry is appraisal district data, simplified for display. It is not survey grade and does not establish a legal boundary.","District acreage and geometry-derived acreage disagree frequently. Both are returned and neither is silently preferred.","Owner and legal-description search require a county, because a statewide fuzzy scan costs roughly ten times a county-scoped one. Broad or very common terms additionally require an acreage floor of at least 10 acres, or the request is refused rather than run past its three-second limit.","Land screening is supported at 10 acres and above. Below that the query is not index-backed against a 13.2-million-row table and is refused rather than served slowly.","Assessed and capped values are populated for no parcel in this corpus and are not returned at all, rather than returned as nulls that would read as \"no cap applies\"."]},{"name":"getHomeownerSummary","description":"Summarize value changes, county contacts, deadline guidance, and homeowner next steps.","requiredParams":["parcelId"],"inputSchema":{"type":"object","properties":{"parcelId":{"type":"string","pattern":"^[1-9]\\d{0,19}$","description":"ParcelOps parcel ID returned by the address search."},"years":{"type":"array","minItems":1,"maxItems":3,"uniqueItems":true,"items":{"type":"integer","minimum":2019,"maximum":2100},"description":"Up to three tax years. Defaults to the previous three completed years."}},"required":["parcelId"],"additionalProperties":false},"access":{"classification":"read"},"freshness":{"status":"declared","value":{"mode":"scheduled","observedAtField":"provenance.collectedAt","updatedAtField":"property.provenance.sourceUpdatedAt","notes":"Values follow county appraisal collection cycles. Source timestamps are returned when present."},"scope":"connector"},"entities":{"status":"not_declared"},"pagination":{"status":"not_declared"},"output":{"schema":{"status":"not_declared"},"units":{"status":"not_declared"},"coordinateReferenceSystem":{"status":"not_declared"}},"caveats":["This is county appraisal history, not verified sale history, title evidence, or a legal-boundary source.","City fields are blank in portions of the corpus, so address search requires county plus street address.","Appraisal districts use different land-use codes. Raw labels remain visible beside a convenience residential/commercial classification.","Agricultural and wildlife classification is collected for every appraisal year present, so false means \"not agricultural\". Homestead and over-65 are null on roughly 97% of rows because most county-years were never collected for exemption status: null means unknown, never \"no exemption\". Confirm exemption status with the appraisal district.","Owner entity type (individual, LLC, trust, corporation, and so on) is classified from the district owner-name string, not looked up in a corporate registry. About 31% classify as unknown, so filtering by type silently excludes them.","Owner names are district-published and are frequently abbreviated, misspelled, or stale after a sale. They find candidates rather than prove ownership.","Parcel geometry is appraisal district data, simplified for display. It is not survey grade and does not establish a legal boundary.","District acreage and geometry-derived acreage disagree frequently. Both are returned and neither is silently preferred.","Owner and legal-description search require a county, because a statewide fuzzy scan costs roughly ten times a county-scoped one. Broad or very common terms additionally require an acreage floor of at least 10 acres, or the request is refused rather than run past its three-second limit.","Land screening is supported at 10 acres and above. Below that the query is not index-backed against a 13.2-million-row table and is refused rather than served slowly.","Assessed and capped values are populated for no parcel in this corpus and are not returned at all, rather than returned as nulls that would read as \"no cap applies\"."]},{"name":"lookupParcel","description":"Return the full county record for one parcel: owner and owner classification, legal description, mailing address, district acquisition date, centroid, bounding box, and both district and geometry-derived acreage.","requiredParams":["parcelId"],"inputSchema":{"type":"object","properties":{"parcelId":{"type":"string","pattern":"^[1-9]\\d{0,19}$","description":"ParcelOps parcel ID returned by any search on this connector."}},"required":["parcelId"],"additionalProperties":false},"access":{"classification":"read"},"freshness":{"status":"declared","value":{"mode":"scheduled","observedAtField":"provenance.collectedAt","updatedAtField":"property.provenance.sourceUpdatedAt","notes":"Values follow county appraisal collection cycles. Source timestamps are returned when present."},"scope":"connector"},"entities":{"status":"not_declared"},"pagination":{"status":"not_declared"},"output":{"schema":{"status":"not_declared"},"units":{"status":"not_declared"},"coordinateReferenceSystem":{"status":"not_declared"}},"caveats":["This is county appraisal history, not verified sale history, title evidence, or a legal-boundary source.","City fields are blank in portions of the corpus, so address search requires county plus street address.","Appraisal districts use different land-use codes. Raw labels remain visible beside a convenience residential/commercial classification.","Agricultural and wildlife classification is collected for every appraisal year present, so false means \"not agricultural\". Homestead and over-65 are null on roughly 97% of rows because most county-years were never collected for exemption status: null means unknown, never \"no exemption\". Confirm exemption status with the appraisal district.","Owner entity type (individual, LLC, trust, corporation, and so on) is classified from the district owner-name string, not looked up in a corporate registry. About 31% classify as unknown, so filtering by type silently excludes them.","Owner names are district-published and are frequently abbreviated, misspelled, or stale after a sale. They find candidates rather than prove ownership.","Parcel geometry is appraisal district data, simplified for display. It is not survey grade and does not establish a legal boundary.","District acreage and geometry-derived acreage disagree frequently. Both are returned and neither is silently preferred.","Owner and legal-description search require a county, because a statewide fuzzy scan costs roughly ten times a county-scoped one. Broad or very common terms additionally require an acreage floor of at least 10 acres, or the request is refused rather than run past its three-second limit.","Land screening is supported at 10 acres and above. Below that the query is not index-backed against a 13.2-million-row table and is refused rather than served slowly.","Assessed and capped values are populated for no parcel in this corpus and are not returned at all, rather than returned as nulls that would read as \"no cap applies\"."]},{"name":"getParcelTimeline","description":"Return every collected appraisal year for one parcel, including agricultural, wildlife, homestead, over-65, and exemption-code fields. Null exemption flags mean not collected, never \"no exemption\".","requiredParams":["parcelId"],"inputSchema":{"type":"object","properties":{"parcelId":{"type":"string","pattern":"^[1-9]\\d{0,19}$","description":"ParcelOps parcel ID returned by any search on this connector."},"years":{"type":"array","minItems":1,"maxItems":12,"uniqueItems":true,"items":{"type":"integer","minimum":2019,"maximum":2100},"description":"Optional tax years. Omit to return every collected year from 2019 onward."}},"required":["parcelId"],"additionalProperties":false},"access":{"classification":"read"},"freshness":{"status":"declared","value":{"mode":"scheduled","observedAtField":"provenance.collectedAt","updatedAtField":"property.provenance.sourceUpdatedAt","notes":"Values follow county appraisal collection cycles. Source timestamps are returned when present."},"scope":"connector"},"entities":{"status":"not_declared"},"pagination":{"status":"not_declared"},"output":{"schema":{"status":"not_declared"},"units":{"status":"not_declared"},"coordinateReferenceSystem":{"status":"not_declared"}},"caveats":["This is county appraisal history, not verified sale history, title evidence, or a legal-boundary source.","City fields are blank in portions of the corpus, so address search requires county plus street address.","Appraisal districts use different land-use codes. Raw labels remain visible beside a convenience residential/commercial classification.","Agricultural and wildlife classification is collected for every appraisal year present, so false means \"not agricultural\". Homestead and over-65 are null on roughly 97% of rows because most county-years were never collected for exemption status: null means unknown, never \"no exemption\". Confirm exemption status with the appraisal district.","Owner entity type (individual, LLC, trust, corporation, and so on) is classified from the district owner-name string, not looked up in a corporate registry. About 31% classify as unknown, so filtering by type silently excludes them.","Owner names are district-published and are frequently abbreviated, misspelled, or stale after a sale. They find candidates rather than prove ownership.","Parcel geometry is appraisal district data, simplified for display. It is not survey grade and does not establish a legal boundary.","District acreage and geometry-derived acreage disagree frequently. Both are returned and neither is silently preferred.","Owner and legal-description search require a county, because a statewide fuzzy scan costs roughly ten times a county-scoped one. Broad or very common terms additionally require an acreage floor of at least 10 acres, or the request is refused rather than run past its three-second limit.","Land screening is supported at 10 acres and above. Below that the query is not index-backed against a 13.2-million-row table and is refused rather than served slowly.","Assessed and capped values are populated for no parcel in this corpus and are not returned at all, rather than returned as nulls that would read as \"no cap applies\"."]},{"name":"searchByOwner","description":"Find parcels in one Texas county whose appraisal district owner name contains the given text, largest parcels first.","requiredParams":["county","ownerName"],"inputSchema":{"type":"object","properties":{"county":{"type":"string","maxLength":64,"description":"Texas county name. Required: a statewide fuzzy scan costs about ten times a county-scoped one."},"ownerName":{"type":"string","minLength":3,"maxLength":80,"description":"Owner name or fragment, such as King Ranch."},"minAcres":{"type":"number","minimum":10,"description":"Optional acreage floor, minimum 10. Required in practice for short or very common terms, which otherwise exceed the three-second limit."},"limit":{"type":"integer","minimum":1,"maximum":50,"default":25}},"required":["county","ownerName"],"additionalProperties":false},"access":{"classification":"read"},"freshness":{"status":"declared","value":{"mode":"scheduled","observedAtField":"provenance.collectedAt","updatedAtField":"property.provenance.sourceUpdatedAt","notes":"Values follow county appraisal collection cycles. Source timestamps are returned when present."},"scope":"connector"},"entities":{"status":"not_declared"},"pagination":{"status":"not_declared"},"output":{"schema":{"status":"not_declared"},"units":{"status":"not_declared"},"coordinateReferenceSystem":{"status":"not_declared"}},"caveats":["This is county appraisal history, not verified sale history, title evidence, or a legal-boundary source.","City fields are blank in portions of the corpus, so address search requires county plus street address.","Appraisal districts use different land-use codes. Raw labels remain visible beside a convenience residential/commercial classification.","Agricultural and wildlife classification is collected for every appraisal year present, so false means \"not agricultural\". Homestead and over-65 are null on roughly 97% of rows because most county-years were never collected for exemption status: null means unknown, never \"no exemption\". Confirm exemption status with the appraisal district.","Owner entity type (individual, LLC, trust, corporation, and so on) is classified from the district owner-name string, not looked up in a corporate registry. About 31% classify as unknown, so filtering by type silently excludes them.","Owner names are district-published and are frequently abbreviated, misspelled, or stale after a sale. They find candidates rather than prove ownership.","Parcel geometry is appraisal district data, simplified for display. It is not survey grade and does not establish a legal boundary.","District acreage and geometry-derived acreage disagree frequently. Both are returned and neither is silently preferred.","Owner and legal-description search require a county, because a statewide fuzzy scan costs roughly ten times a county-scoped one. Broad or very common terms additionally require an acreage floor of at least 10 acres, or the request is refused rather than run past its three-second limit.","Land screening is supported at 10 acres and above. Below that the query is not index-backed against a 13.2-million-row table and is refused rather than served slowly.","Assessed and capped values are populated for no parcel in this corpus and are not returned at all, rather than returned as nulls that would read as \"no cap applies\"."]},{"name":"screenLand","description":"Screen rural land in one Texas county by acreage range and owner entity type, largest parcels first. Supported at 10 acres and above.","requiredParams":["county","minAcres"],"inputSchema":{"type":"object","properties":{"county":{"type":"string","maxLength":64,"description":"Texas county name, such as Gillespie."},"minAcres":{"type":"number","minimum":10,"description":"Acreage floor, minimum 10. Smaller floors are not index-backed and are refused rather than run slowly."},"maxAcres":{"type":"number","minimum":10,"description":"Optional acreage ceiling; must exceed minAcres."},"ownerEntityTypes":{"type":"array","minItems":1,"maxItems":8,"uniqueItems":true,"items":{"type":"string","enum":["individual","llc","corporation","trust","partnership","government","exempt_org","unknown"]},"description":"Optional owner classification filter. About 31% of parcels classify as unknown, so filtering excludes them."},"limit":{"type":"integer","minimum":1,"maximum":100,"default":50}},"required":["county","minAcres"],"additionalProperties":false},"access":{"classification":"read"},"freshness":{"status":"declared","value":{"mode":"scheduled","observedAtField":"provenance.collectedAt","updatedAtField":"property.provenance.sourceUpdatedAt","notes":"Values follow county appraisal collection cycles. Source timestamps are returned when present."},"scope":"connector"},"entities":{"status":"not_declared"},"pagination":{"status":"not_declared"},"output":{"schema":{"status":"not_declared"},"units":{"status":"not_declared"},"coordinateReferenceSystem":{"status":"not_declared"}},"caveats":["This is county appraisal history, not verified sale history, title evidence, or a legal-boundary source.","City fields are blank in portions of the corpus, so address search requires county plus street address.","Appraisal districts use different land-use codes. Raw labels remain visible beside a convenience residential/commercial classification.","Agricultural and wildlife classification is collected for every appraisal year present, so false means \"not agricultural\". Homestead and over-65 are null on roughly 97% of rows because most county-years were never collected for exemption status: null means unknown, never \"no exemption\". Confirm exemption status with the appraisal district.","Owner entity type (individual, LLC, trust, corporation, and so on) is classified from the district owner-name string, not looked up in a corporate registry. About 31% classify as unknown, so filtering by type silently excludes them.","Owner names are district-published and are frequently abbreviated, misspelled, or stale after a sale. They find candidates rather than prove ownership.","Parcel geometry is appraisal district data, simplified for display. It is not survey grade and does not establish a legal boundary.","District acreage and geometry-derived acreage disagree frequently. Both are returned and neither is silently preferred.","Owner and legal-description search require a county, because a statewide fuzzy scan costs roughly ten times a county-scoped one. Broad or very common terms additionally require an acreage floor of at least 10 acres, or the request is refused rather than run past its three-second limit.","Land screening is supported at 10 acres and above. Below that the query is not index-backed against a 13.2-million-row table and is refused rather than served slowly.","Assessed and capped values are populated for no parcel in this corpus and are not returned at all, rather than returned as nulls that would read as \"no cap applies\"."]},{"name":"identifyParcelAtPoint","description":"Return the parcel whose appraisal district boundary contains one WGS84 coordinate inside Texas.","requiredParams":["latitude","longitude"],"inputSchema":{"type":"object","properties":{"latitude":{"type":"number","minimum":25.5,"maximum":36.7,"description":"WGS84 latitude inside Texas."},"longitude":{"type":"number","minimum":-107,"maximum":-93.4,"description":"WGS84 longitude inside Texas."},"limit":{"type":"integer","minimum":1,"maximum":10,"default":5}},"required":["latitude","longitude"],"additionalProperties":false},"access":{"classification":"read"},"freshness":{"status":"declared","value":{"mode":"scheduled","observedAtField":"provenance.collectedAt","updatedAtField":"property.provenance.sourceUpdatedAt","notes":"Values follow county appraisal collection cycles. Source timestamps are returned when present."},"scope":"connector"},"entities":{"status":"not_declared"},"pagination":{"status":"not_declared"},"output":{"schema":{"status":"not_declared"},"units":{"status":"not_declared"},"coordinateReferenceSystem":{"status":"not_declared"}},"caveats":["This is county appraisal history, not verified sale history, title evidence, or a legal-boundary source.","City fields are blank in portions of the corpus, so address search requires county plus street address.","Appraisal districts use different land-use codes. Raw labels remain visible beside a convenience residential/commercial classification.","Agricultural and wildlife classification is collected for every appraisal year present, so false means \"not agricultural\". Homestead and over-65 are null on roughly 97% of rows because most county-years were never collected for exemption status: null means unknown, never \"no exemption\". Confirm exemption status with the appraisal district.","Owner entity type (individual, LLC, trust, corporation, and so on) is classified from the district owner-name string, not looked up in a corporate registry. About 31% classify as unknown, so filtering by type silently excludes them.","Owner names are district-published and are frequently abbreviated, misspelled, or stale after a sale. They find candidates rather than prove ownership.","Parcel geometry is appraisal district data, simplified for display. It is not survey grade and does not establish a legal boundary.","District acreage and geometry-derived acreage disagree frequently. Both are returned and neither is silently preferred.","Owner and legal-description search require a county, because a statewide fuzzy scan costs roughly ten times a county-scoped one. Broad or very common terms additionally require an acreage floor of at least 10 acres, or the request is refused rather than run past its three-second limit.","Land screening is supported at 10 acres and above. Below that the query is not index-backed against a 13.2-million-row table and is refused rather than served slowly.","Assessed and capped values are populated for no parcel in this corpus and are not returned at all, rather than returned as nulls that would read as \"no cap applies\"."]},{"name":"getParcelsInArea","description":"Return parcels intersecting a WGS84 bounding box inside Texas, for map windows up to 0.25 square degrees.","requiredParams":["bbox"],"inputSchema":{"type":"object","properties":{"bbox":{"type":"string","maxLength":120,"description":"Bounding box as minLon,minLat,maxLon,maxLat. Must fall inside Texas and cover at most 0.25 square degrees, roughly a 50 km window."},"limit":{"type":"integer","minimum":1,"maximum":200,"default":50}},"required":["bbox"],"additionalProperties":false},"access":{"classification":"read"},"freshness":{"status":"declared","value":{"mode":"scheduled","observedAtField":"provenance.collectedAt","updatedAtField":"property.provenance.sourceUpdatedAt","notes":"Values follow county appraisal collection cycles. Source timestamps are returned when present."},"scope":"connector"},"entities":{"status":"not_declared"},"pagination":{"status":"not_declared"},"output":{"schema":{"status":"not_declared"},"units":{"status":"not_declared"},"coordinateReferenceSystem":{"status":"not_declared"}},"caveats":["This is county appraisal history, not verified sale history, title evidence, or a legal-boundary source.","City fields are blank in portions of the corpus, so address search requires county plus street address.","Appraisal districts use different land-use codes. Raw labels remain visible beside a convenience residential/commercial classification.","Agricultural and wildlife classification is collected for every appraisal year present, so false means \"not agricultural\". Homestead and over-65 are null on roughly 97% of rows because most county-years were never collected for exemption status: null means unknown, never \"no exemption\". Confirm exemption status with the appraisal district.","Owner entity type (individual, LLC, trust, corporation, and so on) is classified from the district owner-name string, not looked up in a corporate registry. About 31% classify as unknown, so filtering by type silently excludes them.","Owner names are district-published and are frequently abbreviated, misspelled, or stale after a sale. They find candidates rather than prove ownership.","Parcel geometry is appraisal district data, simplified for display. It is not survey grade and does not establish a legal boundary.","District acreage and geometry-derived acreage disagree frequently. Both are returned and neither is silently preferred.","Owner and legal-description search require a county, because a statewide fuzzy scan costs roughly ten times a county-scoped one. Broad or very common terms additionally require an acreage floor of at least 10 acres, or the request is refused rather than run past its three-second limit.","Land screening is supported at 10 acres and above. Below that the query is not index-backed against a 13.2-million-row table and is refused rather than served slowly.","Assessed and capped values are populated for no parcel in this corpus and are not returned at all, rather than returned as nulls that would read as \"no cap applies\"."]},{"name":"searchByLegalDescription","description":"Find parcels in one Texas county whose legal description contains the given subdivision, block, lot, abstract, or survey text.","requiredParams":["county","query"],"inputSchema":{"type":"object","properties":{"county":{"type":"string","maxLength":64,"description":"Texas county name."},"query":{"type":"string","minLength":3,"maxLength":120,"description":"Legal description text, such as BLOCK 5 LOT 12."},"minAcres":{"type":"number","minimum":10,"description":"Optional acreage floor, minimum 10. Required in practice for very common terms such as lot or blk."},"limit":{"type":"integer","minimum":1,"maximum":50,"default":25}},"required":["county","query"],"additionalProperties":false},"access":{"classification":"read"},"freshness":{"status":"declared","value":{"mode":"scheduled","observedAtField":"provenance.collectedAt","updatedAtField":"property.provenance.sourceUpdatedAt","notes":"Values follow county appraisal collection cycles. Source timestamps are returned when present."},"scope":"connector"},"entities":{"status":"not_declared"},"pagination":{"status":"not_declared"},"output":{"schema":{"status":"not_declared"},"units":{"status":"not_declared"},"coordinateReferenceSystem":{"status":"not_declared"}},"caveats":["This is county appraisal history, not verified sale history, title evidence, or a legal-boundary source.","City fields are blank in portions of the corpus, so address search requires county plus street address.","Appraisal districts use different land-use codes. Raw labels remain visible beside a convenience residential/commercial classification.","Agricultural and wildlife classification is collected for every appraisal year present, so false means \"not agricultural\". Homestead and over-65 are null on roughly 97% of rows because most county-years were never collected for exemption status: null means unknown, never \"no exemption\". Confirm exemption status with the appraisal district.","Owner entity type (individual, LLC, trust, corporation, and so on) is classified from the district owner-name string, not looked up in a corporate registry. About 31% classify as unknown, so filtering by type silently excludes them.","Owner names are district-published and are frequently abbreviated, misspelled, or stale after a sale. They find candidates rather than prove ownership.","Parcel geometry is appraisal district data, simplified for display. It is not survey grade and does not establish a legal boundary.","District acreage and geometry-derived acreage disagree frequently. Both are returned and neither is silently preferred.","Owner and legal-description search require a county, because a statewide fuzzy scan costs roughly ten times a county-scoped one. Broad or very common terms additionally require an acreage floor of at least 10 acres, or the request is refused rather than run past its three-second limit.","Land screening is supported at 10 acres and above. Below that the query is not index-backed against a 13.2-million-row table and is refused rather than served slowly.","Assessed and capped values are populated for no parcel in this corpus and are not returned at all, rather than returned as nulls that would read as \"no cap applies\"."]},{"name":"getParcelBoundary","description":"Return one parcel boundary as GeoJSON, simplified for display. Not survey grade and not a legal boundary.","requiredParams":["parcelId"],"inputSchema":{"type":"object","properties":{"parcelId":{"type":"string","pattern":"^[1-9]\\d{0,19}$","description":"ParcelOps parcel ID returned by any search on this connector."}},"required":["parcelId"],"additionalProperties":false},"access":{"classification":"read"},"freshness":{"status":"declared","value":{"mode":"scheduled","observedAtField":"provenance.collectedAt","updatedAtField":"property.provenance.sourceUpdatedAt","notes":"Values follow county appraisal collection cycles. Source timestamps are returned when present."},"scope":"connector"},"entities":{"status":"not_declared"},"pagination":{"status":"not_declared"},"output":{"schema":{"status":"not_declared"},"units":{"status":"not_declared"},"coordinateReferenceSystem":{"status":"not_declared"}},"caveats":["This is county appraisal history, not verified sale history, title evidence, or a legal-boundary source.","City fields are blank in portions of the corpus, so address search requires county plus street address.","Appraisal districts use different land-use codes. Raw labels remain visible beside a convenience residential/commercial classification.","Agricultural and wildlife classification is collected for every appraisal year present, so false means \"not agricultural\". Homestead and over-65 are null on roughly 97% of rows because most county-years were never collected for exemption status: null means unknown, never \"no exemption\". Confirm exemption status with the appraisal district.","Owner entity type (individual, LLC, trust, corporation, and so on) is classified from the district owner-name string, not looked up in a corporate registry. About 31% classify as unknown, so filtering by type silently excludes them.","Owner names are district-published and are frequently abbreviated, misspelled, or stale after a sale. They find candidates rather than prove ownership.","Parcel geometry is appraisal district data, simplified for display. It is not survey grade and does not establish a legal boundary.","District acreage and geometry-derived acreage disagree frequently. Both are returned and neither is silently preferred.","Owner and legal-description search require a county, because a statewide fuzzy scan costs roughly ten times a county-scoped one. Broad or very common terms additionally require an acreage floor of at least 10 acres, or the request is refused rather than run past its three-second limit.","Land screening is supported at 10 acres and above. Below that the query is not index-backed against a 13.2-million-row table and is refused rather than served slowly.","Assessed and capped values are populated for no parcel in this corpus and are not returned at all, rather than returned as nulls that would read as \"no cap applies\"."]},{"name":"getServiceInfo","description":"Return county and field coverage, data gaps, and storage and compute safeguards.","inputSchema":{"type":"object","properties":{},"required":[],"additionalProperties":false},"access":{"classification":"read"},"freshness":{"status":"declared","value":{"mode":"scheduled","observedAtField":"provenance.collectedAt","updatedAtField":"property.provenance.sourceUpdatedAt","notes":"Values follow county appraisal collection cycles. Source timestamps are returned when present."},"scope":"connector"},"entities":{"status":"not_declared"},"pagination":{"status":"not_declared"},"output":{"schema":{"status":"not_declared"},"units":{"status":"not_declared"},"coordinateReferenceSystem":{"status":"not_declared"}},"caveats":["This is county appraisal history, not verified sale history, title evidence, or a legal-boundary source.","City fields are blank in portions of the corpus, so address search requires county plus street address.","Appraisal districts use different land-use codes. Raw labels remain visible beside a convenience residential/commercial classification.","Agricultural and wildlife classification is collected for every appraisal year present, so false means \"not agricultural\". Homestead and over-65 are null on roughly 97% of rows because most county-years were never collected for exemption status: null means unknown, never \"no exemption\". Confirm exemption status with the appraisal district.","Owner entity type (individual, LLC, trust, corporation, and so on) is classified from the district owner-name string, not looked up in a corporate registry. About 31% classify as unknown, so filtering by type silently excludes them.","Owner names are district-published and are frequently abbreviated, misspelled, or stale after a sale. They find candidates rather than prove ownership.","Parcel geometry is appraisal district data, simplified for display. It is not survey grade and does not establish a legal boundary.","District acreage and geometry-derived acreage disagree frequently. Both are returned and neither is silently preferred.","Owner and legal-description search require a county, because a statewide fuzzy scan costs roughly ten times a county-scoped one. Broad or very common terms additionally require an acreage floor of at least 10 acres, or the request is refused rather than run past its three-second limit.","Land screening is supported at 10 acres and above. Below that the query is not index-backed against a 13.2-million-row table and is refused rather than served slowly.","Assessed and capped values are populated for no parcel in this corpus and are not returned at all, rather than returned as nulls that would read as \"no cap applies\"."]}]},"caveats":["This is county appraisal history, not verified sale history, title evidence, or a legal-boundary source.","City fields are blank in portions of the corpus, so address search requires county plus street address.","Appraisal districts use different land-use codes. Raw labels remain visible beside a convenience residential/commercial classification.","Agricultural and wildlife classification is collected for every appraisal year present, so false means \"not agricultural\". Homestead and over-65 are null on roughly 97% of rows because most county-years were never collected for exemption status: null means unknown, never \"no exemption\". Confirm exemption status with the appraisal district.","Owner entity type (individual, LLC, trust, corporation, and so on) is classified from the district owner-name string, not looked up in a corporate registry. About 31% classify as unknown, so filtering by type silently excludes them.","Owner names are district-published and are frequently abbreviated, misspelled, or stale after a sale. They find candidates rather than prove ownership.","Parcel geometry is appraisal district data, simplified for display. It is not survey grade and does not establish a legal boundary.","District acreage and geometry-derived acreage disagree frequently. Both are returned and neither is silently preferred.","Owner and legal-description search require a county, because a statewide fuzzy scan costs roughly ten times a county-scoped one. Broad or very common terms additionally require an acreage floor of at least 10 acres, or the request is refused rather than run past its three-second limit.","Land screening is supported at 10 acres and above. Below that the query is not index-backed against a 13.2-million-row table and is refused rather than served slowly.","Assessed and capped values are populated for no parcel in this corpus and are not returned at all, rather than returned as nulls that would read as \"no cap applies\"."]}