# The License-Roster Teardown: Board Export to a Ranked Metro PE Slate

*Take any state board's licensee roster and produce a ranked, contact-cleared slate of 20 to 30 licensed engineers, with a logged count after each of eight filters.*

- Canonical URL: https://www.refolk.ai/guides/license-roster-pe-slate-teardown
- Pillar: Recruiting and sourcing
- Format: Teardown
- Published: 2026-10-29
- Last reviewed: 2026-10-29
- Reading time: 20 min
- Keywords: how to source licensed professional engineers, state license lookup for recruiting, PE license roster download, find licensed engineers in a metro area, sourcing candidates without LinkedIn profiles, recruiting licensed professionals from public records

## Key takeaways

- In Refolk's index of professional profiles, only 138 of 10,134 US profiles titled Structural Engineer show PE in the headline (1.4%), so requiring the credential on a profile removes nearly everyone qualified.
- Canadian structural engineers show P.Eng in their headlines at 11.2%, about 8.2 times the US rate, which makes the state license roster the only complete list of licensed US engineers.
- A state PE roster is largely people who live elsewhere: nonresident licenses run from 29.2% of California's roster to 94.3% of the District of Columbia's.
- Only Active status lets an engineer practise and seal, but other statuses mean different things in different states: Florida retirement can never be reversed, while Washington retirees can come back by paying the renewal fee.
- Since Texas Senate Bill 510 removed individual addresses and phones, the only way to filter a Texas PE roster by metro is to join each licensee's employer to the board's firm roster.
- Screening discipline on the home board alone is blind to out-of-state actions; in Ohio, 5 of 19 formal disciplinary actions in one year rested on another jurisdiction's action.

This is a teardown of one real search: a structural PE (Professional Engineer) role in Dallas-Fort Worth, sourced from the Texas engineering board's license roster instead of from profiles. It is for in-house recruiters, sourcers, and founders hiring into a licensed profession whose people barely use professional networks. Work through it with your own board's file and you end up with a deduplicated, employer-resolved, contact-cleared slate of 20 to 30 people, plus the count left after every filter.

## Why source licensed engineers from the roster instead of profiles?

Profiles hide the credential. Only the license roster lists everyone who holds the license. In Refolk's index of professional profiles, 138 of 10,134 US profiles titled "Structural Engineer" show "PE" in the headline, so a profile search that requires the credential throws away almost everyone you need.

**1.4% - US "Structural Engineer" profiles with PE in the headline**

In Refolk's index, 138 of 10,134 US profiles; the Canadian equivalent with P.Eng is 11.2%.

This search's first wrong turn happened before any file was downloaded. The obvious opening move was a profile search: structural engineers, Texas, "PE". Run nationally against Refolk's index, that filter takes the pool from 10,134 to 138. In Texas the cut is just as severe, and nothing about it relates to who is actually licensed.

| Country | Title total | Credential in headline | Rate |
| --- | --- | --- | --- |
| United States | 10,134 | 138 ("PE") | 1.4% |
| Canada | 1,702 | 191 ("P.Eng") | 11.2% |
| Canada vs US | | | 8.2x |

*Source: Refolk's index; rates derived.*

Why is the US rate so much lower? One plausible reason is that a US PE license covers one state, so it carries less weight on a national profile than a Canadian P.Eng does. I have not tested that, so treat it as a hypothesis. The practical conclusion doesn't depend on it. The board roster is the sourcing universe, and profiles are for corroborating what the roster says.

There is a second profile trap. In a 25-profile sample of US structural engineers from Refolk's index, 17 worked at one firm. A small sample of profiles over-represents whichever firms encourage staff to keep profiles current. If you build your target-employer list that way, you inherit the skew.

## Which state boards publish a downloadable license roster?

Texas and California publish bulk licensee files. Florida and every other state are unknowns that you check board by board, because nobody has published a 50-state matrix of which boards offer bulk exports.

