OrbTop

HDL Municipal Business License Registry Scraper

BUSINESSLEAD GENERATION

Independent tool. Trademarks referenced on this page are the property of their respective owners and are used only to identify the public website this tool reads. No affiliation or endorsement.

HDL Municipal Business License Registry Scraper

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
}
Field Type Default Description
cities array (all) HdL city instances to crawl (e.g. pomona, hayward). Leave empty for every known-candidate city instance.
businessTypeIds array (all) Optional filter: HdL business-type codes to restrict the crawl to. Leave empty to enumerate every business type the city exposes.
newLicenseLookbackDays integer 30 Licenses with a start_date within this many days of the run are flagged is_new_license: true.
maxItems integer 10 Maximum number of license records to return this run.
resumeCursor string (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"
}
Field Type Description
jurisdiction string HdL city instance the record came from (e.g. pomona)
jurisdiction_subdomain string Subdomain slug for the city instance
account_number string City's business-license account number
business_name string Licensed business name
start_date string License issue date
expire_date string License expiration date
license_status string active or expired, derived by comparing expire_date to the run date
business_type string Business-type category label (e.g. "Accounting & Bookkeeping")
business_type_id string City-specific business-type code
address_full string Full address as published
street_address string Parsed street address
city string Parsed city
state string Parsed state
zip_code string Parsed ZIP (or ZIP+4)
matched_by string Search axis this record was returned under (Business Type)
days_to_expiry number Days until expire_date (negative if already expired)
is_new_license boolean true if start_date falls within newLicenseLookbackDays of the run
source_url string Canonical source page for this city's license search
scraped_at string ISO-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.