B2B Lead Lists by City - Dentists, Lawyers, HVAC avatar

B2B Lead Lists by City - Dentists, Lawyers, HVAC

Pricing

from $1.60 / 1,000 business contact rows

Go to Apify Store
B2B Lead Lists by City - Dentists, Lawyers, HVAC

B2B Lead Lists by City - Dentists, Lawyers, HVAC

Prebuilt public business contacts by US or Canadian city. Search a niche and city, receive source links and refresh dates; optional live contact extraction. Charged per contact row.

Pricing

from $1.60 / 1,000 business contact rows

Rating

0.0

(0)

Developer

Yukai Lin

Yukai Lin

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 hours ago

Last modified

Share

B2B Lead Lists by City

What it does

Get a prebuilt snapshot of public business contacts for a niche and city in the US or Canada. The result includes the date each row was fetched and a company website or contact page to check the record. The list is a starting point for research; verify contacts before outreach.

How to use

Choose a niche and enter a city with US or CA. Start with a small maxResults to inspect the data. The Console prefill requests two Austin dentist contacts from the prebuilt snapshot (buildIfMissing: false); successful rows are charged at the existing lead-row rate. Replace the example before requesting another list. If the city has no snapshot, the Actor fetches live contacts from company websites (set buildIfMissing to false to get prebuilt snapshots only).

Input

niche: dentist, lawyer, hvac, gym, or realtor. city: a city with its country, US state or Canadian province, for example Austin, US, Austin, TX, Toronto, ON or Toronto, Canada. City, CA means California unless the city is a well-known Canadian city (Toronto, CA is Canada, Los Angeles, CA is California). maxResults: 1–500, default 100. buildIfMissing: default true; when true, search places and extract public contacts from company websites if no prebuilt snapshot exists. This live mode can take longer, scans up to 10 candidate websites per requested row (500 candidates at most), and yields up to 500 rows.

Output and price

Every contact row contains id, name, website, phone, emails, address, sourcePage, sourceDataset, sourceUpdated, fetchedAt, fromIndex, license, attribution, niche, city, success, charged, chargeEvent. A prebuilt row has fromIndex: true; a live row has fromIndex: false. The SUMMARY store record gives status, mode, rows, charged, chargeEvent, and fetchedAt (snapshot time or null for live mode). An invalid input, missing snapshot without live mode, or empty result yields a free explanation row with success: false, errorType, error, charged: false, niche and city where available.

Prebuilt results use lead-row at $0.002 per row ($2 per 1,000) (volume discounts by plan). A row counts only if it has a phone or email. Live results use site-processed at $0.002 per website only when that website yields an email or phone; a directory phone alone or a social profile does not qualify. Each row's charged and chargeEvent reflect the confirmed charge. If the charge limit is reached or charging fails, the current row is marked uncharged and the run stops producing rows. SUMMARY.charged counts confirmed events. No prebuilt list means no prebuilt charge.

Source: Overture Maps places (CDLA-Permissive-2.0, © Overture Maps Foundation), plus public company website contacts. For live rows, sourcePage is the first reported email page when available, otherwise the business website; for snapshots it is the recorded source page. Live rows use the website's own phone when it shows one; otherwise the phone can come from Overture rather than that page. sourceUpdated is the source record date when available. fetchedAt is our capture time, not a promise that the business still operates. Only US and Canada are supported. Use contact data in line with applicable outreach and privacy law.

Examples

{"niche":"dentist","city":"Austin, US","maxResults":2,"buildIfMissing":false}
{"niche":"lawyer","city":"Toronto, CA","maxResults":3,"buildIfMissing":true}
{"niche":"hvac","city":"Chicago, US","maxResults":2,"buildIfMissing":false}

Output example

{"id":"example-1","name":"Example Dental","website":"https://example.org/","phone":"+15125550100","emails":["info@example.org"],"address":"Austin, TX","sourcePage":"https://example.org/contact","sourceDataset":"Overture Maps Places","sourceUpdated":null,"fetchedAt":"2026-10-23T00:00:00.000Z","fromIndex":true,"license":"CDLA-Permissive-2.0","attribution":"© Overture Maps Foundation (places)","niche":"dentist","city":"Austin, US","success":true,"charged":true,"chargeEvent":"lead-row"}

Limitations

Prebuilt rows only contain phones and emails that were seen on the company's own website at fetchedAt; businesses whose website could not be read or showed no contact are left out (in our October 2026 check, 19/19, 18/19 and 18/19 sampled rows were correct for Austin dentists, Chicago lawyers and Houston HVAC). Categories come from Overture Maps and can include neighbouring businesses, for example court-reporting firms under lawyers or HVAC manufacturers under HVAC. Snapshots exist only for cities that have been built. Website and phone records can go stale between refreshes. A phone from Overture can differ from the business website. Live extraction reads up to three pages per site and may miss contacts on blocked or script-heavy pages.

FAQ

What happens when no snapshot exists? By default the Actor runs a live lookup; with buildIfMissing: false you receive a free explanation row instead.

Are the contacts verified? No. Check the source page and current business status before use.