Ohio Real Estate Licensees Scraper (Broker Affiliations)
Pricing
from $12.75 / 1,000 results
Ohio Real Estate Licensees Scraper (Broker Affiliations)
Scrape Ohio real-estate licensees (salespersons, brokers, appraisers, home inspectors, brokerages) with their broker affiliation, license type, status and dates. Filter by name, license number, status or type. Export to JSON, CSV or Excel.
Pricing
from $12.75 / 1,000 results
Rating
0.0
(0)
Developer
Scrapers Lat
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
7 days ago
Last modified
Categories
Share
Ohio Real Estate Licensees Scraper (Broker Affiliations)
Here is one real result, with every field the actor returns:
{"licenseNumber": "ARA.2006003331","fullName": "Darlene Smith","firstName": "Darlene","lastName": "Smith","preferredName": null,"organizationName": "Darlene R. Smith","licenseType": "Appraiser Assistant","status": "Active","statusReason": null,"effectiveDate": "2025-03-25","expirationDate": "2027-05-12","brokerName": "Jeffrey Smith","brokerLicenseNumber": "ACG.412888","hasBrokerAffiliation": true,"state": "OH","source": "Ohio Division of Real Estate & Professional Licensing","observedAt": "2026-08-13T05:13:45.439Z"}
The most complete Ohio real-estate licensee scraper available. It returns every field the Ohio Division of Real Estate & Professional Licensing roster exposes for each licensee, plus the brokerage or primary licensee each agent is affiliated with, and gives you name, license number, status, license type and brokerage 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 downloads the official Ohio Division of Real Estate & Professional Licensing roster (salespersons, brokers, brokerages, appraisers, home inspectors, and land professionals), applies the filters you pass as input, and writes one normalized record per matching licensee to the run's dataset. Each agent is linked to the brokerage or primary licensee they are affiliated with (brokerName, brokerLicenseNumber). Dates are normalized to YYYY-MM-DD, missing source values are returned as null, and records are de-duplicated by license number.
Data covers Ohio licensees only. The roster is published as a public file and refreshed daily.
Quickstart
Open the actor, paste this into the input, and press Run. It returns 15 active licensees named Smith.
{"names": ["Smith"],"statuses": ["Active"],"maxLicensees": 15}
Leave names empty to match all licensees. Every input field is optional; with an empty input the actor returns licensees from the top of the roster (default maxLicensees is 100).
Input reference
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
names | string[] | no | ["Smith"] | Filter by licensee name (first, last, preferred, or business name). Partial match, case-insensitive. Leave empty to match all. |
licenseNumbers | string[] | no | (none) | Filter by exact license number(s), for example SAL.2005003139 or REC.2019000205. |
statuses | string[] | no | (none) | Filter by status: Active, Inactive, Closed, or Denied. |
licenseTypes | string[] | no | (none) | Filter by license type, for example Salesperson, Broker, Brokerage, Appraiser, Home Inspector License, Land Professional. Partial match. |
brokerNames | string[] | no | (none) | Filter agents by their affiliated brokerage or primary licensee name, for example Red 1 Realty. Partial match. |
maxLicensees | integer | no | 100 | Maximum number of matching licensees to return. |
Filters combine with logical AND across categories and OR within a category (a licensee is kept if it matches any value in each populated filter).
Output reference
One dataset item per licensee. Types: string, boolean, or null when the source value is absent.
| Field | Type | Description |
|---|---|---|
licenseNumber | string | Ohio license number (unique per licensee), for example SAL.2009001410. |
fullName | string | Display name built from the licensee's identity fields. |
firstName | string | Legacy first name, or null. |
lastName | string | Legacy last name, or null. |
preferredName | string | Preferred name when published, else null. |
organizationName | string | Organization or business account name, or null. |
licenseType | string | License type or specialty, for example Salesperson, Broker, Appraiser Assistant. |
status | string | License status: Active, Inactive, Closed, or Denied. |
statusReason | string | Reason for the current status when published, else null. |
effectiveDate | string | Date the current license became effective (YYYY-MM-DD). |
expirationDate | string | Date the license expires (YYYY-MM-DD). |
brokerName | string | Affiliated brokerage or primary licensee name, or null. |
brokerLicenseNumber | string | License number of the affiliated brokerage or primary licensee. |
hasBrokerAffiliation | boolean | true when the licensee is affiliated with a brokerage or primary licensee. |
state | string | State code. Always OH. |
source | string | Source dataset name. |
observedAt | string | ISO 8601 timestamp of when the record was collected. |
On a failed run, a single item with a populated error field (plus source and observedAt) is written instead.
Example output record
Real record from a live run (input {"names":["Smith"],"statuses":["Active"],"maxLicensees":15}):
{"licenseNumber": "SAL.2009001410","fullName": "Marie Leist-Smith","firstName": "Marie","lastName": "Leist-Smith","preferredName": null,"organizationName": "Marie Leist-Smith","licenseType": "Salesperson","status": "Active","statusReason": null,"effectiveDate": "2024-09-26","expirationDate": "2027-09-25","brokerName": "Comey & Shepherd","brokerLicenseNumber": "REC.2006000021","hasBrokerAffiliation": true,"state": "OH","source": "Ohio Division of Real Estate & Professional Licensing","observedAt": "2026-08-13T05:13:45.439Z"}
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~ohio-realestate-licensees-scraper/run-sync-get-dataset-items?token=<TOKEN>" \-H "Content-Type: application/json" \-d '{"statuses":["Active"],"licenseTypes":["Broker"],"maxLicensees":100}'
Start a run asynchronously:
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~ohio-realestate-licensees-scraper/runs?token=<TOKEN>" \-H "Content-Type: application/json" \-d '{"brokerNames":["Red 1 Realty"],"maxLicensees":500}'
Apify CLI:
apify call scrapers_lat/ohio-realestate-licensees-scraper \--input '{"licenseNumbers":["ARA.2006003331"]}'
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 licensee record returned (
resultevent). See the pricing tab for the current per-result price. - No charge on failure. If the roster download fails, 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
maxLicensees.
FAQ and troubleshooting
A run returned 0 records. Why?
The filter combination matched nothing in the roster. Loosen filters (for example remove statuses or licenseTypes), or confirm the name spelling. Zero-result runs are not charged.
Which brokerage is an agent affiliated with?
Each record carries brokerName (the affiliated brokerage or primary licensee) and brokerLicenseNumber. hasBrokerAffiliation is true when an affiliation exists.
How do I find only active brokers?
Set statuses to ["Active"] and licenseTypes to ["Broker"].
Why are some fields null?
Fields like preferredName, organizationName, or statusReason are only filled when the roster publishes them. Missing source values are returned as null, never invented.
How fresh is the data?
The Ohio roster is published as a public file and refreshed daily. Each record carries observedAt with the collection time.
Is this an official Ohio tool? No. This actor is independent and has no affiliation with the Ohio Division of Real Estate & Professional Licensing or the State of Ohio. It reads only data that is publicly available. Use it in accordance with the source's terms of use.
Related scrapers
- Arizona ADRE Real Estate License Scraper: Arizona real-estate licensees and brokerages.
- Georgia GREC Real Estate License Scraper: Georgia real-estate licensees and firms.
- California DRE License Scraper: California real-estate salespersons and brokers.
- California CSLB Contractor License Scraper: Licensed California contractor records.
- ASC Appraiser Registry Scraper: US real-estate appraiser credentials.
- Florida DBPR License Scraper: Florida professional and business licenses.
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 Ohio Division of Real Estate & Professional Licensing or the State of Ohio. Accesses only publicly available licensure data. Use in accordance with the source's terms of use.
