California Cannabis License & Business Leads avatar

California Cannabis License & Business Leads

Pricing

from $1.00 / 1,000 results

Go to Apify Store
California Cannabis License & Business Leads

California Cannabis License & Business Leads

Search official California DCC cannabis licenses by status, type, county, dates, contacts, and expiration—ready for lead generation, compliance, and market research.

Pricing

from $1.00 / 1,000 results

Rating

0.0

(0)

Developer

ScrapeSignal Labs

ScrapeSignal Labs

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Build targeted California cannabis business lists from the official Department of Cannabis Control registry—without searching licenses one at a time. Filter by status, license type, county, city, issue date, expiration date, and contact availability, then export clean records to CSV, Excel, JSON, or your CRM.

Every result can include the license number and status, legal and DBA names, public owner and business contacts, premises address, county, parcel number, coordinates, issue date, expiration date, and a direct official source link.

The Actor calls California's public JSON API directly. It does not launch a browser, require an API key, or use a proxy.

Built for actionable lists—not just bulk exports

  • Find active retailers, delivery operators, laboratories, distributors, manufacturers, cultivators, event organizers, and microbusinesses.
  • Require a published email or phone before paying for and saving a result.
  • Identify newly issued licenses with an exact issue-date window.
  • Find upcoming renewals with expiration filters and daysUntilExpiration.
  • Segment the market by county, city, ZIP code, license category, or designation.
  • Preserve direct source links and the DCC data-refresh timestamp for verification.

Why this dataset is useful

  • Lead generation: find licensed retailers, delivery operators, laboratories, distributors, manufacturers, cultivators, and microbusinesses with published email and phone contacts.
  • New-license monitoring: sort by newest issue date or set an issue-date window to find newly licensed operators.
  • Renewal workflows: query an expiration window and use daysUntilExpiration to identify upcoming renewals.
  • Compliance and verification: check official status, designation, license type, business owner, and source record.
  • Market mapping: analyze operators by county, city, ZIP code, category, and coordinates.

At the time this Actor was built, the registry contained more than 20,000 historical licenses and more than 7,500 active licenses. Counts change as DCC refreshes the registry.

Quick start

The default run returns the first 100 active licenses statewide.

To collect active retailers in Los Angeles County that have both an email and phone:

{
"activeOnly": true,
"licenseCategories": ["retailer"],
"county": "Los Angeles",
"withEmailOnly": true,
"withPhoneOnly": true,
"maxItems": 1000
}

To find the newest licenses issued in a date window:

{
"activeOnly": true,
"issuedFrom": "2026-08-01",
"issuedTo": "2026-08-31",
"sortBy": "newestIssued",
"maxItems": 500
}

To monitor active licenses expiring in the next quarter, supply the actual start and end dates for the quarter:

{
"activeOnly": true,
"expiresFrom": "2026-10-01",
"expiresTo": "2026-12-31",
"sortBy": "soonestExpiration",
"maxItems": 5000
}

Input

All filters combine.

FieldTypeDefaultDescription
searchQuerystringemptyFree-text search across license, business, owner, type, and address fields.
licenseNumberstringemptyFull or partial DCC license number.
activeOnlybooleantrueRestrict results to official status Active.
licenseStatusesstring[][]Statuses to include when activeOnly is false. Empty means all.
licenseCategoriesstring[][]Normalized categories: retailer, delivery, testing-laboratory, microbusiness, event-organizer, distributor, manufacturer, cultivator.
licenseDesignationstringemptyOfficial designation, such as Adult-Use and Medicinal.
countystringemptyPremises county.
citystringemptyPremises city.
zipCodestringemptyFive-digit premises ZIP code.
issuedFrom, issuedTodateemptyInclusive issue-date window in YYYY-MM-DD format.
expiresFrom, expiresTodateemptyInclusive expiration-date window in YYYY-MM-DD format.
withEmailOnlybooleanfalseRequire a published business email.
withPhoneOnlybooleanfalseRequire a published business phone.
sortBystringlicenseNumberAscLicense number, newest issued, soonest expiration, or business name.
maxItemsinteger100Maximum records to save, up to 50,000.
includeRawbooleanfalseInclude the unmodified DCC API object under raw.

When activeOnly is true, licenseStatuses is intentionally ignored.

Output

One dataset item represents one state license. Important fields include:

  • License: licenseNumber, licenseStatus, licenseCategory, licenseType, licenseDesignation, licenseTerm
  • Dates: issueDate, expirationDate, daysUntilExpiration, expiresWithin90Days
  • Business: businessName, legalName, dbaName, ownerName, businessStructure, activity
  • Contact: email, phone
  • Location: streetAddress, city, county, state, zipCode, fullAddress, parcelNumber, latitude, longitude
  • Traceability: sourceUrl, sourceApiUrl, sourceDataRefreshedAt, scrapedAt

Source strings such as Data Not Available are returned as null. Dates are normalized to YYYY-MM-DD; emails are lowercased. No missing value is guessed or enriched from a third party.

Run through the Apify API

curl -X POST "https://api.apify.com/v2/acts/YOUR_USERNAME~california-cannabis-license-scraper/runs?token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"activeOnly":true,"licenseCategories":["distributor"],"maxItems":500}'

You can also save an Apify Task and attach a schedule for daily or weekly monitoring. Use licenseNumber or recordId as the stable upsert key in downstream systems.

Data source and limitations

Data comes from the California Cannabis Unified License Search and its public DCC API. Each item links back to the official record.

  • This is an independent Actor and is not affiliated with or endorsed by the California Department of Cannabis Control.
  • A status reflects the source at its last published refresh. Always open sourceUrl for a time-sensitive compliance decision.
  • DCC may publish inconsistent capitalization or historical records whose dates appear unusual. The Actor preserves substantive source values and does not reinterpret official status.
  • Contact and owner fields are public registry data. Users are responsible for lawful outreach, privacy compliance, and honoring opt-out requests.

Local development

Requires Node.js 20 or newer.

npm install
npm test
npm start

Local Apify storage is written to storage/. Set Actor input in storage/key_value_stores/default/INPUT.json or through the Apify CLI.

License

MIT