Executive Summary: How construction lenders should run Texas TDLR contractor license verification without overstating what a Texas license record proves. The goal is not to treat Texas like a single statewide license lookup. The goal is to make one funding decision easier to defend when the Texas licensing picture is split across a state agency and local jurisdictions. The core problem is that teams assume Texas issues a statewide general contractor license, then route a file as clean when the relevant credential actually sits with a municipality or a specific trade board. Cobalt's Contractor License Verification API covers select states only, including Texas, and returns license status, license number, expiration date, and disciplinary actions where available at one credit per lookup.[1] The Texas Department of Licensing and Regulation publishes the state record that these workflows read against for the trades it oversees.[4] Cobalt should be positioned as a data source, not a decisioning engine.
Why does Texas licensing need a different mental model?
What operational risk does this remove?
The lender is not collecting a Texas license record for decoration. The lender is trying to remove a specific uncertainty before a construction file advances. In Texas, the uncertainty is sharper than in states with a single general contractor license, because the credential a reviewer needs may live with TDLR for one trade and with a city for another scope of work. A useful workflow turns that uncertainty into a small set of routes: clear, correct, retry, unsupported, or manual review.
TDLR licenses specific trades, such as electricians and air conditioning and refrigeration contractors, while Texas has no statewide general contractor license and general contractor requirements vary by municipality.[4] A workflow that treats every Texas contractor as either licensed or unlicensed at the state level will mislabel files. A workflow that asks which credential the work requires, and where that credential is issued, will route the file correctly.
Which trades does TDLR actually license?
TDLR oversees a defined set of trades and occupations. For construction lending, the trades that matter most are the ones TDLR licenses directly, such as electrical and air conditioning and refrigeration work. General building construction is a different story, because Texas does not issue a single statewide license for a general contractor. That distinction is the difference between a defensible Texas file and a false sense of coverage.
| Texas credential type | Where it is issued | Lender routing implication |
|---|---|---|
| Electrician license | TDLR state record | Verify against TDLR for covered trade evidence |
| Air conditioning and refrigeration | TDLR state record | Verify against TDLR for covered trade evidence |
| General contractor scope | Municipal or local registration | Route to manual verification, no statewide license exists |
| Specialty local permit | City or county authority | Confirm at the jurisdiction level, not the state |
Which buyer should care most?
• VP Risk in construction lending. This buyer needs faster separation between Texas files that TDLR can confirm and files that require local verification.
• Compliance. This buyer needs source evidence, timestamps, and documented exception handling that survives an audit.
• CTO or head of engineering. This buyer needs a pattern that can be logged and changed without rewriting credit policy.
• Operations. This buyer needs fewer late-stage corrections when a Texas file turns out to need a municipal check.
The article should not imply that a TDLR lookup approves a loan. It should show how one evidence layer reduces ambiguity while the lender's policy takes over. Cobalt's state coverage guide places Texas inside the broader map of where license evidence is available directly and where a manual route is honest.[8]
What should the lender verify first in a Texas file?
What is the minimum viable workflow?
The minimum viable workflow is to identify which credential the funded work requires, capture the contractor name and license number, run the TDLR lookup through the API in real time for covered trades, and store the raw response with a timestamp before internal mapping. For scopes that Texas does not license at the state level, the workflow should route to a documented manual verification step rather than force a state answer that does not exist.
The Texas record is only useful if the lender keeps the source result separate from its own policy interpretation. A TDLR status of active for an electrician is a source fact. Whether that credential covers the funded scope is a policy fact. Mixing the two into one flat status is the most common way that later reviewers lose the ability to explain a Texas file.
Why is one source not enough?
One source can be accurate and still incomplete for the decision in front of the lender. A TDLR record confirms a trade license, while general contractor registration, entity status, lien evidence, and litigation history may still need separate review. The stack works because each source answers a different question. In Texas, this is more visible than elsewhere, because the absence of a statewide general contractor license means the state record simply cannot answer some questions a reviewer will ask. Cobalt's business verification hub is the internal link base for placing license verification inside a full know your business stack.[10]
What limitation should stay visible?
Cobalt's Contractor License Verification API covers select states only: California, Texas, New York, Florida, and Oregon. For Texas, the honest framing is narrower still, because the API reads the state trade record and cannot confirm a statewide general contractor license that Texas does not issue. The product does not offer nationwide license coverage, native monitoring webhooks, or built-in scoring. The right posture is to state that limitation plainly, then design the route around it.
What does the TDLR API workflow actually return?
How does Cobalt fit without overstating the product?
Cobalt's Contractor License Verification API screens a submitted contractor identity against the covered Texas trade record and returns license status, license number, expiration date, and disciplinary actions where available.[1] A representative request or downstream workflow event for a Texas lookup looks like this:
{
"state": "TX",
"source": "tdlr_state_record",
"tradeScope": "electrical_or_hvac",
"creditCost": 1,
"fallback": "municipal_manual_review",
"owner": "construction_underwriting"
}
The request is only the start. The lender should persist the raw response, map the result into internal statuses, and show the reviewer why a file cleared, corrected, retried, or moved to manual review. A Texas record that confirms an active electrician license does not confirm that the same contractor is registered to act as a general contractor in a given city. That gap should be an explicit route, not an assumption.
Which fields should stay separate?
The most common implementation mistake is turning source fields and policy fields into one flat status. A source can return an active trade license, an expired license, a suspended license, unsupported scope, a timeout, or a valid record for a trade that does not match the funded work. The lender's policy can then route that outcome to correction, retry, hold, manual review, or continue.
| Field group | Stored example | Why it matters |
|---|---|---|
| Applicant input | Contractor legal name, license number, trade, submitted scope | Shows what the applicant or system supplied |
| Source result | TDLR status, trade type, expiration date, disciplinary flag | Shows what the state record returned |
| Limitation label | No statewide GC license, unsupported scope, source outage | Prevents a partial answer from looking complete |
| Policy route | Clear, correct, retry, manual review, hold | Shows how the lender interpreted the source |
| Reviewer evidence | Notes, municipal confirmation, reviewer name, timestamp | Shows who accepted or changed the route |
This separation protects future changes and keeps the Texas nuance visible. A file where TDLR confirms an electrician license but the work is general building construction should carry a limitation label, not a clean status. The limitation label is the field that tells a later reviewer the state record answered a narrower question than the file needed, and that a local check either filled the gap or did not.
The Texas nuance also changes how a lender should read a strong-looking result. In a state with a single general contractor license, an active status covers most of the licensing question in one field. In Texas, an active TDLR trade license can be entirely accurate and still leave the general contractor scope unverified, because that scope lives with a municipality. A workflow that treats the Texas result the same way it treats a single-license state will systematically overstate what it confirmed. Reading Texas correctly means reading the trade, the scope, and the jurisdiction together, then labeling what the state source did not cover.
A defensible Texas workflow does not pretend the state answers every license question. It confirms what TDLR can confirm, then routes the general contractor gap to a documented local check before the draw advances.
How should Texas license exceptions route to review?
Which exceptions are operational, not risk?
Every exception deserves a label. Some are operational, such as a mistyped license number, a source outage, or an incomplete trade description. Some are risk signals, such as an expired trade license on active work, a suspended status, a disciplinary action, or a scope that Texas does not license at the state level and that the file never verified locally. Treating all exceptions as fraud creates friction. Treating all exceptions as harmless creates loss exposure.
| Result | Likely cause | Recommended route |
|---|---|---|
| Format invalid | Wrong license number or missing field | Ask applicant to correct input |
| Source unavailable | TDLR surface outage or timeout | Retry later with bounded backoff |
| Expired or suspended trade license | Real status change on the state record | Manual review before funding |
| Scope not licensed statewide | General contractor work with no state license | Route to municipal verification |
| Active and in scope | Covered trade evidence aligns with policy | Continue to the next underwriting step |
How do retries stay safe?
Retries should be bounded and tied to technical failures, not to business outcomes. If the TDLR record returned a suspended trade license, the next step is manual review, not repeated calls. A live lookup that returns no matching record for a covered trade is a meaningful signal and should route to review. Retrying a general contractor scope that Texas does not license at the state level will never produce a state answer, so that path should route to a local check instead of a retry loop.
Who owns each route?
Ownership should be assigned before the workflow goes live. Engineering owns technical reliability, request shape, logging, and error handling. Operations owns applicant correction loops and the municipal verification queue. Risk owns the interpretation of an expired trade license or an unverified general contractor scope. Compliance owns audit and documentation rules. Product or revenue teams can request lower friction, but they should not silently convert a missing municipal check into a clean Texas status.
What should engineering build into the first version?
What should be logged?
The first production version should be small, observable, and recoverable. Store the external TDLR source data and the internal policy routes separately.
• Input snapshot. Store the raw submitted contractor name, license number, trade, and normalized values used for the request.
• Source response. Preserve the TDLR status, trade type, expiration date, disciplinary flag, source timestamp, and raw fields before internal mapping.
• Coverage label. Show whether the result was supported, unsupported scope, no statewide license, source-unavailable, or review-required.
• Policy route. Keep the lender's clear, correction, retry, and manual-review route separate from the source data.
• Reviewer action. Log who changed the route, why it changed, and which municipal document or corrected input supported the change.
What should dashboards show?
Dashboards should make exception volume visible without pretending that every exception is the same kind of risk. In Texas, the most important metric is often the rate of files that need local verification because the state record cannot answer the question.
| Dashboard metric | What it tells the team | Better follow-up |
|---|---|---|
| Municipal verification rate | How often Texas files need a local check | Staff the manual queue and document the source |
| Input correction rate | How often license numbers arrive unusable | Improve intake form validation |
| Manual-review rate | How often status or scope requires judgment | Refine thresholds and staffing |
| Retry rate | How often technical failures interrupt the workflow | Improve timeout and backoff handling |
| Expired or suspended rate | How often the state record shows a status change | Monitor exposure across the pipeline |
What should not be automated first?
Do not start with automatic rejection for every exception. Start with classification. A mistyped license number needs correction. A TDLR outage needs retry. A suspended trade license needs policy review. A general contractor scope needs a municipal verification route, not an automatic decline and not a false clean status. Classification before automation protects the team from turning a Texas coverage nuance into a wrong answer.
What should a buyer ask before approving this workflow?
What questions expose weak implementations?
The buying conversation should focus on source, evidence, and ownership. A polished demo is less important than whether the Texas route respects the split between state trade licensing and local general contractor requirements.
1. Which credential does the funded work require, and does TDLR issue it?
2. What fields are required before the TDLR lookup can be trusted?
3. What does the response include for active, expired, suspended, unsupported scope, and source-unavailable cases?
4. How is the municipal verification gap handled when Texas has no statewide license?
5. Which exceptions are automated, and which ones route to manual review?
6. What evidence is available to defend the funding decision six months later?
What does a practical first rollout look like?
A practical rollout starts with a narrow use case and a small group of reviewers. The lender does not need to rebuild every underwriting system before getting value from a cleaner Texas route. It needs one file type, one intake path, one source call for covered trades, one documented local fallback, and one readback report. The first week should focus on historical comparison against recently reviewed Texas files, paying attention to how many needed a municipal check. The second week should run the API route in shadow mode. The third week should define queue ownership for corrections, municipal verification, and holds. The fourth week should lock the field map and document the Texas coverage limitation clearly.
How should the final decision be framed?
The final decision should be framed as workflow fit. If the funded work is a TDLR-licensed trade, the state route belongs in the stack. If the work is general building construction, the honest route is municipal verification, because Texas does not issue a statewide general contractor license.[4] Cobalt can provide the trade license data layer, but the lender decides how that layer, and the local gap around it, translates into approval, hold, correction, or decline. The reason lenders keep funding under-verified contractors is rarely a missing tool. It is a missing route that turns a partial state answer into a defensible decision.[9]












.png)