California DRE Licensee Search Scraper avatar

California DRE Licensee Search Scraper

Pricing

Pay per event

Go to Apify Store
California DRE Licensee Search Scraper

California DRE Licensee Search Scraper

Search California DRE public real estate license records by name, city, or license ID and export license status, dates, broker, address, and discipline comments.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Stas Persiianenko

Stas Persiianenko

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Share

Search California Department of Real Estate public license records and export structured licensee data for compliance, recruiting, lead generation, and monitoring workflows.

What does California DRE Licensee Search Scraper do?

California DRE Licensee Search Scraper turns the public California Department of Real Estate license lookup into a clean dataset. It searches by DRE license ID or by licensee/company name with an optional mailing-address city filter, opens matching license detail pages, and saves structured fields such as license status, license type, issue date, expiration date, responsible broker, address, mortgage-loan-originator flag, and public discipline comments.

Who is it for?

  • ๐Ÿข Brokerages building lists of agents, brokers, and corporations in California.
  • ๐Ÿงพ Compliance teams checking license status, expiration dates, and disciplinary comments.
  • ๐Ÿค Recruiters sourcing real estate professionals by city or surname.
  • ๐Ÿฆ Mortgage and title vendors validating real estate license records before outreach.
  • ๐Ÿ“Š Data teams refreshing California license records for CRMs, warehouses, or dashboards.

Why use this scraper?

The DRE public lookup is useful but manual. This actor automates repeated searches, standardizes the output, and keeps a source URL for every record so your team can audit the original public page.

Data you can extract

FieldDescription
licenseIdCalifornia DRE license number
nameLicensee, broker, corporation, or company name
licenseTypeSalesperson, broker, corporation, or other DRE type
licenseStatusStatus shown on the DRE detail page
mailingAddressCityCity shown in the search results
mailingAddressFull mailing address from the detail page when public
expirationDateLicense expiration date
issueDateLicense issue date text
responsibleBrokerCurrent responsible broker when shown
formerNamesFormer names shown by DRE
disciplinaryActionPublic discipline/comment text
mortgageLoanOriginatorMLO marker from search results
sourceUrlDRE source page URL
scrapedAtTimestamp when the record was collected

How much does it cost to scrape California DRE license records?

This actor uses pay-per-event pricing. Each run has a small start event and then charges per saved licensee record. You can keep costs predictable with maxResults, direct licenseIds, and a city filter for broad names.

Input options

  • licenseIds โ€” one or more known DRE license IDs.
  • licenseeName โ€” surname, full name, company name, or broker name.
  • city โ€” optional mailing-address city filter.
  • maxResults โ€” maximum number of license records to save.
  • includeDetails โ€” open detail pages for status, broker, date, and address fields.
  • requestDelayMillis โ€” polite delay between detail requests.

Example input: known license IDs

{
"licenseIds": ["01244127"],
"maxResults": 1,
"includeDetails": true
}

Example input: city lead list

{
"licenseeName": "Smith",
"city": "ENCINITAS",
"maxResults": 25,
"includeDetails": true,
"requestDelayMillis": 250
}

Example output

{
"licenseId": "01244127",
"name": "Smith, Aaron Bryson",
"licenseType": "SALESPERSON",
"licenseStatus": "EXPIRED",
"mailingAddressCity": "ENCINITAS",
"mailingAddress": "130 CADMUS ST | ENCINITAS, CA 92024",
"expirationDate": "07/27/12",
"issueDate": "09/05/98",
"responsibleBroker": "NO CURRENT RESPONSIBLE BROKER",
"disciplinaryAction": "NO DISCIPLINARY ACTION",
"sourceUrl": "https://www2.dre.ca.gov/PublicASP/pplinfo.asp?License_id=01244127",
"scrapedAt": "2026-07-04T05:44:50.680Z"
}

How to run

  1. Open the actor on Apify.
  2. Enter one or more license IDs, or enter a name/company search.
  3. Optionally add a city to narrow broad surname searches.
  4. Set maxResults to the number of records you need.
  5. Run the actor and export the dataset as JSON, CSV, Excel, or via API.

