{"id":"TX-21","state":"TX","label":"Texas's 21st Congressional District","election_id":"56007","status":"called","winner_id":"civic-56007-e560c522556f18fc","reporting":1,"previous_party":"R","afi_rating":{"rating":"Safe Republican","rating_tier":"safe_r","category":"Safe","favored_party":"R","gop_win_chance":94,"color":"#a21a15","updated":"2026-08-05T16:27:15+00:00","projected_flip":false,"flip_direction":null,"incumbent_party":"R","incumbent_name":"Roy, Chip","open_seat":true,"freshman":false,"flipped_in_24":false,"trump_margin_2024":21.81,"gop_margin_2024":25.8,"redraw":true,"margin_change":null,"source":"AFI Ratings Admin","source_updated":"2026-10-14T18:12:10+00:00"},"updated":"2026-10-15T15:36:57.011Z","candidates":[{"id":"civic-56007-e560c522556f18fc","name":"Mark Teixeira","party":"R","votes":25711,"color":"#a21a15","photo_url":"","source_name":"Mark Teixeira","identity_aliases":[],"incumbent":false,"endorsed":false,"match_method":"exact","pct":61.18316160197987},{"id":"civic-56007-5f5054ca75e8a091","name":"Kristin Hook","party":"D","votes":16312,"color":"#0f4b8f","photo_url":"","source_name":"Kristin Hook","identity_aliases":[],"incumbent":false,"endorsed":false,"match_method":"exact","pct":38.81683839802013}],"featured_candidates":[{"id":"ratings-56007-0c9fdd67e9521f4d","name":"Mark Teizeria","party":"R","photo_url":"https://americafirstinsight.com/wp-content/uploads/2026/02/MarkTeizeriaIcon.webp","color":"#a21a15","votes":null,"pct":null,"results_available":false,"display_priority":0},{"id":"civic-56007-e560c522556f18fc","name":"Mark Teixeira","party":"R","votes":25711,"color":"#a21a15","photo_url":"","source_name":"Mark Teixeira","identity_aliases":[],"incumbent":false,"endorsed":false,"match_method":"exact","pct":61.18316160197987}],"matching_review":[{"name":"Mark Teizeria","party":"R","reason":"no unique match"},{"name":"Teizeria, Mark","party":"R","reason":"no unique match"}],"office":"house","election_type":"House of Representatives","county_data_status":"available","county_data_note":"","counties_updated":"2026-10-12T17:47:00.839Z","counties_stale":false,"counties_complete":false,"total_votes":42023,"winner_party":"R","leader_party":"R","leader_name":"Mark Teixeira","leader_color":"#a21a15","vote_margin":9399,"margin":22.366323203959737,"counties_path":"shards/998edef67a1b3c8976d63f9c984dbb989194549a1a69a41d555f15c4b796c8ac.json","counties":[{"name":"Bandera","fips":"48019","reporting":12,"total_votes":175480,"leader":"Kristin Hook","candidates":[{"id":"civic-56007-5f5054ca75e8a091","name":"Kristin Hook","party":"D","color":"#0f4b8f","photo_url":"","votes":126316,"pct":71.98313198085252},{"id":"civic-56007-e560c522556f18fc","name":"Mark Teixeira","party":"R","color":"#a21a15","photo_url":"","votes":49164,"pct":28.01686801914748}]},{"name":"Bexar","fips":"48029","reporting":76,"total_votes":72453,"leader":"Kristin Hook","candidates":[{"id":"civic-56007-5f5054ca75e8a091","name":"Kristin Hook","party":"D","color":"#0f4b8f","photo_url":"","votes":48701,"pct":67.21736850095924},{"id":"civic-56007-e560c522556f18fc","name":"Mark Teixeira","party":"R","color":"#a21a15","photo_url":"","votes":23752,"pct":32.782631499040754}]},{"name":"Blanco","fips":"48031","reporting":17,"total_votes":139853,"leader":"Kristin Hook","candidates":[{"id":"civic-56007-5f5054ca75e8a091","name":"Kristin Hook","party":"D","color":"#0f4b8f","photo_url":"","votes":73598,"pct":52.625256519345314},{"id":"civic-56007-e560c522556f18fc","name":"Mark Teixeira","party":"R","color":"#a21a15","photo_url":"","votes":66255,"pct":47.374743480654686}]},{"name":"Comal","fips":"48091","reporting":2,"total_votes":73288,"leader":"Kristin Hook","candidates":[{"id":"civic-56007-5f5054ca75e8a091","name":"Kristin Hook","party":"D","color":"#0f4b8f","photo_url":"","votes":38301,"pct":52.260943128479425},{"id":"civic-56007-e560c522556f18fc","name":"Mark Teixeira","party":"R","color":"#a21a15","photo_url":"","votes":34987,"pct":47.739056871520575}]},{"name":"Gillespie","fips":"48171","reporting":50,"total_votes":106190,"leader":"Mark Teixeira","candidates":[{"id":"civic-56007-e560c522556f18fc","name":"Mark Teixeira","party":"R","color":"#a21a15","photo_url":"","votes":58630,"pct":55.21235521235521},{"id":"civic-56007-5f5054ca75e8a091","name":"Kristin Hook","party":"D","color":"#0f4b8f","photo_url":"","votes":47560,"pct":44.78764478764479}]},{"name":"Hays","fips":"48209","reporting":73,"total_votes":31207,"leader":"Kristin Hook","candidates":[{"id":"civic-56007-5f5054ca75e8a091","name":"Kristin Hook","party":"D","color":"#0f4b8f","photo_url":"","votes":18133,"pct":58.105553241259976},{"id":"civic-56007-e560c522556f18fc","name":"Mark Teixeira","party":"R","color":"#a21a15","photo_url":"","votes":13074,"pct":41.894446758740024}]},{"name":"Kendall","fips":"48259","reporting":66,"total_votes":179076,"leader":"Kristin Hook","candidates":[{"id":"civic-56007-5f5054ca75e8a091","name":"Kristin Hook","party":"D","color":"#0f4b8f","photo_url":"","votes":144873,"pct":80.90028814581518},{"id":"civic-56007-e560c522556f18fc","name":"Mark Teixeira","party":"R","color":"#a21a15","photo_url":"","votes":34203,"pct":19.099711854184815}]},{"name":"Kerr","fips":"48265","reporting":7,"total_votes":119196,"leader":"Kristin Hook","candidates":[{"id":"civic-56007-5f5054ca75e8a091","name":"Kristin Hook","party":"D","color":"#0f4b8f","photo_url":"","votes":69292,"pct":58.132823249102316},{"id":"civic-56007-e560c522556f18fc","name":"Mark Teixeira","party":"R","color":"#a21a15","photo_url":"","votes":49904,"pct":41.867176750897684}]},{"name":"Real","fips":"48385","reporting":64,"total_votes":164633,"leader":"Kristin Hook","candidates":[{"id":"civic-56007-5f5054ca75e8a091","name":"Kristin Hook","party":"D","color":"#0f4b8f","photo_url":"","votes":141173,"pct":85.75012300085645},{"id":"civic-56007-e560c522556f18fc","name":"Mark Teixeira","party":"R","color":"#a21a15","photo_url":"","votes":23460,"pct":14.249876999143549}]}]}