OrbTop

Canadian Law List Scraper - Lawyer & Law Firm Directory

LEAD GENERATIONBUSINESSOTHER

Canadian Law List Lawyer & Law Firm Scraper

Scrapes Canadian lawyer and law firm profiles from Canadian Law List, the country's long-standing directory of legal professionals. Returns names, firm affiliations, addresses, postal codes, phones, emails, websites, and call-to-bar dates across all 13 provinces and territories — roughly 130,000 lawyers, give or take a few articling students.


Canadian Law List Scraper Features

  • Extracts 19 fields per lawyer record — name, firm, address, phone, fax, email, website, call-to-bar date, and more.
  • Website URL on ~92% of records. The directory only publishes a website link on paid enhanced listings, so the scraper falls back to the contact email's domain — and tells you which it used via website_source.
  • Decodes Cloudflare-obfuscated emails inline. The site hides them. The scraper doesn't.
  • Filters by Canadian province (Ontario, Quebec, BC, Alberta, all the way down to Nunavut).
  • Three output modes: lawyers only, firms only, or both.
  • Quick and cheap per listing.
  • Handles rate limiting automatically so you don't need to babysit the run.

Who Uses Canadian Law List Data?

  • Legal recruiters — source candidates by province or city, then do what you do.
  • Law firm marketing — build targeted outreach lists for referral networks and cross-border partnerships.
  • Cross-border practice intelligence — map Canadian counterparts for US firms extending into Ontario, Quebec, and BC.
  • Legal tech vendors — feed verified Canadian lawyer profiles into CRMs, compliance tools, and intake pipelines.
  • Market researchers — analyze the Canadian legal landscape across provinces and firm sizes.

How Canadian Law List Scraper Works

  1. Pick one or more letters from the alphabetical firm index (A–Z, plus digits 1–9), a range like A-Z, or ALL for the whole directory. One letter is usually enough for a first run.
  2. Select the provinces you care about. Leave it empty to include all of Canada.
  3. Choose a scrape mode — lawyers, firms, or both. Lawyers mode crawls firm pages to discover individual profiles. Firms mode outputs one record per firm and runs faster.
  4. Set maxItems to cap output, or 0 for no limit. The scraper stops as soon as the target is hit.

Input

{
  "letters": ["A"],
  "provinces": ["Ontario"],
  "scrapeMode": "lawyers",
  "maxItems": 50
}
Field Type Default Description
letters array of strings ["A"] Letters or digits from the alphabetical firm index: A–Z, 1–9. Add each one separately, a comma-joined list, a range like A-Z, or ALL for full coverage.
provinces array of strings ["Ontario"] Province names to include (case-insensitive substring match). Leave empty to include all. Examples: Ontario, Quebec, British Columbia, Alberta.
scrapeMode string "lawyers" lawyers visits firm pages then individual lawyer profiles (richer data). firms outputs one record per law firm (faster). both outputs both.
maxItems integer 50 Maximum records to output. Set to 0 for unlimited.

Scrape Firms Only (faster)

{
  "letters": ["A", "B", "C"],
  "provinces": ["Ontario", "Quebec"],
  "scrapeMode": "firms",
  "maxItems": 500
}

All Canada, No Filter

{
  "letters": ["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"],
  "provinces": [],
  "scrapeMode": "lawyers",
  "maxItems": 0
}

Canadian Law List Scraper Output Fields

Lawyer Record

{
  "record_type": "lawyer",
  "lawyer_name": "Charles A. Boulakia",
  "first_name": "Charles A.",
  "last_name": "Boulakia",
  "job_title": "Partner",
  "firm_name": "Ridout & Maybee LLP",
  "street_address": "5th Flr. 250 University Ave.",
  "city": "Toronto",
  "province": "Ontario",
  "postal_code": "M5H 3E5",
  "phone": "416-868-1482 Ext: 283",
  "fax": "416-362-0823",
  "email": "cboulakia@ridoutmaybee.com",
  "website": "http://www.ridoutmaybee.com/",
  "website_source": "listing",
  "call_to_bar_year": "2002",
  "call_to_bar_province": "ON",
  "source_url": "https://www.canadianlawlist.com/listingdetail/contact/charles-a-boulakia-599052/",
  "scraped_at": "2026-04-18T00:00:00.000Z"
}

Firm Record

