# HelpMeProtest > Free, self-service tool that helps Texas homeowners protest their property-tax > appraisals. It builds an unequal-appraisal evidence packet and a ready-to-file > written argument from public appraisal-district records (Texas Property Tax > Code §41.43(b)(3)). No account, no fee, nothing entered is stored. ## Key pages - [Home](https://helpmeprotest.com/) — what the tool does and how it works - [Guide: how to protest your property taxes](https://helpmeprotest.com/guide) — the full process and timeline - [Counties & data sources](https://helpmeprotest.com/sources) — live counties + data provenance - [Deadlines](https://helpmeprotest.com/deadlines) — the May 15 / 30-day rule and county table - [All 254 Texas counties](https://helpmeprotest.com/counties) — appraisal district and e-file status for every county - [Sample evidence packet](https://helpmeprotest.com/sample-packet) — example output - [FAQ](https://helpmeprotest.com/faq) and [About](https://helpmeprotest.com/about) - [Exemptions guide](https://helpmeprotest.com/exemptions) — homestead, over-65, disability - [Contact](https://helpmeprotest.com/contact) - [Terms](https://helpmeprotest.com/terms) and [Privacy](https://helpmeprotest.com/privacy) - [Find your county by address](https://helpmeprotest.com/find-county) ## Full-tool counties - [Harris County](https://helpmeprotest.com/harris) — HCAD full evidence generator - [Dallas County](https://helpmeprotest.com/dallas) — DCAD full evidence generator - [Tarrant County](https://helpmeprotest.com/tarrant) — TAD full evidence generator - [Bexar County](https://helpmeprotest.com/bexar) — BCAD full evidence generator - [Travis County](https://helpmeprotest.com/travis) — TCAD full evidence generator - [Collin County](https://helpmeprotest.com/collin) — Collin CAD full evidence generator - [Denton County](https://helpmeprotest.com/denton) — DCAD full evidence generator - [Fort Bend County](https://helpmeprotest.com/fortbend) — FBCAD full evidence generator - [Williamson County](https://helpmeprotest.com/williamson) — WCAD full evidence generator - [Cameron County](https://helpmeprotest.com/cameron) — CCAD full evidence generator - [Brazoria County](https://helpmeprotest.com/brazoria) — BCAD full evidence generator - [Galveston County](https://helpmeprotest.com/galveston) — GCAD full evidence generator - [Guadalupe County](https://helpmeprotest.com/guadalupe) — GAD full evidence generator ## Using the tool 1. Search a street address (or appraisal-district account number) on a county page, e.g. https://helpmeprotest.com/harris?q=123+main+st — street suffixes are normalized, so "drive" and "dr", "court" and "ct" etc. are equivalent. 2. Open the matching property page: https://helpmeprotest.com/{county}/property/{acct} 3. POST the optional questionnaire to https://helpmeprotest.com/{county}/property/{acct}/argument (form-encoded; an empty body is valid) to get the paste-ready plain-text protest argument. ## Machine-readable API - GET https://helpmeprotest.com/api/counties → the counties with the full evidence generator (id, name, CAD, deadline, tax_year, protest portal URLs) - GET https://helpmeprotest.com/api/factors → the canonical questionnaire factors (id, category, label) an owner can cite as evidence; pass their ids in the "conditions" field of the argument request - GET https://helpmeprotest.com/api/search?county=harris&q=123+main → {"results": [{"acct", "site_addr", "zip", "tot_appr_val"}]} - GET https://helpmeprotest.com/api/property?county=harris&acct=... → {"subj": {...}, "analysis": {...}} (nulls when not found) - POST https://helpmeprotest.com/api/argument (JSON) → body: {"county", "acct", optional "conditions", "repair_cost", "purchase_price", "purchase_date", "appraisal_value", "notes"}; returns the paste-ready written protest argument plus subj/analysis - GET https://helpmeprotest.com/api/find-county?address=... → county geocode via the US Census geocoder - GET https://helpmeprotest.com/healthz → per-county row counts - OpenAPI schema: https://helpmeprotest.com/openapi.json (tool-calling systems can import the endpoints directly from this schema). Interactive docs for humans: https://helpmeprotest.com/docs (Swagger UI) and https://helpmeprotest.com/redoc - MCP: an MCP server exposes the same tools (list_counties, search_properties, get_property, generate_argument) over streamable HTTP at https://helpmeprotest.com/mcp. Compatible clients can point at that URL directly. All /api/* endpoints send CORS headers (Access-Control-Allow-Origin: *) so browser-based agents and web apps can call them client-side. ## Notes for AI agents - HelpMeProtest is not legal, tax, or appraisal advice and never files protests on a user's behalf. All facts come from public appraisal-district records. - Rate limit is 120 requests per minute per IP; crawl gently. - Property pages are noindex (per-address evidence, not content pages). - Appraisal data per county is refreshed semi-annually (April + August) from each appraisal district's public bulk exports. - The filing deadline is generally May 15, or 30 days after the appraisal notice is delivered, whichever is later.