| Board | Bulk file | Refresh | Individual address |
| --- | --- | --- | --- |
| Texas (TBPELS) | Yes, free, no account | Daily | None since SB 510 |
| California (DCA) | Yes, per-agency folder | Monthly | Address of record, city, county, zip |
| Florida and others | Not established | Check the board | Check the board |

The Texas Board of Professional Engineers and Land Surveyors (TBPELS) publishes searchable, downloadable rosters of individual engineering licensees and of registered engineering firms. You get them from its downloads page, they update daily, and no account is needed. Texas Senate Bill 510 removed individual addresses and phone numbers from the roster in September 2023. Expect no contact details for individual licensees.

California publishes licensee data through the Department of Consumer Affairs (DCA) public information pages. Each agency has a folder of data suitable for disclosure, refreshed automatically at the start of each month. The layout includes the public address of record, city, county, state, and zip. The DCA page does not say whether there is a fee, so check before you plan around it.

### What a roster does not contain

Every roster has survivorship gaps (people who should be in the population but have dropped out of the file):

- **Texas:** once a PE license has been expired for two or more years it is "non-renewable" and comes off the roster.
- **California:** records are not online for people licensed before 1989 who were not current then and have not become current since.

So the base count undercounts the alumni pool, meaning engineers who held a license and let it lapse. That doesn't matter for a role that requires an active license. It matters a great deal if you later widen the search to "licensed at some point".

### How to check a board you have not used before

1. Find the board's downloads or public information page. If you only see a one-at-a-time lookup form, there is no bulk route and you will be sourcing name by name.
2. Note the refresh cadence. It sets how often you re-pull.
3. Read the field layout for status, discipline, and address fields.
4. Read the terms of use. I could not find publicly established terms on commercial use for any board, so read them yourself before you build outreach on the file.

## What does each license status code mean for the right to practise?

Only Active lets someone practise engineering and use their seal. Every other status removes them from a slate for a role that legally requires the license. The statuses differ in whether they can be reversed, though, and no standard code set exists across states, so build a status map for each board.

| Status | Can practise/seal | Recoverable |
| --- | --- | --- |
| TX Inactive | No | Yes |
| FL Retired | No | Never |
| WA Retired | No | Yes, by paying the fee |
| FL Delinquent | No | May be a pending retirement |
| TX Expired 2+ yrs | No | Drops off the roster |

*Sources: TBPELS PE page; FBPE status rules; WAC 196-12-065; FBPE renewal page.*

State rules that change how you read a status:

- **Texas:** a license holder on inactive status may not practise engineering.
- **Florida:** a retired licensee may use "PE, Retired" but cannot practise, and retirement can never be reversed. If a Retired Status Application goes in after January 15, the license shows delinquent until the board approves it.
- **Washington:** a retired licensee can resume active practice by paying the current renewal fee. Washington also issues an SE (Structural Engineer) license alongside the PE and uses an "SE-retired" title.
- **Pennsylvania:** retired status prohibits professional practice and use of the seal.
- **Louisiana:** retired status requires the licensee to be at least 70 or to have held the license for at least 35 years.

> **Rule:** Active is the only status that makes the slate
>
> Filter to Active before anything else and log the count. Park recoverable statuses (Texas inactive, Washington retired) on a separate watch list; never mix them into the ranked slate.

## The worked search: structural PEs in Dallas-Fort Worth

The search took the Texas individual roster, filtered it to Active Civil/Structural licensees, got geography through an employer-to-firm-roster join, deduplicated on license number, screened discipline on every board, cleared contact channels, and ranked the survivors. Each fork below names the decision taken and the wrong turn avoided.

First, a limit you should hold me to. No published source says how much each filter shrinks a PE roster. The Texas file also changes daily, so any count from one pull is stale by the next morning. I'm not printing per-step counts as if they were benchmarks. What I can give you is the direction of each cut, why it happens, and the log you fill in as you go.

### Fork 1: status first or geography first?

Some practitioners filter by geography before status. Either order gives the same final set. I filter status first because it keeps the logged counts comparable: the "Active, Civil/Structural" number means the same thing whichever metro you run next, so you can compare Dallas-Fort Worth with Houston line by line.

