N49 Email Scraper avatar

N49 Email Scraper

Pricing

from $2.49 / 1,000 results

Go to Apify Store
N49 Email Scraper

N49 Email Scraper

N49 Email Scraper SD - N49 Email Scraper is a lead generation tool that extracts leads with public contact emails, account names and profile URLs from N49 results by keyword, location and email domain - N49 email extractor.

Pricing

from $2.49 / 1,000 results

Rating

0.0

(0)

Developer

Neuro Scraper

Neuro Scraper

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Share

N49 Email Scraper

The N49 Email Scraper extracts publicly indexed business emails from N49, a local business directory with deep Canadian coverage across n49.com and n49.ca. It was the single strongest performer in our benchmark of this Actor family.

In our measured Google run the N49 Email Scraper parsed 10 result blocks, named a business in all 10, resolved a profile URL for all 10, and produced 10 unique emails. A perfect ten across every metric.

That makes it the default choice if your territory is Canadian. Pair it with a US-focused sibling such as the Yellow Pages Email Scraper when your market spans the border.

What the N49 Email Scraper does

The N49 Email Scraper builds Google queries with the site: operator against n49.com and n49.ca. It parses each result block structurally, locating the <h3> title and the smallest surrounding block.

A domain-filtered regex then extracts emails from the block text. Matches are normalised, deduplicated globally and pushed to your Apify dataset immediately.

The N49 Email Scraper never logs into N49, never uses an N49 API and never opens the N49 website. There is no browser, no JavaScript rendering, no authentication and no cookies.

Why the N49 Email Scraper is the pick for Canadian territories

Most local directory data is built for the United States and treats Canada as an afterthought. N49 does the opposite, with genuine depth across Ontario, Quebec, Alberta and British Columbia.

For a marketing agency selling retainers in Mississauga or a SaaS vendor targeting Calgary trades, the N49 Email Scraper reaches businesses that a US-first directory simply does not list.

Franchise developers assessing a Canadian territory get the same benefit. So do market researchers who need province-level density rather than a national average.

Features of the N49 Email Scraper

Everything in this table ships in the N49 Email Scraper today.

FeatureWhat it means in practice
Google site: search over n49.com and n49.caCovers both N49 domains in one run
Query expansionBase, quoted and intitle: variants plus one query per modifier; base queries run first
Domain filteringOnly emails ending in your customDomains values are kept
Global deduplicationEach email is emitted once per run across every query and page
Email normalisationHandles name [at] domain [dot] com, name (at) domain, name @ domain.com, domain .com, zero-width characters and the full-width
Junk filterRejects email@, yourname@, test@, xxx@ and single-character locals
Boundary-correct matching@gmail.com does not match inside @gmail.company or @gmail.com.br
Soft-wrap repairDrops a hit that is only the tail of another email in the same block
Structural block parsingWorks from the <h3> title, never from Google's CSS class names
Whole-page fallback parserA markup change degrades to "emails without account details", not "no emails"
Concurrency controlasyncio worker pool with a shared stop signal on maxEmails
Retries and block detectionUp to 3 attempts per page, exponential backoff, fresh proxy session per request, CAPTCHA and consent pages detected and retried
Failed-query requeueBlocked or failed queries are retried once at the end of the run
Resumable stateKey-value store state keyed by an input hash, saved on PERSIST_STATE, MIGRATING and ABORTING
Run summary loggingPages fetched, blocked pages, retries and emails per page

How the N49 Email Scraper works

A run of the N49 Email Scraper follows six steps from input to dataset.

  1. Read your input: keywords, location, email domains and limits.
  2. Build queries such as site:n49.ca renovation contractor "@gmail.com" "Mississauga".
  3. Fetch Google result pages through the Apify GOOGLE_SERP proxy using async aiohttp.
  4. Parse each result block structurally to isolate title, business label and snippet.
  5. Extract and normalise emails with a domain-filtered regex.
  6. Deduplicate globally and push each lead to the dataset immediately.

The N49 Email Scraper streams rows as it finds them, so aborting a long run never discards work already done.

Input fields for the N49 Email Scraper

These are the exact inputs the N49 Email Scraper accepts, with its shipped defaults.