Tips for better searches

  • Use direct license IDs for monitoring known licensees.
  • Add city for broad last names such as Smith, Garcia, Lee, or Johnson.
  • Keep maxResults low for first tests, then increase once the search is correct.
  • Leave includeDetails enabled when you need status, dates, broker, address, or discipline fields.
  • Use a delay for larger runs to keep requests polite.

Integrations

  • ๐Ÿ“Œ Send results to a CRM as California real estate leads.
  • ๐Ÿงพ Join with internal compliance lists by licenseId.
  • ๐Ÿ“ฌ Export CSV for broker recruiting campaigns.
  • ๐Ÿ“Š Load records into BigQuery, Snowflake, Postgres, or Airtable.
  • ๐Ÿ”” Schedule daily or weekly monitoring for known license IDs.

API usage with Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('automation-lab/california-dre-licensee-search-scraper').call({
licenseeName: 'Smith',
city: 'ENCINITAS',
maxResults: 10,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

API usage with Python

from apify_client import ApifyClient
client = ApifyClient('YOUR_APIFY_TOKEN')
run = client.actor('automation-lab/california-dre-licensee-search-scraper').call(run_input={
'licenseIds': ['01244127'],
'maxResults': 1,
})
items = client.dataset(run['defaultDatasetId']).list_items().items
print(items)

API usage with cURL

curl -X POST "https://api.apify.com/v2/acts/automation-lab~california-dre-licensee-search-scraper/runs?token=$APIFY_TOKEN" \
-H 'Content-Type: application/json' \
-d '{"licenseeName":"Smith","city":"ENCINITAS","maxResults":10}'

MCP: use from Claude Code or Claude Desktop

Connect Apify MCP and enable this actor with:

https://mcp.apify.com/?tools=automation-lab/california-dre-licensee-search-scraper

Claude Code CLI setup:

$claude mcp add apify-california-dre "https://mcp.apify.com/?tools=automation-lab/california-dre-licensee-search-scraper"

Claude Desktop JSON configuration:

{
"mcpServers": {
"apify-california-dre": {
"url": "https://mcp.apify.com/?tools=automation-lab/california-dre-licensee-search-scraper"
}
}
}

Example prompts:

  • "Search California DRE for license ID 01244127 and summarize the status."
  • "Find up to 20 DRE license records for Smith in Encinitas and make a CSV."
  • "Monitor these California DRE license IDs and flag expired records."

Scheduling and monitoring

Create an Apify task with your preferred input and schedule it daily, weekly, or monthly. For compliance monitoring, store direct license IDs in licenseIds so each run checks the same records.

Handling broad searches

Some California surnames return thousands of records. Use city and maxResults to keep runs focused. If you need statewide coverage for a broad name, run multiple city-specific tasks or increase maxResults gradually.

Legality and ethical use

This actor extracts public information from the California Department of Real Estate public license lookup. Use the data responsibly, follow applicable laws, respect the source website, and do not use results for unlawful spam, harassment, discrimination, or misleading licensing claims.

FAQ

Can I search by exact license ID? Yes. Put one or more values in licenseIds and keep includeDetails enabled.

Can I scrape all California DRE records? The actor is designed for targeted public lookup workflows. Use name/city filters and reasonable maxResults values.

Does the actor use a browser? No. The DRE pages are server-rendered, so HTTP extraction is faster and cheaper.

Troubleshooting: no results

If a name search returns no records, check spelling and try the DRE style: last name first for individuals, or the exact company name for corporations. You can also remove the city filter and rerun with a small maxResults value.

Troubleshooting: too many results

Add a city filter, use a more specific name, or provide direct license IDs. Broad surnames can return very large result sets from the DRE lookup.

Changelog

  • Initial version: California DRE public license search by license ID or name/city.

Support

If you need a field that appears on DRE public pages but is not in the dataset, open an Apify issue with an example license ID and expected field.

Notes on source data

The DRE website controls the source records. The actor reports the public text available at scrape time and includes sourceUrl plus scrapedAt for auditability.

Performance

HTTP extraction is used because the DRE pages are server-rendered. No browser is required, which keeps runs lightweight and suitable for scheduled monitoring.