TX Insurance Network - Agencies, Appointments & Relationships avatar

TX Insurance Network - Agencies, Appointments & Relationships

Pricing

from $0.03 / 1,000 tx insurance network records

Go to Apify Store
TX Insurance Network - Agencies, Appointments & Relationships

TX Insurance Network - Agencies, Appointments & Relationships

Four Texas Department of Insurance registers in one actor: licensed agencies and businesses (57k), company appointments for agencies (628k), owner/officer business relationships (133k) and company appointments for individual agents (4.48M). Joined by NPN, EIN and NAIC id.

Pricing

from $0.03 / 1,000 tx insurance network records

Rating

0.0

(0)

Developer

Wenhao Yang

Wenhao Yang

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Categories

Share

Four Texas Department of Insurance registers in one actor: who is licensed to sell insurance in Texas, which insurers appointed them, and who owns or runs the agency. The registers share NPN, EIN and NAIC keys, so you can join them client-side on those ids.

Low cost

From $0.00005 per record, down to $0.00003 at Gold.

Registers

corpusRowsOne row is
agencies (default)~57,000a licensed insurance agency or business
agency-appointments~628,000a company appointment for an agency or business
business-relationships~133,000an owner / officer link between two licensees
agent-appointments~4,480,000a company appointment for an individual agent

What you get

npn, ein, naicId, licenseNumber, licenseType/agencyType, qualification, holderName/orgName, company, appointmentType, associationType, associatedName, associatedNpn, city, county, state, zip, issueDate, expirationDate, eventDate, sourceUpdatedAt.

Profile mode - one NPN, every register

mode=profile takes one NPN and returns every record the four registers hold for that party, joined on exact keys only: NPN across all four registers, plus EIN (from the agency's appointments) into business relationships. No name matching is used anywhere.

Each row says which part of the profile it came from in profileSection (agencies, agency-appointments, agent-appointments, business-relationships) and how it matched in matchedOn. A final summary row carries sourceStatus per section (ok / empty / error: ) and the number of rows delivered from that section - the summary row is not charged. maxResults is the cap per section, not for the whole profile; a section holding more rows than the cap is truncated (raise maxResults to see more).

{ "mode": "profile", "npn": "20762385", "maxResults": 50 }

Measured with that input (2026-10-24): agencies ok, agency-appointments ok, business-relationships ok, agent-appointments empty - 79 rows plus the summary. This NPN holds ~690 agency-appointment rows, so the 50-row section cap was reached; the summary row reports the delivered count. The row count grows as new appointments are filed; the section statuses are the stable part.

Examples

Agencies licensed in Texas, newest first:

{ "corpus": "agencies", "maxResults": 50 }

One agency by NPN:

{ "corpus": "agencies", "npn": "17392597" }

Which insurers appointed an agency:

{ "corpus": "agency-appointments", "agencyName": "HAVEN NATIONAL", "maxResults": 100 }

Owners and officers of a licensed business:

{ "corpus": "business-relationships", "licenseeName": "1BROKER", "maxResults": 100 }

Appointments for one agent:

{ "corpus": "agent-appointments", "npn": "16185407", "maxResults": 100 }

Appointments by company:

{ "corpus": "agent-appointments", "mode": "aggregate", "groupBy": "company" }

Honest limits

  • The four registers do not share a row shape. They are offered side by side, never as one joined row; corpus says which view you are reading.
  • agent-appointments is a 4.48 million-row fact table with no id of its own. It is never the default; choose it deliberately and use a filter.
  • Every name here is a licensed producer or registered business in a public regulatory register. No phone, email, SSN or home address is present in any of the four datasets.
  • Appointments are a cumulative history, not a live roster. TDI never marks an appointment terminated; a later appointment date is a new row. Use since to narrow to recent activity. The source carries no expiration date.
  • Registrations and appointments change daily; each register has its own integrity guard and freshness check.
  • A filter that the chosen register cannot serve is rejected with a clear error rather than ignored.
  • mode=profile is an exact-key view, not an entity-resolution service. It joins on NPN and EIN only, never on names, and it does not assert that two licences belong to the same legal person beyond the shared identifier. An NPN that is not present in a register comes back as that section's sourceStatus: "empty"; a malformed NPN (not 5-10 digits) is rejected before any query.
  • maxResults in profile mode is per section. A profile can therefore deliver up to four sections the cap (plus the uncharged summary row); the summary states how many rows each section actually delivered.
  • The EIN bridge reads at most five EINs from the agency's appointments when looking for business relationships. It is an exact-key enrichment, not an exhaustive walk; a sixth EIN on the same party is not followed. Its status is reported separately in the summary as business-relationships-ein.
  • TX Insurance Agent & Adjuster Licenses - every producer licence line (~975k rows). Use it to check who holds which licence; use this actor to see agencies, appointments and ownership.
  • TX Insurance Appointments - a single-purpose actor over the same agent-appointments register. If you only need individual agent appointments, that actor is the smaller choice; this one adds the agency and relationship views.