Discover/Ca API
live

Ca APIwww2.dre.ca.gov

Look up and search California DRE real estate licenses. Get license status, expiration dates, broker details, disciplinary actions, and mailing addresses.

Endpoint health
verified 5d ago
search_license
lookup_license
2/2 passing latest checkself-healing
Endpoints
2
Updated
21d ago

What is the Ca API?

The California DRE License API exposes 2 endpoints for querying public license records maintained by the California Department of Real Estate. The lookup_license endpoint returns 10 structured fields per record — including license type, status, issue and expiration dates, mailing address, and responsible broker details — while search_license lets you find licenses by name, city, or license ID.

Try it
The DRE license ID number (8-digit string, e.g. '01871851')
api.parse.bot/scraper/92e6588e-1ceb-405b-be6a-488d067f7d2c/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/92e6588e-1ceb-405b-be6a-488d067f7d2c/lookup_license?license_id=02120862' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace www2-dre-ca-gov-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

"""Walkthrough: California DRE License Lookup — bounded, re-runnable."""
from parse_apis.california_dre_license_lookup_api import CaliforniaDRE, LicenseNotFound

client = CaliforniaDRE()

# Search for agents by name in a city; limit caps total items fetched.
for summary in client.licensesummaries.search(name="Smith", city_state="Los Angeles", limit=3):
    print(summary.name, summary.license_type, summary.city)

# Drill down: take one result and fetch full license details.
result = client.licensesummaries.search(name="Johnson", limit=1).first()
if result:
    license_detail = result.details()
    print(license_detail.name, license_detail.license_status, license_detail.expiration_date)
    print(license_detail.mailing_address)
    print(license_detail.disciplinary_action)

# Direct lookup by known license ID with typed error handling.
try:
    license_info = client.licenses.get(license_id="01871851")
    print(license_info.name, license_info.license_type, license_info.license_status)
except LicenseNotFound as exc:
    print(f"License not found: {exc.license_id}")

print("exercised: licensesummaries.search / details / licenses.get")
All endpoints · 2 totalmissing one? ·

Look up a California real estate license by license ID. Returns full license details including license type, holder name, mailing address, expiration date, license status, issue date, former names, responsible broker (for salespersons), and disciplinary action. The license_id is an 8-digit DRE number. Returns one complete record per call; no pagination.

Input
ParamTypeDescription
license_idrequiredstringThe DRE license ID number (8-digit string, e.g. '01871851')
Response
{
  "type": "object",
  "fields": {
    "name": "string - licensee name",
    "issue_date": "string (MM/DD/YY)",
    "license_id": "string - DRE license ID",
    "former_names": "string",
    "license_type": "string - BROKER, SALESPERSON, or CORPORATION",
    "broker_address": "string - broker's address (salesperson licenses only)",
    "license_status": "string - e.g. LICENSED, EXPIRED",
    "expiration_date": "string (MM/DD/YY)",
    "mailing_address": "string - multi-line mailing address",
    "broker_license_id": "string - broker's license ID (salesperson licenses only)",
    "responsible_broker": "string - broker name (salesperson licenses only)",
    "disciplinary_action": "string"
  },
  "sample": {
    "data": {
      "name": "Novak, Paul Graham",
      "issue_date": "09/30/11",
      "license_id": "01871851",
      "former_names": "NO FORMER NAMES",
      "license_type": "BROKER",
      "broker_address": "",
      "license_status": "EXPIRED",
      "expiration_date": "12/23/19",
      "mailing_address": "2212 THE STRAND\nAPT B\nMANHATTAN BEACH, CA  90266",
      "broker_license_id": "",
      "responsible_broker": "",
      "disciplinary_action": "NO DISCIPLINARY ACTION\nNO OTHER PUBLIC COMMENTS"
    },
    "status": "success"
  }
}

About the Ca API

Endpoints and Data Coverage

The API covers two operations against the California DRE public license database. lookup_license accepts an 8-digit license_id and returns a single record with fields covering the licensee's full name, license_type (BROKER, SALESPERSON, or CORPORATION), license_status (e.g. LICENSED or EXPIRED), issue_date, expiration_date, and mailing_address. For salesperson licenses it also returns broker_license_id and broker_address, identifying the responsible broker of record. The former_names field surfaces any name history on file.

Search Behavior

search_license accepts up to three optional parameters — name, city_state, and license_id — but at least one of license_id or name must be supplied. Results come back as an array of summary records, each containing license_id, name, license_type, city, and mortgage_loan_originator status, plus a total count of matches. The name parameter supports last-name-only or last, first format, making it practical for partial lookups when you don't have an exact ID.