FieldTypeDefaultMeaning
keywordsarray (required)["local business", "contractor"]Search terms describing the businesses you want
locationstring""Optional location phrase added to every query
customDomainsarray["@gmail.com", "@yahoo.com"]Only emails on these domains are kept; @ optional
maxEmailsinteger 1-1000020Stop after this many unique emails
countryCodestring""Two-letter country for the search proxy (US, GB, DE...)
expandQueriesbooleantrueSearch each keyword x domain pair in several phrasings
queryModifiersarray["email", "contact", "enquiries", "owner", "get a quote"]Extra words combined with each keyword when expansion is on
maxPagesPerQueryinteger 1-5030Page cap per query
maxConcurrencyinteger 1-205Parallel queries

Example input for the N49 Email Scraper

{
"keywords": ["renovation contractor", "roofing", "landscaping"],
"location": "Mississauga, ON",
"customDomains": ["@gmail.com", "@yahoo.ca", "@hotmail.com", "@rogers.com"],
"maxEmails": 500,
"countryCode": "CA",
"expandQueries": true,
"queryModifiers": ["email", "contact", "owner", "get a quote"],
"maxPagesPerQuery": 30,
"maxConcurrency": 5
}

Location: the highest-leverage input in the N49 Email Scraper

Canadian geography is concentrated, which plays to the N49 Email Scraper's strengths. A handful of well-chosen city runs covers a very large share of the addressable market.

Start with "Toronto, ON", "Mississauga, ON", "Brampton, ON", "Ottawa, ON", "Calgary, AB", "Edmonton, AB", "Vancouver, BC" and "Surrey, BC".

Then fill in the second tier: "Winnipeg, MB", "Halifax, NS", "Quebec City, QC", "Saskatoon, SK" and "Victoria, BC".

Google caps a single query at roughly 300 results, so one city per run beats one province per run. Set countryCode to CA so the N49 Email Scraper searches from a Canadian vantage point.

For Quebec, try French-language keywords such as "entrepreneur en renovation" alongside the English terms.

Output fields from the N49 Email Scraper

Every dataset item written by the N49 Email Scraper carries all fourteen fields below.

FieldMeaning
networkPlatform name
keywordThe keyword that produced the lead
queryThe exact Google query used
titleRaw result title
accountNameAccount label Google prints
fullNameDisplay name parsed from a profile-style title; empty for post captions
usernameURL-safe handle when the platform exposes one; otherwise null
profileUrlCanonical account URL when a handle is known; otherwise empty
urlDirect platform link when exposed, else the profile URL
descriptionBio snippet, cleaned of labels and engagement counters
emailLower-cased email address
emailDomainThe matched domain
possiblyTruncatedtrue when Google's snippet ellipsis touched the email
foundAtISO 8601 UTC timestamp

Example output from the N49 Email Scraper

[
{
"network": "N49",
"keyword": "renovation contractor",
"query": "site:n49.ca renovation contractor \"@gmail.com\" \"Mississauga, ON\"",
"title": "Lakeshore Renovations Inc - Mississauga, ON - N49",
"accountName": "Lakeshore Renovations Inc",
"fullName": "Lakeshore Renovations Inc",
"username": "lakeshore-renovations-inc",
"profileUrl": "https://www.n49.com/biz/lakeshore-renovations-inc/",
"url": "https://www.n49.com/biz/lakeshore-renovations-inc/",
"description": "Kitchen, bath and basement renovations across Peel Region. Free estimates: lakeshorereno.on@gmail.com",
"email": "lakeshorereno.on@gmail.com",
"emailDomain": "@gmail.com",
"possiblyTruncated": false,
"foundAt": "2026-08-31T18:04:52.310Z"
},
{
"network": "N49",
"keyword": "landscaping",
"query": "site:n49.com landscaping \"@hotmail.com\" \"Mississauga, ON\"",
"title": "Credit Valley Landscaping - N49",
"accountName": "Credit Valley Landscaping",
"fullName": "Credit Valley Landscaping",
"username": "credit-valley-landscaping",
"profileUrl": "https://www.n49.com/biz/credit-valley-landscaping/",
"url": "https://www.n49.com/biz/credit-valley-landscaping/",
"description": "Interlock, sodding and seasonal maintenance in Mississauga and Oakville. cvlandscaping@hotmail.com",
"email": "cvlandscaping@hotmail.com",
"emailDomain": "@hotmail.com",
"possiblyTruncated": false,
"foundAt": "2026-08-31T18:06:18.927Z"
}
]

