Mississippi MSBOC Contractor License Search Scraper
Pricing
from $20.80 / 1,000 results
Mississippi MSBOC Contractor License Search Scraper
Search Mississippi State Board of Contractors licensed commercial & residential contractors. Get license number, status, classifications, address, phone, officers and expiration. Export JSON, CSV, Excel.
Pricing
from $20.80 / 1,000 results
Rating
0.0
(0)
Developer
Scrapers Lat
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
5 days ago
Last modified
Categories
Share
Mississippi MSBOC Contractor License Search Scraper
Here is one real result, with every field the actor returns:
{"licenseType": "Commercial","companyName": "2R RENOVATIONS/ELECTRICAL LLC","licenseNumber": "18865-MC","status": "Licensed Expired","address": "P.O. BOX 975","city": "HERNANDO","state": "MS","zip": "38632","phone": "901-497-0718","fax": "662-429-4423","expiration": "01/14/2016","firstIssueDate": "04/08/2011","minority": "Yes","classifications": [{ "classification": "ELECTRICAL WORK", "qualifyingName": "EDWARD WINTERS" }],"classificationNames": ["ELECTRICAL WORK"],"officers": [{ "name": "PAMELA COLVIN", "title": "PRESIDENT" }],"detailUrl": "https://search.msboc.us/Detail.cfm?ContractorID=22190&ContractorType=Commercial&varDataSource=BOC","source": "msboc","observedAt": "2026-08-11T12:53:43.911Z"}
The most complete Mississippi MSBOC contractor scraper available. It returns every field the Mississippi State Board of Contractors license search exposes for each contractor, plus the full classification list, qualifying party and company officers, and gives you eleven filters to target exactly the licensees you need.
📥 Input · 📤 Output · 💰 Pricing · ▶️ Examples
Table of contents
- What it does
- Quickstart
- Input reference
- Output reference
- Example output record
- Run via API and CLI
- Fetch results
- Billing and limits
- FAQ and troubleshooting
What it does
The actor searches the Mississippi State Board of Contractors (MSBOC) license database for commercial (Certificate of Responsibility) and residential contractors, applies the filters you pass, and writes one normalized record per contractor to the run's dataset. Each record carries the company name, license number, status, full address, phone and fax. When withDetails is enabled it opens each contractor's detail page to add trade classifications with the qualifying party, company officers, license expiration and first-issue date. Missing source values are returned as null.
Quickstart
Open the actor, paste this into the input, and press Run. It returns 3 commercial electrical contractors with full license details.
{"licenseType": "commercial","keyword": "electrical","maxRecords": 3,"withDetails": true,"status": "any"}
Leave keyword empty and set filters like city, county or status to build a targeted list. Turn off withDetails for a faster listing-only run.
Input reference
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
licenseType | enum | no | both | Which register to search: both, commercial (Certificate of Responsibility), or residential. |
keyword | string | no | (empty) | Broad keyword matched across company name and trade/classification, for example roofing, electrical. |
companyName | string | no | (empty) | Filter by contractor / company name. |
licenseNumber | string | no | (empty) | Filter by license number. Digits only; letter prefix/suffix is ignored automatically. |
city | string | no | (empty) | Filter by contractor city. |
county | string | no | (empty) | Filter by Mississippi county. |
state | string | no | (empty) | Filter by state (2-letter code, for example MS). Out-of-state contractors licensed in Mississippi are included. |
zip | string | no | (empty) | Filter by ZIP code. |
classCode | string | no | (empty) | Advanced: exact MSBOC classification code for precise trade filtering. Most users should use keyword. |
status | enum | no | any | Return only contractors whose status matches: any, active, expired, revoked, suspended. |
withDetails | boolean | no | true | Open each detail page for classifications, qualifying party, officers, expiration, first-issue date and fax. Turn off for faster listing-only results. |
maxRecords | integer | no | 50 | Maximum number of contractors to return in one run. |
Output reference
One dataset item per contractor. Types: string, object[], string[], or null when the source value is absent.
| Field | Type | Description |
|---|---|---|
licenseType | string | Commercial or Residential. |
companyName | string | Contractor / company name. |
licenseNumber | string | License / certificate number. |
status | string | License status text, for example Licensed Active or Licensed Expired. |
address | string | Street or mailing address. |
city | string | City. |
state | string | State code. |
zip | string | ZIP code. |
phone | string | Phone number, or null. |
fax | string | Fax number, or null. |
expiration | string | License expiration date (MM/DD/YYYY). |
firstIssueDate | string | First issue date (MM/DD/YYYY), or null. |
minority | string | Minority-owned flag (Yes/No), or null. |
classifications | object[] | Trade classifications, each with classification and qualifyingName. |
classificationNames | string[] | Flat list of classification names. |
officers | object[] | Company officers, each with name and title. |
detailUrl | string | MSBOC detail page URL for this contractor. |
source | string | Source identifier (msboc). |
observedAt | string | ISO 8601 timestamp of when the record was collected. |
Example output record
Real record from a live run (input {"licenseType":"commercial","keyword":"electrical","maxRecords":3,"withDetails":true}):
{"licenseType": "Commercial","companyName": "2R RENOVATIONS/ELECTRICAL LLC","licenseNumber": "18865-MC","status": "Licensed Expired","address": "P.O. BOX 975","city": "HERNANDO","state": "MS","zip": "38632","phone": "901-497-0718","fax": "662-429-4423","expiration": "01/14/2016","firstIssueDate": "04/08/2011","minority": "Yes","classifications": [{ "classification": "ELECTRICAL WORK", "qualifyingName": "EDWARD WINTERS" }],"classificationNames": ["ELECTRICAL WORK"],"officers": [{ "name": "PAMELA COLVIN", "title": "PRESIDENT" }],"detailUrl": "https://search.msboc.us/Detail.cfm?ContractorID=22190&ContractorType=Commercial&varDataSource=BOC","source": "msboc","observedAt": "2026-08-11T12:53:43.911Z"}
Run via API and CLI
Start a run and wait for it to finish, then read the dataset. Replace <TOKEN> with your Apify API token.
Run synchronously and get dataset items in one call:
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~mississippi-msboc-contractors-scraper/run-sync-get-dataset-items?token=<TOKEN>" \-H "Content-Type: application/json" \-d '{"licenseType":"commercial","keyword":"electrical","maxRecords":25,"withDetails":true}'
Start a run asynchronously:
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~mississippi-msboc-contractors-scraper/runs?token=<TOKEN>" \-H "Content-Type: application/json" \-d '{"city":"Jackson","status":"active","maxRecords":200}'
Apify CLI:
apify call scrapers_lat/mississippi-msboc-contractors-scraper \--input '{"keyword":"roofing","licenseType":"residential"}'
Fetch results
Every run writes to a dataset. Fetch items as JSON, CSV, or Excel by changing format:
# JSONcurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=json"# CSVcurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=csv"# Paginate large datasetscurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&offset=1000&limit=1000"
<DATASET_ID> is returned as defaultDatasetId in the run object. Use offset and limit to page through large result sets. clean=true drops empty and internal fields.
Billing and limits
- Pay per result. You are charged per contractor record returned (
resultevent). See the pricing tab for the current per-result price. - Details add-on. When
withDetailsis on, adetailscharge applies once per contractor whose detail page is successfully fetched. Turn it off for listing-only results. - No charge on failure. If a run errors, the actor writes a single item with a populated
errorfield and does not charge for it. Empty runs cost nothing. - Spend cap respected. Set
maxTotalChargeUsdon the run; once reached, the actor stops emitting and charging further billable results. - Free Apify plans are capped at 10 records per run. Upgrade for higher
maxRecords.
FAQ and troubleshooting
A run returned 0 records. Why?
The filter combination matched nothing. Loosen filters (for example remove city or widen status to any), or use a broader keyword. Zero-result runs are not charged.
How do I get only active licenses?
Set status to active. It keeps currently-licensed, non-expired records.
What is the difference between commercial and residential?
Commercial contractors hold a Certificate of Responsibility; residential contractors are a separate MSBOC register. Use licenseType to pick one or search both.
How do I get classifications and officers?
Keep withDetails enabled (the default). It opens each detail page to add classifications, classificationNames, officers, expiration and firstIssueDate.
Is this an official MSBOC tool? No. This actor is independent and has no affiliation with the Mississippi State Board of Contractors. It reads only data that is publicly available through the MSBOC license search. Use it in accordance with the source terms of service.
Related scrapers
- California CSLB Scraper: California licensed contractors.
- Alabama LBGC Contractors Scraper: Alabama general contractors.
- Louisiana LSLBC Contractors Scraper: Louisiana licensed contractors.
- Florida DBPR Scraper: Florida professional and contractor licenses.
- Chicago Building Permits Scraper: Chicago construction permits.
- Google Maps Business Leads Scraper: local contractor leads with contacts.
More scrapers at scrapers.lat
Built and maintained by scrapers.lat, where we publish scrapers for US and Latin American public platforms: company registries, government data, finance, e-commerce and more. Browse the catalog or request a custom scraper at scrapers.lat.
Independent tool, not affiliated with the Mississippi State Board of Contractors. Accesses only publicly available MSBOC data. Use in accordance with the source terms of service.
