Discover/Texas API
live

Texas APIpuc.texas.gov

Access Texas Public Utility Commission dockets, filings, and document links via 7 endpoints. Search cases by control number, utility type, date, and document type.

Endpoint health
verified 6d ago
search_dockets
get_item_types
daily_filing_search
get_case_filings
get_document_details
7/7 passing latest checkself-healing
Endpoints
7
Updated
21d ago

What is the Texas API?

The puc.texas.gov API provides structured access to the Texas Public Utility Commission Interchange system across 7 endpoints, covering docket search, filing retrieval, and document-level metadata. search_dockets lets you filter PUCT cases by utility type, date range, and keywords, while get_document_details returns downloadable document URLs alongside filing party and case style metadata — giving developers a direct path into Texas utility regulatory records.

Try it
Page number for paginated results.
Case style or description keywords to filter by.
Utility type filter.
End date in MM/DD/YYYY format.
Filter by document type code. Use get_item_types endpoint for the full list of accepted values.
Docket control number to search for.
Start date in MM/DD/YYYY format.
Filing description keywords to filter by.
api.parse.bot/scraper/d02e185d-5b07-44e6-a934-f03130fa799a/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/d02e185d-5b07-44e6-a934-f03130fa799a/search_dockets?page=1&case_style=electric&utility_type=A&date_filed_to=07%2F06%2F2026&document_type=ALL&date_filed_from=06%2F06%2F2026' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace puc-texas-gov-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

"""Walkthrough: PUCT SDK — bounded, re-runnable; every call capped."""
from parse_apis.texas_public_utility_commission_filing_api import PUCT, UtilityType, DocketNotFound

puct = PUCT()

# Search for electric utility dockets with a date range
for docket in puct.dockets.search(
    utility_type=UtilityType.ELECTRIC,
    date_filed_from="01/01/2025",
    date_filed_to="01/31/2025",
    limit=3,
):
    print(docket.control, docket.utility, docket.description)

# Drill into one docket's filings and document details
docket = puct.docket(control="59697")
for filing in docket.filings.list(limit=3):
    print(filing.item, filing.file_stamp, filing.party, filing.filing_description)

# Get document details for a specific filing item
detail = docket.get_document_details(item_number="1")
print(detail.control_number, detail.item_number)
print(detail.metadata.case_style, detail.metadata.filing_party)
for doc in detail.documents:
    print(doc.name, doc.name_url, doc.type)

# Search daily filings for a specific date range
for daily in puct.dailyfilings.search(
    date_filed_from="06/01/2026",
    date_filed_to="06/05/2026",
    utility_type=UtilityType.ALL,
    limit=5,
):
    print(daily.control_number, daily.item_number, daily.filing_party, daily.filing_description)

# List recently issued control numbers
for new_docket in puct.newdockets.list(limit=5):
    print(new_docket.control_number, new_docket.date_filed, new_docket.description)

# Typed error handling
try:
    bad_docket = puct.docket(control="9999999")
    bad_docket.filings.list(limit=1).first()
except DocketNotFound as exc:
    print(f"Docket not found: {exc.control_number}")

print("exercised: dockets.search / docket.filings.list / docket.get_document_details / dailyfilings.search / newdockets.list")
All endpoints · 7 totalmissing one? ·

Search for dockets/cases in the PUCT Interchange system. Returns paginated results (25 per page) sorted descending by default. At least one filter (control_number, date range, case_style, or filing_description) should be provided for meaningful results.

Input
ParamTypeDescription
pageintegerPage number for paginated results.
case_stylestringCase style or description keywords to filter by.
utility_typestringUtility type filter.
date_filed_tostringEnd date in MM/DD/YYYY format.
document_typestringFilter by document type code. Use get_item_types endpoint for the full list of accepted values.
control_numberstringDocket control number to search for.
date_filed_fromstringStart date in MM/DD/YYYY format.
filing_descriptionstringFiling description keywords to filter by.
Response
{
  "type": "object",
  "fields": {
    "page": "string - current page number",
    "dockets": "array of docket objects with Control, Control_url, Filings, Utility, and Description (Case Style) fields",
    "total_records": "string - total records found message"
  },
  "sample": {
    "data": {
      "page": "1",
      "dockets": [
        {
          "Control": "20310",
          "Filings": "6",
          "Utility": "PUC-ELEC",
          "Control_url": "https://interchange.puc.texas.gov/search/filings/?ControlNumber=20310",
          "Description (Case Style)": "ELECTRIC UTILITIES SECURITIES AND EXCHANGE COMMISSION (SEC) FORM 8-K"
        }
      ],
      "total_records": "350 record(s) found."
    },
    "status": "success"
  }
}

About the Texas API

Docket and Filing Search

The search_dockets endpoint accepts filters for case_style, control_number, utility_type (E for Electric, W for Water, T for Telephone, O for Others, or A for All), date_filed_from/date_filed_to in MM/DD/YYYY format, and document_type codes sourced from get_item_types. Results are paginated and return each docket's control number with a URL, filing count, utility type, and case description. The daily_filing_search endpoint narrows results to a specific date or date range, returning item number, item type, date filed, and utility type per filing.