Use cases for the N49 Email Scraper

The N49 Email Scraper is the tool to reach for whenever the territory is Canadian.

Use caseWho runs itTypical setup
Canadian home-services agency listsLocal marketing agency["roofing", "renovation contractor"], location: "Mississauga, ON"
Field-service SaaS prospectingB2B SaaS["hvac", "plumbing"], location: "Calgary, AB"
Franchise territory assessmentFranchise development["cleaning service"], several Ontario cities
Commercial insurance outreachInsurance brokerage["landscaping", "snow removal"], location: "Ottawa, ON"
Provincial market sizingMarket researcherOne keyword, 12 city runs, compare unique counts
Bilingual campaign buildAgency serving QuebecEnglish and French keywords, location: "Montreal, QC"
Supplier recruitmentDistributor["auto repair"], location: "Vancouver, BC"
Cross-border list buildRevOps teamMerge N49 rows with Yellow Pages and BBB datasets

Tuning the N49 Email Scraper for better yield

Use Canadian webmail domains, not just American ones. Add @yahoo.ca, @rogers.com, @shaw.ca, @bell.net, @sympatico.ca and @telus.net to customDomains.

Pick trade terms Canadians actually use. "snow removal", "interlock", "eavestrough" and "reno" behave very differently from generic American phrasing.

Leave expandQueries on so the N49 Email Scraper routes around Google's per-query ceiling. Base queries run first, so the strongest results arrive early.

Keep maxConcurrency near 5. Pushing higher raises the share of blocked pages that need retrying without much throughput gain.

What to expect from an N49 Email Scraper run

Our measured Google run of the N49 Email Scraper returned 10 parsed blocks, 10 identified businesses, 10 resolved profile URLs and 10 unique emails. Nothing else in the family matched that.

Practically, that means you can trust profileUrl here. Verification, enrichment and manual QA are all easier when almost every row links to a canonical listing.

Volume still varies with keyword, domain list and location, and no volume is guaranteed. A niche trade in Saskatoon returns less than a broad trade in Toronto.

Responsible use, CASL, GDPR and CAN-SPAM

Canada's anti-spam legislation is stricter than CAN-SPAM, and this matters for anything the N49 Email Scraper produces. This section is guidance, not legal advice.

CASL generally requires consent before sending commercial electronic messages, though it recognises implied consent where a business has conspicuously published an address without a statement refusing such messages, and where the message is relevant to that business role. Every message must identify the sender and offer a working unsubscribe.

CAN-SPAM applies to US recipients: accurate headers, an honest subject line, a physical postal address and a prompt opt-out. GDPR and UK GDPR apply if any of your contacts are European.

An owner's firstname@gmail.com is personal data even when published commercially. Suppress opt-outs, keep provenance records, and do not resell the raw dataset.

Limitations of the N49 Email Scraper

  • Only finds businesses whose email is publicly visible in Google's index. Listings hiding contact details behind a form will not appear.
  • Google caps a single query at roughly 300 results, which is why query expansion exists.
  • possiblyTruncated: true means Google's snippet ellipsis touched the address - verify before sending.
  • username and profileUrl are populated only when Google's result exposes a handle. Resolution was 10 of 10 in our measured run, but it is not guaranteed on every row. This is a Google limitation, not a bug.
  • Requires the Apify GOOGLE_SERP proxy; the N49 Email Scraper cannot run without Apify proxy credentials.
  • Free Apify plans are capped at 100 emails per run; paid plans are uncapped.
  • Coverage is strongest in Canada; US results are thinner than a US-first directory would give.
  • Results vary with keywords, domains and location, and no volume is guaranteed.

N49 Email Scraper FAQ

How many results should I expect from the N49 Email Scraper? Our measured run parsed 10 blocks, identified 10 businesses, resolved 10 profile URLs and produced 10 unique emails - the best result in this family. Totals scale with the cities and trades you queue.

Which domains does it search? Both n49.com and n49.ca, in the same run.

