For curious Texans, journalists, and city staff

Look up Texas.

Texas publishes 6,061 open datasets. Permits, inspections, salaries, 311 calls. Technically public, practically unusable: getting an answer means writing SoQL queries against an API. TXLookup makes them askable in plain English. AI agents pick the dataset, write the query, check the result, and cite the source.

Live across 6,061 Texas datasetsFree. No login.

Live across Texas

Austin. Dallas. San Antonio. Houston. The state.

Live from 6 portals · refreshed on load

Corpus · indexed
6.1k datasets
3 active · 6 portals

Austin · top inspection zip · 30d

78757

9 inspections

Dallas · 311 requests · 30d

614

gc4d-8a49

Live · just now

TX · active franchise permits

9cir-efmm

Mirror · 6d ago

Austin · 311 requests · 30d

24,816

xwdj-i9he

Live · just now

Dallas · police active calls

87

9fxf-t2tr

Live · just now

Austin · open code violations

3,386

6wtj-zbtb

Live · just now

Austin permits · 7-day pulse

+1,095

Agentic flow

How a question becomes a sourced answer.

?User question

router · decomposer

Orchestrator

~0.6s

SoQL · Socrata exec

Data Analyst

~1.2s

verify · grounding

Critic

~0.4s

prose · data viz

Reporter

~0.9s

provenance lock

Citation step

~0.1s
Sourced answercited · replayable
Orchestrator0.00s

reason: parsing · domain=permits geo=78704 window=2024-Q4

Typical cycle · 7.3s · 0–3 re-plan loops

Use as agent

Install in 30 seconds.

MCP server + agent skill. Drops into Claude Code, Codex, Cursor. Bounded queries, citation enforced.

~/txlookup · install
# 1. install in claude code
$ claude mcp add txlookup -- python -m mcp.server

# 2. ask
$ claude
> use txlookup: food truck permits 78702 last 6 months

# 3. answer with citation
→ count by month, % change vs prior 6mo
→ cite: dataset_id · portal_url · age_seconds

8 tools · 5,000-row cap · 30s timeout · backoff on 429 · citation enforced