{
  "record_type": "firm",
  "firm_name": "Aarbo Fuldauer LLP",
  "street_address": "3rd Flr. 1131 Kensington Rd. N.W.",
  "city": "Calgary",
  "province": "Alberta",
  "postal_code": "T2N 3P4",
  "phone": "403-571-5120",
  "fax": "403-571-5134",
  "email": "info@aarbofuldauer.com",
  "website": "https://aarbofuldauer.com",
  "website_source": "email_domain",
  "source_url": "https://www.canadianlawlist.com/listingdetail/company/aarbo-fuldauer-llp-685303/",
  "scraped_at": "2026-04-18T00:00:00.000Z"
}
Field Type Description
record_type string lawyer or firm.
lawyer_name string Full lawyer name (empty for firm records).
first_name string Lawyer first name, parsed from full name. Handles middle initials.
last_name string Lawyer last name.
job_title string Title at the firm — e.g., Partner, Associate, Lawyer.
firm_name string Law firm or organization name.
street_address string Street address, including floor/suite where listed.
city string City.
province string Canadian province or territory (full name, e.g., Ontario, Québec).
postal_code string Canadian postal code.
phone string Office phone, sometimes with extension.
fax string Fax number. Yes, lawyers still use fax.
email string Contact email, decoded from Cloudflare obfuscation.
website string Firm or lawyer website URL, always scheme-qualified. See "Where does website come from?" below.
website_source string Provenance of website: listing (published by the directory), email_domain (derived from the contact email), or empty when neither applied.
call_to_bar_year string Year called to the bar (e.g., 2002). Lawyers only.
call_to_bar_province string Two-letter province code of bar admission (e.g., ON). Lawyers only.
source_url string Canonical Canadian Law List URL for this profile.
scraped_at string ISO-8601 timestamp when the record was extracted.

FAQ

How do I scrape Canadianlawlist.com?

Canadian Law List Scraper reads the site's public alphabetical firm index (/Firms/A through /Firms/Z, plus digit pages). Pick a letter, optionally filter by province, and let it run. No login, no API key.

How much does Canadian Law List Scraper cost?

Canadian Law List Scraper runs on pay-per-event pricing. $0.10 per actor start, $0.001 per record. A 500-record run costs about $0.60.

Can I filter by province?

Canadian Law List Scraper accepts a provinces array and drops any lawyer or firm whose province doesn't match. Leave the array empty to include all 13 provinces and territories.

What's the difference between lawyers, firms, and both mode?

Canadian Law List Scraper's lawyers mode crawls firm pages to discover individual lawyers, then visits each profile for richer data — call-to-bar date, job title. firms mode outputs one record per firm (name, address, phone) and runs faster because it skips the profile pages. both emits both record types and marks them with record_type.

Where does website come from?

Two places, and website_source always tells you which:

  • listing — the directory published a Website Link on the profile. Only paid enhanced listings carry one, which makes this the rarer of the two. The URL is passed through as the firm wrote it; an http:// link is never silently upgraded to https://.
  • email_domain — derived from the domain of the listing's contact email. For a law firm the mailbox domain is the firm's site (info@gluckstein.comhttps://gluckstein.com), so this is what lifts website from near-permanently blank to populated on roughly 92% of records.

Consumer mailboxes are deliberately excluded. A sole practitioner on gmail.com gets an empty website rather than https://gmail.com — a blank you can act on beats a value that's confidently wrong. Records with no published email at all also come back blank, with website_source empty.

Derived hosts are not fetched or verified during the run, so treat email_domain values as high-confidence leads rather than confirmed live URLs. In a sample of 82 distinct derived domains, 65 answered on a direct request and most of the remainder returned a bot-block rather than a genuine dead end.

Can I get a specific letter range, or every letter at once?

Yes. letters accepts a range ("A-Z"), a comma-joined list ("B,C"), each letter as its own array item, or "ALL" for the full alphabetical index plus the digit pages.


Need More Features?

Need custom fields, a different Canadian legal source, or a specific provincial law society? File an issue or get in touch.

Why Use Canadian Law List Scraper?

  • Affordable — pay-per-event pricing means you pay for records, not compute time.
  • Complete Canadian coverage — 13 provinces, ~130k lawyers, one directory, all scraped with the same schema. Which is more than you can say for stitching together provincial bar sites.
  • Clean structured output — JSON records with consistent field names, decoded emails, and parsed postal codes. Less cleanup, more analysis.