Tennessee Contractor License Lookup: TDCI Status & Limits
Pricing
from $8.00 / 1,000 verified contractor records
Tennessee Contractor License Lookup: TDCI Status & Limits
Verify Tennessee contractor licenses in the TDCI registry by company, name or number: status, expiration, classification, monetary limit. USD 10 per 1,000.
Pricing
from $8.00 / 1,000 verified contractor records
Rating
0.0
(0)
Developer
Muhammad Afzal
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
11 hours ago
Last modified
Categories
Share
Tennessee Contractor License Lookup checks the Tennessee Department of Commerce and Insurance (TDCI) public registry and returns each general contractor license's number, status, expiration date, classifications, monetary limit and city, state and county. It is built for homeowners, general contractors vetting subcontractors, insurers, sureties and lead researchers, and costs USD 10 per 1,000 license records on the FREE tier (USD 8 per 1,000 on GOLD).
It fills in the same "Verify a License or Credential" search a visitor uses, choosing the Contractors and Ltd Licensed Plumbers program and the Contractor license type, then opens each matching public detail page. No account, login or cookies are needed.
What does the Tennessee Contractor License Lookup return?
Each dataset row is one TDCI general Contractor license, deduplicated by license number and name.
| Field | What it contains |
|---|---|
licenseeName, entityType | Business or individual name, and Organization or Individual |
licenseNumber, licenseType, boardProgram | License number (for example 85359), Contractor, and the TDCI program |
status, expirationDate, originalLicensureDate | Status as TDCI shows it; dates in YYYY-MM-DD |
appearsActiveAndUnexpired | true only when status is Active and the expiration date has not passed on the retrieval date |
classificationCodes | Classifications on the record, for example BC, BC-A, MC, CMC-C |
monetaryLimitUsd, publicModifiers | Monetary limit in US dollars when shown, and other modifiers such as Aggregate Limit |
city, state, postalCode, county | Public location summary (no street address, phone or email is published) |
sourceDetailUrl, detailAvailable, sourceUrl | Official detail record, whether it was read, and the search page |
sourceRetrievedAt, checkedAt | TDCI's "Retrieved on" time and the Actor's UTC check time |
searchType, searchQuery, sourceResultPosition, sourceResultCount, sourcePageRecordCount, sourceResultsTruncated | The search that found the record and whether more matches exist |
The OUTPUT record holds the run status (DATA, EMPTY, BLOCKED, FAILED or REJECTED), source match counts, warnings and the event-charge estimate.
How do I look up a Tennessee contractor license by number?
Set searchType to license_number and put the number in query. The Actor checks that the returned record carries exactly that number, then writes one row with status, expiration, classifications and monetary limit.
{"searchType": "license_number","query": "85359","maxResults": 1}
If TDCI returns a different license number, the run fails with a diagnostic instead of writing a mismatched record.
Can I search Tennessee contractors by company or last name?
Yes. Use business_name with a distinctive company name or partial name, or individual_last_name with an optional firstName:
{"searchType": "individual_last_name","query": "Doe","firstName": "John","maxResults": 5}
The Console default (business_name, Doe, up to 10 records) returned 4 licenses in about 27 seconds on 2026-10-26, including Active and Expired records and holders based in Tennessee, Georgia and Texas. Broad names can match more records than TDCI renders on its first result page; the Actor reads that first page only, so narrow the name when sourceResultsTruncated is true.
How do I read status, expiration and monetary limit?
Read status and expiration together. TDCI advises checking both, so appearsActiveAndUnexpired is false when a record says Active but its expiration date has passed. monetaryLimitUsd is the limit printed on the license; compare it with the contract value of your project, and open sourceDetailUrl for the full official record. The flag is a convenience check, not a legal determination that a contractor may bid on a specific job.
When should I use it, and when not?
Use it when you need Tennessee general contractor licenses in a workflow: subcontractor prequalification, bid or permit checks, insurance or surety underwriting, or confirming a contractor's classifications and limit before hiring.
Use another tool when:
- You need Home Improvement, Limited Licensed Electrician or Limited Licensed Plumber records, or another TDCI board. This Actor searches the general Contractor license type only; use TDCI's own search for those.
- You need phone numbers, emails or street addresses. TDCI's public view does not publish them; for contact-rich licensed contractor leads in other states, see Washington Contractor License Lookup & Leads or Louisiana Contractor License Lookup.
- You need a neighboring state: North Carolina Contractor License Lookup or Virginia Contractor License Lookup.
- You need a full statewide download. The portal has no bulk export, and each run returns at most 25 records.
Use it from an AI assistant
Tennessee Contractor License Lookup works from Claude, ChatGPT, Cursor or any MCP client through Apify's MCP server. Add it with https://mcp.apify.com/?tools=muhammadafzal/tennessee-contractor-license-lookup, then ask, for example: "Is Tennessee contractor license 85359 active, and what is its monetary limit?"
Run it with the API
JavaScript:
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('muhammadafzal/tennessee-contractor-license-lookup').call({searchType: 'business_name',query: 'Doe River',maxResults: 5,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items.map((r) => `${r.licenseNumber} ${r.status} ${r.expirationDate} ${r.monetaryLimitUsd}`));
Python:
from apify_client import ApifyClientclient = ApifyClient("YOUR_APIFY_TOKEN")run = client.actor("muhammadafzal/tennessee-contractor-license-lookup").call(run_input={"searchType": "license_number", "query": "85359", "maxResults": 1})for record in client.dataset(run.default_dataset_id).iterate_items():print(record["licenseeName"], record["status"], record["expirationDate"], record["monetaryLimitUsd"])
What does the output look like?
Two of the four records from the 2026-10-26 default run (business_name, Doe), trimmed to the main fields:
[{"licenseeName": "DOE RIVER CONSTRUCTION, INC.","entityType": "Organization","licenseNumber": "85359","licenseType": "Contractor","boardProgram": "Contractors and Ltd Licensed Plumbers","status": "Active","expirationDate": "2028-03-31","originalLicensureDate": "2026-03-19","appearsActiveAndUnexpired": true,"classificationCodes": ["BC", "BC-A"],"monetaryLimitUsd": 125000,"publicModifiers": ["Aggregate Limit"],"city": "BUTLER","state": "Tennessee","postalCode": "37640","county": "Carter","sourceRetrievedAt": "10/26/2026 07:35 AM","sourceDetailUrl": "https://search.cloud.commerce.tn.gov/search/C2952503/detail","detailAvailable": true,"sourceResultCount": 4,"sourceResultsTruncated": false},{"licenseeName": "DOEGE CONSTRUCTION, LLC","entityType": "Organization","licenseNumber": "81353","status": "Expired","expirationDate": "2026-07-31","appearsActiveAndUnexpired": false,"classificationCodes": ["BC", "BC-A"],"monetaryLimitUsd": null,"city": "SEGUIN","state": "Texas","county": "Guadalupe","sourceDetailUrl": "https://search.cloud.commerce.tn.gov/search/C2619686/detail"}]
Live values change; a detail page can omit classifications, limits, dates or location parts, which then appear as empty arrays or null.
Pricing: how much does a Tennessee license check cost?
The Actor uses pay-per-event pricing with platform usage included. Each record written to the dataset is one event; there is no second charge for the same record.
| Event | FREE | BRONZE | SILVER | GOLD / PLATINUM / DIAMOND |
|---|---|---|---|---|
| Verified contractor record (one dataset row) | USD 0.010 | USD 0.00975 | USD 0.0095 | USD 0.008 |
| Actor start (per started GB of allocated memory) | USD 0.005 | USD 0.005 | USD 0.005 | USD 0.005 |
Worked totals on the FREE tier at the default 512 MB memory (one start event):
- One license check: 1 × USD 0.010 + USD 0.005 = USD 0.015
- Maximum run, 25 records: 25 × USD 0.010 + USD 0.005 = USD 0.255
A search with no matches charges only the start fee. The minimum run charge limit is USD 0.015; below that the run stops as REJECTED before searching.
What are the limits?
- 25 records per run (
maxResults1–25, default 10), taken from TDCI's first result page only. - Speed: one browser, one detail page at a time; the default run took about 27 seconds.
- Scope: general Contractor licenses only. No phone, email or street address is published in this view.
- Freshness: TDCI says its public search is updated daily. Open
sourceDetailUrlor contact TDCI for consequential decisions. - Blocked or changed pages end as
BLOCKEDorFAILEDwith diagnostics; if a detail page fails, the row keeps its result-card data, setsdetailAvailabletofalse, and the Actor never invents values.
FAQ
Is this the official Tennessee contractor license search?
It reads TDCI's official public search and links every record to its official detail page. It is an independent tool, not affiliated with or endorsed by TDCI or the Tennessee Board for Licensing Contractors.
Can I check a contractor's monetary limit?
Yes. monetaryLimitUsd carries the limit when the detail record shows one, together with classificationCodes and modifiers such as Aggregate Limit.
Does it cover home improvement or plumbing licenses?
No. It searches the general Contractor license type in the Contractors and Ltd Licensed Plumbers program only.
Does it return phone numbers or emails?
No. TDCI's public result view shows only city, state, ZIP and county.
Why did I get fewer records than maxResults?
TDCI found fewer matches, or its first result page rendered fewer records than the total. OUTPUT and sourceResultsTruncated show when more matches exist.
How do I check many Tennessee licenses at once?
Run one license_number lookup per number from a script or an Apify schedule, or use a company-name search to collect up to 25 related records per run.
Related Actors
Contractor and license data from the same developer:
- Washington Contractor License Lookup & Leads for Washington L&I registrations with phones, owners, bonds and insurance
- Louisiana Contractor License Lookup for LSLBC status and contacts
- North Carolina Contractor License Lookup for NCLBGC licenses and qualifiers
- TDLR License Scraper for Texas TDLR licenses
- Virginia Contractor License Lookup for Virginia DPOR contractor lists
Legal and compliance
Tennessee Contractor License Lookup reads public TDCI license records without logging in, solving CAPTCHAs or bypassing access controls. Use it for legitimate license verification at a modest pace, follow TDCI's terms of use, and confirm current licensure on the official record before any legal or contracting decision. Board information: Tennessee Board for Licensing Contractors.
Last verified: 2026-10-26