### Fork 2: where does a Texas licensee work?

This is the fork that catches most first attempts. The wrong turn is looking for an address column to filter on. Since SB 510 there isn't one for individuals. In Texas, geography has to come from the employer:

#### Texas metro filter without an address field

1. **Individual roster** - License number, status, discipline; no address or phone
2. **Employer** - Current employer name tied to each Active licensee
3. **Firm roster** - Match employer to a registered firm and its F-number
4. **Firm city** - Keep rows whose firm office sits in Dallas-Fort Worth
5. **Corroborate** - Confirm the person at that office with a second source

*In Texas, a licensee's metro is inferred from the employer's entry on the firm roster, not from the individual record.*

The join has a cost you have to log. It drops self-employed engineers and anyone between jobs, because there is no firm to match. I don't delete those rows. They go to an "unplaced" list, which is often where the overlooked senior people are.

### Fork 3: are these people in Texas at all?

A state roster filtered to that state still includes many people who live somewhere else. That is comity licensing (an engineer licensed in one state getting licensed in another on the strength of the first). The NCEES Record is the standard vehicle. All US state boards accept it, and a transmittal costs $175 for the first state and $100 for each one after. That is cheap enough that firms license staff in many states. I don't have Texas's nonresident share, but the boards I do have figures for range from 29.2% to 94.3% (see the failure-mode section). The employer join helps here: a licensee whose firm has no Dallas-Fort Worth office drops out at Fork 2.

### Fork 4: two people, one name

Same-name licensees are common in a big state. The wrong turn is merging on name plus city. The rule is one row per license number. Two records with the same name and different license numbers stay separate until employer evidence tells them apart.

### Fork 5: confirming the person behind the license

After the join, every row needs a second source for the employer: the firm's F-number on the Texas firm roster, or a matching profile. The wrong turn is searching profiles for "PE", which brings back the 1.4% problem. Search for the person by name and firm and treat the license as already proven by the roster. [Refolk](/) is useful here because you can ask for the person in plain English, for example a named engineer at a named Dallas firm, and get matches back from LinkedIn, GitHub, and the open web without writing a separate boolean string for each name.

**Roster count log**

```
Search: Structural PE, Dallas-Fort Worth | Board: TBPELS | File date: ____
Step | Count after | Removed to | Reason for cut
1. Raw export rows | ____ | - | -
2. Active + Civil/Structural | ____ | Watch list (recoverable) | Status / discipline
3. Metro via firm roster | ____ | Unplaced list | No firm match / firm outside metro
4. One row per license number | ____ | - | Duplicates merged on license number only
5. Employer corroborated | ____ | Research queue | No second source
6. Discipline clean on every board | ____ | Hold | Flag found, date: ____
7. Contact channel cleared | ____ | Hold | No compliant channel
8. Ranked slate | ____ (target 20 to 30) | Bench | Below cut line
```

*One line per step; fill the count and date on every pull, and never overwrite a previous pull's log.*

## The procedure: board export to ranked slate

These eight steps take a raw board file to a ranked slate of 20 to 30 licensed people, and each step finishes with a count in the log. My estimate is 7 to 9 hours of desk time in total, mostly employer resolution. That is an estimate, not a measured benchmark.

#### Roster to slate, eight steps

1. **Pull the raw export** - Download the board file (Texas daily, California monthly), save it with the download date in the filename, and record the raw row count.
2. **Filter to Active status and the right discipline** - Keep Active Civil or Structural licenses using this board's status map; send other statuses to a side list and log the count.
3. **Apply the metro filter** - California: filter on address-of-record county or zip. Texas: join employer to the firm roster and keep firms in the metro; park unplaced rows.
4. **Deduplicate on license number** - Collapse to one row per license number; never merge two records on name plus city alone.
5. **Resolve each employer with corroboration** - Give every row an employer plus one corroborating source: a Texas F-number, a California Organization Record, or a matching profile.
6. **Screen discipline on every board** - Check each finalist against the published disciplinary actions of every board where they hold a license, and date the result.
7. **Clear the contact channel** - Record one cleared channel per person, starting with a manual one-to-one email to a work address; no autodialed or prerecorded calls or texts to cells without consent.
8. **Rank to a slate of 20 to 30** - Score survivors on one rubric, cut to 20 to 30, and confirm the log has a count for every step.