Is the N49 Email Scraper Canada-only? Coverage is strongest in Canada. It will return US rows, but a US-first directory such as Yellow Pages or Manta will do better south of the border.

Does it log into N49? No. The N49 Email Scraper never logs in, never uses an N49 API and never opens the N49 website. Everything comes from publicly indexed Google results.

How should I handle CASL? Take advice for your situation. In general, rely on published business addresses relevant to the recipient's role, identify yourself clearly, and always include a working unsubscribe.

Can I target Canadian ISP domains? Yes. Add @rogers.com, @shaw.ca, @bell.net, @sympatico.ca, @telus.net or @yahoo.ca to customDomains.

Does French-language search work? Yes. French keywords with location: "Montreal, QC" reach listings that English terms miss.

What does possiblyTruncated mean? Google's snippet ellipsis touched the email, so the address may be cut short. Verify or exclude those rows before sending.

Do I need Apify proxy credentials? Yes. The N49 Email Scraper runs on the Apify GOOGLE_SERP proxy and cannot operate without it.

How do I cover a whole province? Run the N49 Email Scraper one city at a time and merge datasets. That beats Google's per-query cap far better than a single provincial query.

Is the free plan enough? For evaluation, yes - it caps a run at 100 emails. Paid plans remove the cap.

Which sibling Actors pair best with this one? The Better Business Bureau Email Scraper also covers Canada, the Cylex Email Scraper adds cylex.ca, and the Brownbook Email Scraper extends the same workflow worldwide.

ActorWhat it collects
N49 Phone Number ScraperPublic phone numbers from N49
Angi Email ScraperPublic contact emails from Angi
Bark Email ScraperPublic contact emails from Bark
Better Business Bureau Email ScraperPublic contact emails from Better Business Bureau
Bizapedia Email ScraperPublic contact emails from Bizapedia
Brownbook Email ScraperPublic contact emails from Brownbook
Callupcontact Email ScraperPublic contact emails from CallUpContact
Capterra Email ScraperPublic contact emails from Capterra
Clutch Email ScraperPublic contact emails from Clutch
Crunchbase Email ScraperPublic contact emails from Crunchbase
Cybo Email ScraperPublic contact emails from Cybo
Cylex Email ScraperPublic contact emails from Cylex
EC21 Email ScraperPublic contact emails from EC21
Europages Email ScraperPublic contact emails from Europages
ExportHub Email ScraperPublic contact emails from ExportHub
FindUsLocal Email ScraperPublic contact emails from FindUsLocal
Foursquare Email ScraperPublic contact emails from Foursquare
Fyple Email ScraperPublic contact emails from Fyple
G2 Email ScraperPublic contact emails from G2
Hotfrog Email ScraperPublic contact emails from Hotfrog
Houzz Email ScraperPublic contact emails from Houzz
Infobel Email ScraperPublic contact emails from Infobel
Kompass Email ScraperPublic contact emails from Kompass
Lacartes Email ScraperPublic contact emails from Lacartes
Manta Email ScraperPublic contact emails from Manta
MapQuest Email ScraperPublic contact emails from MapQuest
Porch Email ScraperPublic contact emails from Porch
Scoot Email ScraperPublic contact emails from Scoot
Thomasnet Email ScraperPublic contact emails from Thomasnet
Thumbtack Email ScraperPublic contact emails from Thumbtack
Touch Local Email ScraperPublic contact emails from Touch Local
TradeIndia Email ScraperPublic contact emails from TradeIndia
Trustpilot Email ScraperPublic contact emails from Trustpilot
Tupalo Email ScraperPublic contact emails from Tupalo
Yalwa Email ScraperPublic contact emails from Yalwa
Yellow Pages Email ScraperPublic contact emails from Yellow Pages
Angi Email and Phone Number ScraperEmails and phone numbers from Angi
Bark Email and Phone Number ScraperEmails and phone numbers from Bark
Better Business Bureau Email and Phone Number ScraperEmails and phone numbers from Better Business Bureau
Bizapedia Email and Phone Number ScraperEmails and phone numbers from Bizapedia
Brownbook Email and Phone Number ScraperEmails and phone numbers from Brownbook
CallUpContact Email and Phone Number ScraperEmails and phone numbers from CallUpContact