Case-Level Filing and Document Retrieval

get_case_filings takes a required control_number and returns every filing under that case: item number with URL, file stamp, party name, item type, and filing description. An optional document_type filter reduces the result set. To drill further, get_document_details accepts both control_number and item_number and returns file-level metadata — file stamp, filing party, case style, filing description — plus an array of documents each with a name, URL, description, and type classification.

Reference and Discovery Endpoints

get_recently_issued_control_numbers returns the last 15 days of new dockets with control number, date filed, and description — useful for change-detection workflows without querying by date manually. get_utility_types and get_item_types return the accepted filter codes and their human-readable labels, so applications can build dropdowns or validate inputs without hardcoding values that may change.

Coverage and Scope

All data reflects proceedings filed with the PUCT through the Interchange portal. Dockets span electric, water, and telephone utility sectors in Texas. Document URLs returned by get_document_details point to filings within the PUCT system; the API does not fetch or proxy the document content itself.

Reliability & maintenanceVerified

The Texas API is a managed, monitored endpoint for puc.texas.gov — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when puc.texas.gov changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official puc.texas.gov API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
6d ago
Latest check
7/7 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Monitor new Texas utility regulatory filings by polling get_recently_issued_control_numbers daily
  • Build a docket alert system that watches specific control_number values for new filings via get_case_filings
  • Aggregate all PUCT electric utility cases by passing utility_type=E into search_dockets
  • Retrieve document download links for a specific filing using get_document_details with control and item numbers
  • Track filings submitted within a custom date window using daily_filing_search with date_filed_from and date_filed_to
  • Populate a regulatory research tool with case styles, filing parties, and document types from PUCT dockets
  • Validate document type filter codes dynamically by calling get_item_types before constructing search queries
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min

One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does the Texas PUC have an official developer API for Interchange data?+
The PUCT does not publish an official developer API for its Interchange filing system. The public-facing portal at interchange.puc.texas.gov is designed for browser-based access. This API provides structured programmatic access to the same docket and filing data.
What does `get_document_details` return versus `get_case_filings`?+
get_case_filings lists all filings under a docket — item numbers, file stamps, parties, and item types — but does not go below the filing level. get_document_details takes a specific item_number and control_number and returns the individual documents within that filing, including each document's name, URL, description, and type. Use get_case_filings to enumerate items, then get_document_details to retrieve the actual document links.
Does the API expose full document text or PDF content from PUCT filings?+
No. get_document_details returns document names, URLs, descriptions, and type classifications, but the document content itself is not fetched or returned. The URLs point to the PUCT system where the files are hosted. You can fork this API on Parse and revise it to add an endpoint that fetches and parses content from those document URLs.
How does pagination work in `search_dockets` and `daily_filing_search`?+
Both endpoints accept an integer page parameter. search_dockets returns a total_records string indicating the total match count alongside the current page value in the response. daily_filing_search similarly accepts a page input. Neither endpoint documents a fixed page size, so iterate page incrementally until the returned filings array is empty or smaller than a full page.
Can I search for dockets outside of Texas or from other state utility commissions?+
No. This API covers only the Texas Public Utility Commission (PUCT) Interchange system. Proceedings from other state utility commissions such as CPUC or PUC Oregon are not included. You can fork this API on Parse and revise it to point at another state commission's public docket system.
Page content last updated . Spec covers 7 endpoints from puc.texas.gov.
Related APIs in Government PublicSee all →
puc.ny.gov API
Search and retrieve documents and case details from New York's Public Service Commission proceedings to find regulatory filings, case information, and official documents. Quickly locate specific cases and access their associated documents through full-text search capabilities.
elibrary.ferc.gov API
Search Federal Energy Regulatory Commission documents and dockets to find detailed information about energy projects, permits, and regulatory filings. Look up specific docket types like Certificate of Public Convenience and Necessity applications, access complete docket sheets, and retrieve metadata about individual documents.
oscn.net API
Search Oklahoma State Court Network records across 80+ counties to find cases, review detailed docket information, and track daily court filings. Quickly look up case details by county and district court type to stay informed on legal proceedings and filing activity.
sec.gov API
Search for publicly traded companies and instantly access their SEC filings with details like filing type, date, description, and accession numbers. Find the regulatory documents you need to research company financial information and compliance records.
portalcompraspublicas.com.br API
Search and access detailed information about public tenders, bids, and procurement documents from Brazilian municipalities and states. Retrieve tender items, clarification logs, winner details, and all related documentation to monitor and analyze public purchasing activity across Brazil.
capitol.texas.gov API
Search and monitor Texas Legislature bills, track their progress through legislative stages, and retrieve detailed action histories. Look up legislator contact information, district details, committee assignments, and full committee membership rosters.
examplecourt.gov API
Search and retrieve court judgments, case details, and legal metadata from a national court reporting portal, with support for advanced filtering by court and case category. Access complete case information including full text and browse paginated results to find relevant legal precedents.
judyrecords.com API
Search and retrieve detailed court records including case information and statistics from a comprehensive legal database. Access specific case details and view aggregated court record stats to research legal proceedings and case outcomes.