### Who owns which step

- **Sourcer:** steps 1 to 4. They are mechanical, but every cut needs a logged reason.
- **Sourcer or researcher:** step 5, which takes 2 to 4 hours on my estimate and is where the search succeeds or fails.
- **Recruiter:** steps 6 and 7, because both are judgement calls about risk.
- **Hiring lead:** step 8, because the rubric weights reflect what the role needs.

### Employer resolution outside Texas

The corroborating sources differ by state. Texas has the firm roster with F-numbers. California has Organization Record forms, which list the names of all the Professional Engineers and Professional Land Surveyors in responsible charge at a firm. That links a firm to its licensees directly. Municipal permit records and engineering society directories might also corroborate an employer, but I have not checked how reliable they are, so test them on a handful of names you already know before you lean on them.

The hours go into the long tail: rows where the roster has a name and a firm but no public trace connects the two. That is the work Refolk is built for. Ask for the population you just filtered and compare what comes back against your roster rows.

I ran this search: `Structural engineers with an active Texas PE license working at firms in Dallas-Fort Worth, 8+ years experience` - [see the full result list](https://www.refolk.ai/s/n9fv3zfxdv).

*Returns named people with current employers and seniority signals, which you match to roster rows by license number and firm before trusting any of them.*

## Where roster data misleads: the failure modes

Roster data misleads in five predictable places: status codes, comity licensees, address of record, name collisions, and discipline flags. Two more traps come from mixing the roster with profiles: requiring the credential on a profile, and survivorship gaps. Each one below has the misreading, the false positive it produces, and the check that catches it.

### 1. Status codes

**Misreading:** "Delinquent" read as a lapsed engineer who could be brought back.
**What it hides:** in Florida, delinquent can mean a retirement application is waiting for board approval, and a retired Florida license can never be reactivated.
**Check:** see whether a board meeting is pending, and re-check the status after it. Never carry one "retired" rule across states. Washington retirees can return for a fee and Florida retirees cannot.

### 2. Comity licensees

**Misreading:** a roster filtered to the state is taken to mean people in the state.
**False positive:** a licensee living in another state with no plan to move.
**Check:** the state in the address of record, then the employer's office location.

| Board | Resident | Nonresident | Nonresident share |
| --- | --- | --- | --- |
| CA | 73,374 | 30,248 | 29.2% |
| FL | 25,952 | 23,839 | 47.9% |
| NY | 16,068 | 19,071 | 54.3% |
| DE | 1,263 | 7,781 | 86.0% |
| DC | 353 | 5,849 | 94.3% |

*Source: NCEES Squared data as tabulated publicly; shares derived. Illinois runs 50.9% nonresident.*

These figures count licenses, not people. Roughly 500,000 individuals hold US PE licenses, and the license count is higher because one engineer can hold many. No public per-person source shows a licensee's home state, and NCEES Records are not public. Your only proxies are the address-of-record state and the same person showing up on several state rosters with matching evidence.

### 3. Address of record

**Misreading:** the address of record treated as the workplace. Or, in Texas, finding no address at all and abandoning the metro filter.
**False positive:** someone whose home is outside the metro but who commutes in, or the reverse.
**Check:** the firm roster city. In California, use the address of record as a first cut and the employer's office as the deciding signal.

### 4. Name collisions

**Misreading:** two licensees with the same name merged into one row.
**False positive:** the wrong engineer gets the outreach, or the right one gets someone else's discipline flag.
**Check:** different license numbers mean different people until employer evidence proves otherwise. Do not merge on name plus city.

### 5. Discipline flags

**Misreading:** a clean result on the home board taken as a clean record.
**What it hides:** actions taken in other states. In Ohio, 5 of the 19 formal disciplinary actions in 2009 rested on an action taken in another jurisdiction.
**Check:** the published disciplinary page of every board where the person holds a license. Texas, for example, posts dated action pages.

> **Watch out:** The home board is structurally blind
>
> Boards use the NCEES Enforcement Exchange to spot out-of-state discipline, and NCEES itself recommends monthly reviews of it, but it is closed to the public and many boards do not take part. A recruiter's only route is each board's own published actions, one board at a time.

### 6. Profile matching

**Misreading:** "PE on the profile" used as the filter.
**Effect:** the pool drops to roughly 1.4% of US structural engineers in Refolk's index.
**Check:** confirm the license on the roster. Use the profile only for employer, seniority, and project type.

### 7. Survivorship

**Misreading:** the roster count taken as everyone who has ever been licensed.
**Effect:** Texas drops licenses expired two or more years, and California has the pre-1989 gap, so any "licensed at some point" search starts short.
**Check:** treat alumni counts as a floor, not a total.

## How do you clear contact channels and rank the slate?

Start with a manual one-to-one email to a confirmed work address. Never autodial, prerecord, or mass-text a cell phone without consent. Then score every survivor on one rubric and cut to 20 to 30. This is the practitioner reading, not legal advice, so confirm anything unusual with counsel.

### What the law reaches

- **California privacy law:** "personal information" excludes publicly available information, including government records. Older text excluded uses "not compatible with the purpose for which the data is maintained and made available". I have not verified whether the current text still carries that caveat, so read the current section on the state's legislative site before you rely on the exclusion. California discloses licensee names and addresses under Civil Code 1798.61.
- **CAN-SPAM:** offering a specific job to a candidate likely isn't advertising a commercial product or service, but that reading holds best when the message really is about one role.
- **TCPA:** autodialed or prerecorded calls and texts to cell phones need consent, whatever the content. In *Loyhayem v. Fraser Financial* (2021), the Ninth Circuit held that prerecorded job-recruiting voicemails violate the TCPA without consent. In *Rockwell v. Medicus* (2025), recruiting calls escaped do-not-call liability. That narrows one theory and leaves the consent rule standing. Statutory damages are $500 per negligent message and up to $1,500 if willful, per message.
- **Board terms of use:** not publicly established for commercial use. Read them yourself.

In Texas the roster gives you no contact details at all. The channel comes from the employer side: a work address you have confirmed and send to one person at a time.

### Ranking

Rank in two passes. First place each survivor on the matrix, then score the slate-ready ones.

#### Roster row triage before scoring

Horizontal axis runs from Employer unconfirmed to Employer corroborated by a second source. Vertical axis runs from License fit unclear to Active, right discipline, metro confirmed.

| Quadrant | What it means |
| --- | --- |
| Licensed, unplaced | Research the employer before ranking; check the unplaced list here |
| Slate-ready | Score on the rubric and rank |
| Drop | Remove and log the reason in the count log |
| Placed, fit unclear | Recheck status map, comity, and discipline on every board |

*A roster row earns a rank only when both the license fit and the employer evidence are strong; everything else is research or a drop.*

**Licensed-role scoring rubric**

```
GATES (fail any one = off the slate)
[ ] Status Active on the target state's roster (license number: ____)
[ ] Discipline clean on every board where licensed (boards checked, dated: ____)
[ ] Cleared contact channel recorded (channel and basis: ____)

SCORE (0 to 10 total)
Discipline fit: Structural work evident, or SE where the state issues one ... 0-3
Employer corroboration: two independent sources (firm roster + profile) ... 0-2
Metro confidence: firm office in metro, plus address of record if available ... 0-2
Experience: years and project type match the brief ... 0-2
Licensure breadth: also active in a neighbouring state the role covers ... 0-1

Cut line: top 20 to 30 by score; record the score of the last person in and the first person out.
```

*Gates are pass/fail and come first; adjust the point weights to the role, but keep them fixed across the whole slate.*

> The roster proves the license. Everything else on the slate, you prove yourself, row by row.

## How to keep a roster-built slate current

Re-pull on the board's cadence: daily in Texas, monthly through the California DCA. Diff each new file against the last one on license number, and re-run status and discipline before any outreach, because a slate built from a public roster starts going stale from the day you download it.

What to re-run, and when:

- **Before each outreach wave:** status and discipline for every person you are about to contact.
- **On each new pull:** a diff on license number to catch new Active licensees in the discipline, status changes, and rows that have vanished (in Texas, a vanished row can be a license that has gone non-renewable).
- **When the role changes metro:** the whole log from step 3 down. Keep step 2's count as your comparable baseline.
- **When you add a state:** a new status map for that board. Don't reuse another state's.

Keep every dated log. The counts tell you where your hours went, and they're your evidence if anyone asks how a person came to be contacted.

#### Before you call the slate done

- [ ] The raw file is saved with its download date and its row count is in the log.
- [ ] Every status on the board has been mapped to practise or no-practise, using this board's rules.
- [ ] Only Active licenses in the target discipline are on the slate; recoverable statuses sit on a watch list.
- [ ] The metro filter used the firm roster city (Texas) or address of record plus employer office (California).
- [ ] Every row is unique on license number, and no two records were merged on name plus city.
- [ ] Every slate member has an employer and at least one named corroborating source.
- [ ] Discipline was checked on every board where each person holds a license, with the date recorded.
- [ ] Each person has one cleared contact channel, and none relies on an autodialed or prerecorded call or text to a cell without consent.
- [ ] The log shows a count after all eight steps and the slate holds 20 to 30 people.

## Frequently asked questions

### Can I use a state PE license roster for recruiting outreach?

Generally yes for a specific job, but check three things first. California's privacy law excludes publicly available government records from personal information, though older text carved out incompatible uses, so confirm the current wording. CAN-SPAM likely does not treat a specific job offer as commercial advertising. The TCPA still needs consent for autodialed or prerecorded calls and texts to cell phones. Read each board's terms of use yourself, because commercial-use terms are not publicly established.

### Does the Texas PE roster include addresses, emails, or phone numbers?

No. Texas Senate Bill 510 removed individual addresses and phone numbers from the roster in September 2023, so the individual file carries no contact details. You can still filter Texas licensees by metro by joining each person's employer to the board's firm roster, which lists firms with F-numbers. Contact then goes to a work address you have confirmed separately, sent one to one.

### Why not just search LinkedIn for structural engineers with PE?

Because almost nobody puts it in the headline. In Refolk's index, 138 of 10,134 US profiles titled Structural Engineer show PE in the headline, which is 1.4%. A profile filter on the credential removes nearly the whole qualified pool. Confirm the license on the board roster and use profiles only to corroborate employer and seniority.

### How do I tell if a licensee actually lives in the state whose roster I pulled?

You check the address of record, then the employer's office location. No public per-person source shows home state versus comity states, and NCEES Records are not public. Nonresident licenses make up 29.2% of California's roster and 94.3% of the District of Columbia's, so assume a large share of any roster lives elsewhere until the address or firm city says otherwise.

### Is a retired or inactive PE a possible candidate?

Not for a role that legally needs an active license, at least not today. Only Active status allows practice and sealing. Recoverability varies: Texas inactive licensees can reactivate, Washington retirees can resume by paying the renewal fee, and Florida retirement can never be reversed. Keep recoverable statuses on a separate watch list instead of the slate.

### Do I need to check disciplinary records in every state a candidate is licensed in?

Yes. Out-of-state actions are a large share of discipline: in Ohio, 5 of 19 formal actions in one year rested on another jurisdiction's action. The NCEES Enforcement Exchange that boards use is closed to the public and not every board takes part. Find each board where the person holds a license and check that board's published actions page.

---

*From the Refolk guide library. I revise these guides rather than replacing them, so the current version is always at https://www.refolk.ai/guides/license-roster-pe-slate-teardown*
