US Professional License Scraper - Licensed Pro Leads
Pricing
from $2.20 / 1,000 license records
US Professional License Scraper - Licensed Pro Leads
Scrape US professional & occupational licenses from official state boards (CO, CT, DE, TX): name, profession, license number, status, issue & expiration dates, location. Every regulated profession — nurses, contractors, real estate, CPAs & more. Filters + monitoring, no browser.
Pricing
from $2.20 / 1,000 license records
Rating
0.0
(0)
Developer
Scrape Sage
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
US Professional License Scraper — Licensed Professional Leads (All Professions, Official State Boards)
Disclaimer: This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by US state professional-licensing boards or any government body. All trademarks mentioned are the property of their respective owners. "US state professional-licensing boards" is referenced only to describe the public data source this Actor collects from.
Extract US professional & occupational license data straight from the official state licensing boards — every regulated profession, in one actor. Get the licensee name, profession, license number, status, issue & expiration dates, and mailing location for millions of nurses, contractors, cosmetologists, real estate agents, CPAs, engineers, dentists, veterinarians, electricians, counselors, pharmacists, and more.
Built on official state open-data portals — no login, no API key, no browser, no anti-bot. Fast, clean JSON.
Why this license scraper?
Most "license verification" scrapers cover a single state board or a single profession, and many just re-scrape Google Maps business listings. This actor unifies four state licensing boards into one normalized dataset and lets you target any profession across all of them at once — the regulatory data that directories don't have (license number, official status, issue/expiration dates, disciplinary flags).
| Data | Typical scrapers | This actor |
|---|---|---|
| Multiple state boards in one run | ❌ single state | ✅ CO, CT, DE, TX |
| All professions (not just one vertical) | ❌ | ✅ |
| Official license number & status | partial | ✅ |
| Issue / renewal / expiration dates | ❌ | ✅ |
| Filter by expiration (renewal-timing leads) | ❌ | ✅ |
| Disciplinary-action flag (DE) | ❌ | ✅ |
| Full street address (CT) | ❌ | ✅ |
| Lead score (0–100) | ❌ | ✅ |
| Monitoring — only new/renewed licenses | ❌ | ✅ |
Coverage
| State | Source | Records | Highlights |
|---|---|---|---|
| Connecticut | DCP — State Licenses & Credentials | ~2.6M | Full street address; all credentials |
| Colorado | DORA — Professional & Occupational Licenses | ~1.6M | City + ZIP; official verify link |
| Texas | TDLR — All Licenses | ~962K | Trades (HVAC, electrical, cosmetology…) + business/owner name |
| Delaware | DPR — Professional & Occupational Licensing | ~350K | Disciplinary-action flag; license type |
Use cases
- Lead generation — licensed professionals are active B2B buyers: they need insurance (E&O, liability, malpractice), CE courses, practice-management & CRM software, supplies, association membership, and financing. Target a profession (
professionKeywords) and score the leads. - Renewal-timing outreach — use
expiringBeforeto find licenses expiring soon — ideal for insurance renewals, continuing-education providers, and membership drives. - Fresh-licensee prospecting — use
issuedAfter(+ monitoring) to capture newly-licensed professionals the moment they appear. - License verification & compliance — confirm a license number, status, and expiration; flag disciplinary actions (DE).
- Market & workforce intelligence — count and map licensed professionals by profession, city, county, and state.
- Recruiting & staffing — build candidate lists of credentialed nurses, therapists, trades, and other licensed roles by location.
How to use
- Sign up for Apify — the free plan is enough to try this actor.
- Open the US Professional License Scraper, pick states and enter
professionKeywords(e.g.nurse,electric,real estate), and click Start. - Watch results stream into the dataset table.
- Export as JSON, CSV, Excel, XML, or RSS — or pull results programmatically via the Apify API.
Input
{"states": ["CO", "CT", "DE", "TX"],"professionKeywords": ["nurse"],"statusActiveOnly": true,"issuedAfter": "2025-01-01","maxResults": 1000,"sortNewestFirst": true,"monitorMode": false}
- states — which state boards to query (
CO,CT,DE,TX). Empty = all four. - professionKeywords — keywords matched against each state's profession / license-type field (
nurse,electric,real estate,cosmetolog,physician,pharmac,engineer,dentist,veterinar,cpa,counselor…). Empty = all professions. (Colorado uses license-type codes — common professions are mapped automatically; you can also pass a raw CO code likeRNorDEN.) - statusActiveOnly (default true) — active/current licenses only (for TX, keeps non-expired).
- cities / zipCodes — location filters (CO, CT, DE).
- counties — county filter (Texas).
- nameQuery — licensee name contains.
- issuedAfter — only licenses first issued on/after this date (fresh leads; CO/CT/DE).
- expiringBefore — only licenses expiring before this date (renewal-timing leads).
- maxResults / maxResultsPerState — output limits.
- sortNewestFirst (default true) — most recently issued first.
- monitorMode / monitorKey — emit only licenses new (or renewed) since the last run.
- socrataAppToken (optional) — higher rate limits for very large runs.
Output
One record per license (recordType: "license"):
{"recordType": "license","jurisdiction": "CT","fullName": "SAMANTHA G WILSON","profession": "Emergency Medical Technician","licenseType": "Emergency Medical Technician","licenseNumber": "13734","licenseStatus": "ACTIVE","active": true,"disciplinaryAction": null,"issueDate": "2011-06-09","expirationDate": "2027-03-31","street": "13 RAMBLEWOOD DRIVE","city": "Gales Ferry","state": "CT","zipCode": "06335","county": null,"addressFull": "13 RAMBLEWOOD DRIVE, Gales Ferry, CT 06335","verifyUrl": "https://www.elicense.ct.gov/","leadScore": 84,"scrapedAt": "2026-06-20T03:00:00.000Z"}
Fields vary by state (each board publishes a different set): Colorado adds lastRenewedDate and an official per-license verifyUrl; Delaware adds disciplinaryAction and profession; Texas adds businessName, ownerName, county, and continuingEducationCompleted. Fields are null only when that board doesn't publish them.
How much does it cost to scrape US state professional-licensing boards?
This Actor uses Apify's pay-per-event pricing: you are charged only for the results it delivers, with no monthly rental and no start fee. The events it can charge are:
- License record - One professional or occupational license record from a state licensing board: licensee name (person or business), profession / license type & number, license status, issue / renewal / expiration dates, mailing location (city, state, ZIP, county, and full street where the state publishes it), disciplinary-action flag where available, plus a derived lead score.
The current price of each event is shown on the Pricing tab of this page. Set a maximum total charge on the run if you want a hard cap on spend, and use the input limits to control how much the Actor fetches.
Automate & schedule
Run this actor on autopilot and pull results into your own stack:
- Apify API — start runs, fetch datasets, and manage schedules over REST.
- apify-client for JavaScript and apify-client for Python — official SDKs.
- Schedules — run it daily/weekly to capture newly-licensed professionals and upcoming renewals; combine with
monitorModeso each run returns only what's new. - Webhooks — trigger downstream actions (CRM import, Slack alert, email sequence) the moment a run finishes.
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'MY_APIFY_TOKEN' });const run = await client.actor('scrapesage/us-professional-license-scraper').call({states: ['CO', 'CT', 'DE', 'TX'],professionKeywords: ['real estate'],issuedAfter: '2025-01-01',maxResults: 2000,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(`Got ${items.length} license leads`);
Integrate with any app
Connect the dataset to 5,000+ apps — no code required:
- Make — multi-step automation scenarios.
- Zapier — push new license leads straight into your CRM.
- Slack — get notified when a monitored search finds new licensees.
- Google Drive / Sheets — auto-export every run to a spreadsheet.
- Airbyte — pipe results into your data warehouse.
- GitHub — trigger runs from commits or releases.
Use with AI assistants (MCP)
The output is clean, LLM-ready JSON. You can call this actor from Claude, ChatGPT, or any agent framework through the Apify MCP server — ask your assistant to "find active electrics licensed in Texas and Colorado" and let it run this scraper for you.
Agent-ready: autonomous payments (x402 & Skyfire)
This actor is agent-ready — AI agents can discover it, run it, and pay for it autonomously, with no Apify account and no human in the loop. It uses pay-per-event pricing and limited permissions, so it qualifies for Apify's agentic-payment standards:
- x402 — an open, HTTP-native payment protocol. Agents pay per run in USDC on the Base network directly through the Apify MCP server — no account, no API key.
- Skyfire — agent-to-service payments for fully autonomous AI-agent workflows.
Building an AI agent, MCP tool, or autonomous data pipeline? This scraper is ready to plug in and pay as it goes.
More scrapers from scrapesage
Build a complete US B2B lead-gen stack with official-data siblings:
- US Business Formation Scraper — newly-registered LLCs & corporations (fresh business leads).
- US Contractor License Scraper — state contractor boards with surety bond & insurance data.
- SBA Loan Leads Scraper — recently-financed small businesses (7(a) & 504).
- NPI NPPES Scraper — 8M+ US healthcare providers from the national registry.
- TaxBuzz Scraper — CPA & tax-preparer leads.
- FindLaw Scraper — attorney & law-firm leads.
- Healthgrades Scraper — doctor & provider leads with reviews.
- Insurance Agent Scraper — agency leads.
- GSA eLibrary Scraper — federal-contractor leads.
Tips
- Target a vertical: set
professionKeywords(e.g.["nurse"],["electric","hvac"],["real estate"]) — it's matched per state, so one keyword reaches every board. - Renewal campaigns: combine
expiringBeforewith a profession to build a list of professionals due to renew. - Fresh leads on a schedule: set
issuedAfter+monitorModeand run on a daily Schedule to capture new licensees only. - Colorado professions: CO publishes license-type codes. Common professions (nurse, cosmetologist, engineer, CPA, dentist, veterinarian, pharmacist, counselor, electric, etc.) are mapped automatically; for anything else, pass the raw CO code.
FAQ
Which states are covered? Colorado, Connecticut, Delaware, and Texas — the states that publish complete, individual-level license data on official open-data portals. More states are added over time.
Do I need an API key? No. The data comes from public state open-data portals; no key, login, or browser is required. An optional Socrata app token only raises rate limits for very large runs.
Can I get one profession across all states? Yes — that's the point. professionKeywords is matched against each state's profession field, so a single keyword like nurse returns nurses from every selected board in one run.
Does it include contact emails or phone numbers? State boards generally don't publish those. This actor returns the official record — name, profession, license number, status, dates, and the mailing address the board publishes (CT includes full street address; CO/DE include city + ZIP; TX includes county).
How do I monitor new licenses automatically? Turn on monitorMode and create a Schedule. Each run returns only licenses that are new (or newly renewed) since the last run, tagged monitorEvent: "new".
Is this legal? This actor collects publicly available government records only. You are responsible for using the data in compliance with applicable laws (e.g. GDPR/CCPA where relevant) and each portal's terms.
A field is null — why? Each state board publishes a different set of fields. A field is null when that particular board doesn't publish it (e.g. Texas has no street address; only CT publishes street).
Data & lawful use
The source is an official public register, published so that anyone can consult it. Records can name individuals (individual licence holders), so the output may contain personal data even though it is public. If you are in the EU or UK you are the data controller for what you do with it: have a lawful basis, honour access and deletion requests, and respect the register's own reuse conditions, which can restrict marketing or commercial use.
Under Apify's Standard Actor Contract, which governs your use of this Actor, you are the controller of any personal data in your input and output and scrapesage acts only as your processor: that data is processed solely to run your job, written only to your own Apify storage, never used for any other purpose and never shared onward. If you need help with a data-subject request that involves this Actor's output, open an issue on the Issues tab.
Disclaimer
This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by US state professional-licensing boards or any government body. All trademarks mentioned are the property of their respective owners.
"US state professional-licensing boards" is referenced only in a descriptive, nominative sense - to identify the public data source this Actor collects from. This Actor is not an official product or service of US state professional-licensing boards and is not authorised or certified by it. It collects only publicly available records; you are responsible for ensuring your use of that data complies with applicable laws, regulations and the source's own terms of use or reuse conditions.
Need help?
Open an issue on the actor's Issues tab, or visit the Apify help center. Feature requests — including additional states — are welcome.