HDL Municipal Business License Registry Scraper avatar

HDL Municipal Business License Registry Scraper

Pricing

from $0.80 / 1,000 record scrapeds

Go to Apify Store
HDL Municipal Business License Registry Scraper

HDL Municipal Business License Registry Scraper

Enumerates the active business-license roll of HdL Companies municipal portals (Pomona, Hayward, El Cajon, Tustin and other reachable HdL cities) by business-type code, returning account number, business name, license status, expiry, and address for every license on file.

Pricing

from $0.80 / 1,000 record scrapeds

Rating

0.0

(0)

Developer

BowTiedRaccoon

BowTiedRaccoon

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Pull the full active business-license roll from HdL Companies-hosted municipal portals — Pomona, Hayward, El Cajon, Tustin, and other reachable HdL city instances. Unlike a name-or-address lookup, this actor walks every business-type category in a city to reconstruct its entire license registry: account number, business name, status, issue/expiry dates, and address — no prior knowledge of a business required.


HDL Municipal Business License Registry Scraper Features

  • Returns the full active roster of a city's business licenses, not just a single lookup result — covers every business-type category by default
  • Multi-city — target one HdL city instance, several, or every reachable one in a single run
  • Derived fields the source doesn't compute for you: license_status (active/expired), days_to_expiry, and is_new_license (flags licenses issued within a configurable lookback window — built for a weekly "what's new" re-run)
  • Deduplicates automatically when the same license could otherwise surface twice
  • A city that isn't reachable at run time is skipped, not treated as a failure — the rest of your requested cities still complete

Who Uses HDL Municipal Business License Registry Data?

  • B2B marketing and lead-generation teams — prospect newly-licensed businesses before they show up anywhere else (a license often predates a website or a state filing)
  • Hyper-local service providers — find every licensed business in a category and city
  • Commercial real-estate brokers — track new tenants taking out a local business license
  • RevOps and data teams — enrich existing lead lists against the official municipal record

How HDL Municipal Business License Registry Scraper Works

  1. Choose which HdL cities to crawl (or leave cities empty to crawl every known-candidate city instance).
  2. Optionally restrict to specific business-type codes with businessTypeIds, or leave it empty to enumerate every business type the city's portal exposes.
  3. The actor walks each requested city, category by category, and returns every license on file for that combination.
  4. Each record is enriched with license_status, days_to_expiry, and is_new_license before it lands in your dataset.

Input

{
"cities": ["pomona"],
"businessTypeIds": [],
"newLicenseLookbackDays": 30,
"maxItems": 500
}
FieldTypeDefaultDescription
citiesarray(all)HdL city instances to crawl (e.g. pomona, hayward). Leave empty for every known-candidate city instance.
businessTypeIdsarray(all)Optional filter: HdL business-type codes to restrict the crawl to. Leave empty to enumerate every business type the city exposes.
newLicenseLookbackDaysinteger30Licenses with a start_date within this many days of the run are flagged is_new_license: true.
maxItemsinteger10Maximum number of license records to return this run.
resumeCursorstring(none)Cursor from a previous run's Output — continue where a large run stopped.

HDL Municipal Business License Registry Scraper Output Fields

{
"jurisdiction": "pomona",
"jurisdiction_subdomain": "pomona",
"account_number": "00207651",
"business_name": "Al Dia Immigration & Business Services",
"start_date": "6/2/2021",
"expire_date": "6/30/2023",
"license_status": "expired",
"business_type": "Accounting & Bookkeeping",
"business_type_id": "1",
"address_full": "3628 LYNOAK DR 201, POMONA, CA 91767",
"street_address": "3628 LYNOAK DR 201",
"city": "POMONA",
"state": "CA",
"zip_code": "91767",
"matched_by": "Business Type",
"days_to_expiry": -778,
"is_new_license": false,
"source_url": "https://pomona.hdlgov.com/Search/Index/BusinessLicense",
"scraped_at": "2026-08-20T00:00:00.000Z"
}
FieldTypeDescription
jurisdictionstringHdL city instance the record came from (e.g. pomona)
jurisdiction_subdomainstringSubdomain slug for the city instance
account_numberstringCity's business-license account number
business_namestringLicensed business name
start_datestringLicense issue date
expire_datestringLicense expiration date
license_statusstringactive or expired, derived by comparing expire_date to the run date
business_typestringBusiness-type category label (e.g. "Accounting & Bookkeeping")
business_type_idstringCity-specific business-type code
address_fullstringFull address as published
street_addressstringParsed street address
citystringParsed city
statestringParsed state
zip_codestringParsed ZIP (or ZIP+4)
matched_bystringSearch axis this record was returned under (Business Type)
days_to_expirynumberDays until expire_date (negative if already expired)
is_new_licensebooleantrue if start_date falls within newLicenseLookbackDays of the run
source_urlstringCanonical source page for this city's license search
scraped_atstringISO-8601 timestamp when this record was scraped

Resuming a large crawl

Every run emits a resumeCursor in its Output. If a large crawl stops before it finishes — because it hit maxItems, your spend cap (maxTotalChargeUsd), or was aborted — start a new run with the same input plus that resumeCursor to continue. You are not re-charged for licenses the earlier run already delivered. Resume within your account's run-retention window — on the free tier, roughly your 10 most recent runs.


FAQ

Does this only find businesses I already know the name or address of?

No. Unlike a lookup tool, this actor enumerates every business-type category in a city to return that city's entire active license roster — you don't need to know a business name in advance.

How do I get only the new licenses issued this week?

Set newLicenseLookbackDays to 7 and filter your downstream results on is_new_license: true. Re-run weekly to build a recurring new-business lead feed.

What happens if a city I request isn't reachable?

That city is skipped for that run and the rest of your requested cities still complete — a single unreachable instance never fails the whole run.

Can I restrict the crawl to specific business types?

Yes — pass the business-type codes you want in businessTypeIds. Leave it empty to enumerate every business type the city's portal exposes.


Need More Features?

Need a city added, the Business Name/Address search axes, or a different output shape? File an issue or get in touch.

Why Use HDL Municipal Business License Registry Scraper?

  • Full roster, not a single lookup — every business-type category, every reachable city, in one run.
  • Built for recurring useis_new_license and newLicenseLookbackDays turn this into a weekly new-business lead feed, not a one-off export.
  • Clean, consistent output — every license follows the same schema across every city.