Data Source and Freshness

All records reflect the California DRE's publicly accessible license database at www2.dre.ca.gov. The data is limited to what the DRE makes available in its public-facing lookup tool: individual license records and search results. Disciplinary action information is included in lookup_license responses where the DRE has recorded it.

Reliability & maintenanceVerified

The Ca API is a managed, monitored endpoint for www2.dre.ca.gov — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when www2.dre.ca.gov changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official www2.dre.ca.gov API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
5d ago
Latest check
2/2 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Verify a real estate agent's current license status before a transaction closes
  • Batch-check expiration dates across a brokerage's roster of salesperson licenses
  • Look up the responsible broker tied to a salesperson license using broker_license_id
  • Screen for disciplinary actions on record before onboarding a new agent
  • Search licenses by city to build a directory of active brokers in a given market
  • Cross-reference former names to match licensees across different data sources
  • Confirm whether a licensee holds a mortgage loan originator designation
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min

One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does the California DRE provide an official developer API?+
No. The California Department of Real Estate does not publish an official REST or data API. Public license data is available through a web form at www2.dre.ca.gov/publicasp/pplinfo.asp, but there is no documented programmatic interface.
What does the `lookup_license` endpoint return for broker vs. salesperson licenses?+
Both return the core fields: name, license_type, license_status, issue_date, expiration_date, mailing_address, and former_names. Salesperson records additionally include broker_license_id and broker_address identifying their responsible broker. CORPORATION license records return the core fields only.
Does the API return disciplinary action details such as case numbers or violation types?+
The lookup_license endpoint indicates whether disciplinary action is on record for a licensee, as the DRE exposes it in the public record. Structured case details, violation descriptions, or hearing outcomes are not broken out as discrete fields in the current response. You can fork this API on Parse and revise it to add an endpoint targeting the DRE's disciplinary action detail pages if that granularity is needed.
Can I retrieve a list of all licenses in a given city without a name or license ID?+
search_license requires at least one of name or license_id to be provided; city_state alone is not a valid query. The current API does not support open-ended geographic browsing. You can fork it on Parse and revise to add a broader geographic search endpoint if the DRE's public interface supports that query pattern.
How many results does `search_license` return for a broad name query?+
The response includes a total field indicating the number of matches found. The DRE's public lookup imposes its own result limits for broad queries; results beyond that threshold are not guaranteed to be returned. Narrowing queries with city_state in addition to name reduces ambiguity and typically yields more targeted result sets.
Page content last updated . Spec covers 2 endpoints from www2.dre.ca.gov.
Related APIs in Government PublicSee all →
texasrealestate.com API
Search for Texas real estate agents and view their detailed profiles, including licensing information and contact details from the official Texas REALTORS® directory. Filter your search using available options to find the right agent for your needs.
losangeles.gov API
Search for building permits, inspection records, and property details for Los Angeles addresses to access permit histories, parcel information, code enforcement records, and occupancy certificates. Track retrofit programs and get comprehensive permit summaries to research property compliance and construction activity in LA.
realtor.com API
Search millions of real estate listings on Realtor.com, view detailed property information, find qualified agents in your area, and access market analytics to understand pricing trends. Get location suggestions and property insights all in one place to help you make informed decisions about buying, selling, or investing in real estate.
iardc.org API
Search for Illinois-licensed lawyers and access their registration status, contact information, admission dates, and discipline records through the IARDC database. Find detailed information about any lawyer registered with the Illinois Attorney Registration & Disciplinary Commission to verify credentials and review their professional history.
myfloridalicense.com API
Search and verify Florida veterinary licenses issued by the Department of Business & Professional Regulation, retrieving detailed practitioner information, license status, and credentials. Look up veterinarians by name or license number to confirm their professional standing and qualifications.
caljobs.ca.gov API
Search and discover job listings from California's official CalJOBS database, with the ability to filter results by posting date and specific employers to find opportunities that match your needs. View detailed information about individual positions to learn more about roles that interest you.
idoi.illinois.gov API
Search for licensed insurance producers, agents, agencies, and public adjusters in Illinois while accessing their professional credentials and contact information. Quickly verify agent licensing status and retrieve detailed practitioner details through comprehensive site-wide search capabilities.
rew.ca API
Search rental and for-sale properties across Canada, get detailed listing information, explore neighbourhoods, and find real estate agents in your area. Access property details, agent profiles, and neighbourhood data all in one place.