Texas Department of Insurance Agent Lookup
Pricing
Pay per event
Texas Department of Insurance Agent Lookup
Search and export official Texas insurance agent, adjuster, agency, active appointment, and business relationship records.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Stas Persiianenko
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Search and export official Texas Department of Insurance agent lookup data for producer verification, agency research, appointment due diligence, and recurring compliance checks.
This Actor reads the public datasets linked by the Texas Department of Insurance (TDI). It returns normalized person licenses, agency licenses, active agency appointments, and business relationships as JSON, CSV, Excel, or any other Apify dataset format.
What this Texas insurance license lookup does
Use one input to search current official records by:
- agent, adjuster, or agency name;
- Texas license number;
- National Producer Number (NPN);
- city, state, or postal code;
- license type or qualification;
- appointing insurance company;
- record type.
The Actor applies filters at the Texas Open Data API, paginates automatically, removes duplicate rows, and stops at your maxItems limit.
It does not scrape search-engine snippets or resell a third-party directory.
Who is it for?
Insurance compliance teams
Verify displayed license identity, qualification, and expiration before onboarding or periodic review.
Agencies and carriers
Check agency appointments and public business relationships by stable NPN.
Producer operations teams
Export repeatable license searches into a spreadsheet, CRM, warehouse, or audit workflow.
Researchers and developers
Use a consistent JSON contract instead of handling several Socrata datasets and field names independently.
Official data sources
TDI links these datasets from its Agent Download Lists page.
| Record type | Official dataset | Typical use |
|---|---|---|
personLicense | Agents, adjusters, and other licensed people | Search a producer or verify a person license |
agencyLicense | Agencies and approved insurance businesses | Verify an agency, business license, or qualification |
agencyAppointment | Active company appointments for agencies | Check which insurers actively appoint an agency |
relationship | Business relationships among licensees | Review sub-agent, owner, and related-entity links |
Every output row includes sourceDatasetId and sourceUrl for traceability.
Data you can extract
Depending on the selected record type, records include:
- record type and official dataset ID;
- person, agency, or licensee name;
- National Producer Number;
- Texas license number;
- license or entity type;
- qualification;
- issue and expiration dates;
- expiration status derived from the displayed expiration date;
- city, state, postal code, province, or county when published;
- appointing company and NAIC ID;
- appointment type and active date;
- business association type, related name, NPN, and begin date;
- retrieval timestamp;
- official source link.
Fields that do not apply to a record type are null, so downstream integrations can use one stable schema.
Get started
- Open the Actor input page.
- Choose one or more Record types.
- Enter a name, NPN, license number, location, qualification, or company filter.
- Set Maximum records.
- Click Start.
- Open the Dataset tab.
- Download JSON, CSV, Excel, XML, or RSS, or connect the dataset API.
For a first test, search personLicense records for JOHN SMITH in TX with maxItems set to 25.
Input parameters
| Field | Type | Default | Description |
|---|---|---|---|
recordTypes | string array | person and agency licenses | Datasets to search |
query | string | none | Full-text search across selected datasets |
name | string | none | Partial person or primary agency name |
npn | string | none | Exact National Producer Number |
licenseNumber | string | none | Exact Texas person or agency license number |
city | string | none | Exact city, case-insensitive |
state | string | none (TX is prefilled) | Exact displayed state |
postalCode | string | none | Exact displayed postal code |
licenseType | string | none | Partial official license type |
qualification | string | none | Partial official qualification |
companyName | string | none | Partial appointing company or associated entity |
maxItems | integer | 100 | Overall result limit from 1 to 10,000 |
Filters that do not exist on a selected record type produce no rows for that type rather than returning an unfiltered list.
Input examples
Find a Texas agent by name
{"recordTypes": ["personLicense"],"name": "JOHN SMITH","state": "TX","maxItems": 25}
Export licensed Austin agencies
{"recordTypes": ["agencyLicense"],"city": "AUSTIN","state": "TX","maxItems": 100}
Verify an agency's active appointments
{"recordTypes": ["agencyAppointment"],"npn": "22142794","maxItems": 50}
Output example
A current person-license search produces records shaped like this:
{"recordType": "personLicense","sourceDatasetId": "kxv3-diwf","sourceUrl": "https://data.texas.gov/resource/kxv3-diwf","npn": "1167317","licenseNumber": "769759","name": "JOHN SMITH","entityType": "General Lines Agent","qualification": "Life, Accident, Health & HMO","licenseIssueDate": "1990-11-09T00:00:00Z","expirationDate": "2027-01-31T00:00:00Z","expirationStatus": "active","city": "FORT WORTH","state": "TX","postalCode": "762447045","companyName": null,"appointmentType": null,"retrievedAt": "2026-08-13T20:58:34.896Z"}
The default dataset contains all selected record types. Use recordType to route rows in a data pipeline.
How much does it cost to look up Texas insurance licenses?
Pricing uses one small start event and one item event for each unique dataset row returned.
The exact rate depends on your Apify pricing tier. The current pricing table is always visible before you start a run.
| Tier | Price per returned record |
|---|---|
| Free | $0.00736 |
| Bronze | $0.00640 |
| Silver | $0.004992 |
| Gold | $0.00384 |
| Platinum | $0.00256 |
| Diamond | $0.001792 |
The one-time start event is $0.005 per run. At the Bronze rate:
- a 1-record run uses one $0.005 start event and one $0.0064 item event;
- a 25-record run uses one $0.005 start event and 25 item events at $0.0064 each;
- a 100-record run uses one $0.005 start event and 100 item events at $0.0064 each.
No event is charged for duplicate, rejected, empty, or failed records. Apify platform usage may be billed according to your plan.
Export and integration workflows
Compliance spreadsheet
Schedule a name, NPN, or city search and export the dataset as CSV or Excel for reviewer sign-off.
Producer verification pipeline
Send NPN-based results to a webhook, compare expirationDate with the previous run, and flag changed records.
Appointment due diligence
Run agencyAppointment by NPN and compare company and NAIC ID pairs between scheduled runs.
Data warehouse
Fetch dataset items through the API and upsert by recordType, npn, licenseNumber, qualification, company NAIC ID, and association fields.
The Actor returns current snapshots. Change detection and alert delivery are downstream workflows, not separate Actor features.
Run with the Apify API
Replace YOUR_TOKEN with an Apify API token.
cURL
curl -X POST \"https://api.apify.com/v2/acts/automation-lab~texas-insurance-license-lookup/runs?token=YOUR_TOKEN&waitForFinish=120" \-H "Content-Type: application/json" \-d '{"recordTypes":["agencyLicense"],"city":"AUSTIN","state":"TX","maxItems":25}'
JavaScript
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('automation-lab/texas-insurance-license-lookup').call({recordTypes: ['personLicense'],name: 'JOHN SMITH',state: 'TX',maxItems: 25,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Python
from apify_client import ApifyClientclient = ApifyClient("YOUR_TOKEN")run = client.actor("automation-lab/texas-insurance-license-lookup").call(run_input={"recordTypes": ["agencyAppointment"],"npn": "22142794","maxItems": 50,})items = client.dataset(run["defaultDatasetId"]).list_items().itemsprint(items)
Use with Apify MCP
Add this Actor to Claude Code:
claude mcp add --transport http apify \"https://mcp.apify.com?tools=automation-lab/texas-insurance-license-lookup"
Claude Desktop
Add the following remote MCP server configuration in Claude Desktop:
{"mcpServers": {"apify": {"url": "https://mcp.apify.com?tools=automation-lab/texas-insurance-license-lookup"}}}
Cursor
Use the same JSON under Cursor's MCP settings and keep the Actor slug in the url query.
VS Code
Add the same remote HTTP MCP URL to your VS Code MCP configuration.
Example prompts:
- "Search Texas person licenses for John Smith and return NPN, license number, qualification, and expiration."
- "Export up to 100 licensed insurance agencies in Austin, Texas."
- "Check active agency appointments for NPN 22142794 and group them by company."
Scheduling and monitoring
Use an Apify Schedule to run the same stable query daily, weekly, or monthly.
For change monitoring:
- use a precise NPN, license number, or location input;
- retain each run's dataset ID and retrieval time;
- compare stable identity and appointment fields;
- send changes through an Apify webhook or your own integration.
The Actor does not maintain a private historical registry or send alerts by itself.
Accuracy and limitations
- Results reflect the public Texas datasets when the run executes.
- TDI and Texas Open Data control update timing, field definitions, and availability.
expirationStatusis derived fromexpirationDate; verify consequential decisions against the official source.- The appointment mode currently covers the public active agency appointments dataset.
- TDI's linked person-appointment dataset currently requires authentication and is not included.
- Public records can contain abbreviations, uppercase text, missing fields, or multiple qualifications per license.
- A name is not a unique identity. Prefer NPN or license number for verification.
maxItemsapplies across all selected record types in their selected order.- This Actor does not access private accounts, non-public records, or historical report-generator data.
Legality and responsible use
The Actor accesses public records linked by a Texas government agency.
You are responsible for complying with applicable laws, source terms, privacy obligations, and your organization's policies. Use public license data for legitimate verification, compliance, research, and operational purposes. Do not use it for harassment, unlawful discrimination, identity theft, or deceptive outreach.
For a licensing or enforcement decision, open the included official source URL and consult TDI when appropriate.
Troubleshooting
Why did my search return no records?
Check the selected record type and filter compatibility. License numbers only apply to person and agency license datasets. Company filters apply to appointment and relationship datasets. Try an NPN or remove an overly narrow location filter.
Why are there several rows for one NPN?
A producer can have multiple license qualifications, appointments, or business relationships. These are distinct official rows and are intentionally preserved.
Why did a run fail with an upstream error?
Texas Open Data may be temporarily unavailable or rate-limited. The Actor retries transient responses with backoff and then fails clearly instead of returning an unlabelled partial result. Retry later or reduce the requested volume.
Is expirationStatus an official enforcement status?
No. It is a convenience value calculated from the source's displayed expiration date. Review the date, qualification, and official source before making a consequential decision.
FAQ
Does this Actor require a TDI or Sircon login?
No. It uses anonymous public Texas Open Data endpoints linked by TDI.
Does it use a proxy or browser?
No. It makes lightweight direct HTTP requests to the official structured-data API.
Can I search by exact license number?
Yes. Set recordTypes to personLicense or agencyLicense and pass licenseNumber.
Can I retrieve agency appointments?
Yes. Select agencyAppointment and filter by an agency NPN, company name, or public location.
Can I export more than 500 records?
Yes. The Actor paginates in bounded batches up to maxItems, with a maximum of 10,000 records per run.
Are empty results charged as items?
No. Item events are emitted only for unique normalized rows pushed to the dataset.
Related automation-lab Actors
- Texas TREC License Holder Search Scraper for Texas real-estate license holders.
- Texas Comptroller Entity Scraper for Texas taxable-entity identity and status checks.
- California Contractor License Lookup for CSLB contractor verification.
Choose this Actor when the primary record is a Texas insurance person, agency, appointment, or business relationship published by TDI.