Contact Page Scraper | Company Details, Emails, Phone Number avatar

Contact Page Scraper | Company Details, Emails, Phone Number

Pricing

from $2.10 / 1,000 company results

Go to Apify Store
Contact Page Scraper | Company Details, Emails, Phone Number

Contact Page Scraper | Company Details, Emails, Phone Number

Extract company contact details priced per company, not per page: $3.00 per 1,000 companies for up to 25 pages each, 81% less than the most-used per-page contact scraper at 8 pages a site. Emails, company phone numbers, addresses, social media links, team members with titles, each with source URL.

Pricing

from $2.10 / 1,000 company results

Rating

0.0

(0)

Developer

Aurelix

Aurelix

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

37 minutes ago

Last modified

Security

Limited permissions

Share

What is Contact Page Scraper?

Turn a list of company websites into their published emails, phones, addresses, social pages and team members for $3.00 per 1,000 companies, no login.

For sales teams and agencies enriching lead lists. Reads up to 25 contact, about, team and imprint pages per company for one price, and every contact carries the page it came from. Your first run with the example input costs about $0.011 (3 companies in our test run).

Contact Page Scraper: example output from a real run

Contact Page Scraper: 75-second demo video

▶ Watch the 75-second demo

InputCompany domains or website URLs
Pages readHomepage plus contact, about, team, leadership and imprint pages; 8 per company by default, up to 25
Output21 fields per company; JSON, CSV, Excel, API
AutomateSchedules, webhooks, Zapier, Make, n8n, Google Sheets, MCP for AI agents
Price$3.00 per 1,000 companies ($2.10 per 1,000 companies on paid Apify plans)
Login neededNo

Why Contact Page Scraper users pick this one

  • Priced per company, not per page. Up to 25 pages read for the same $3.00 per 1,000.
  • Every contact sourced. Each email, phone, address and person carries its source URL.
  • Nothing found, nothing charged. Companies with no published contacts cost only the start fee.
  • People with titles. Title, seniority, function, plus email, phone and LinkedIn/X from their card.
  • 81% under per-page pricing. $3.00 per 1,000 companies vs $16.00 for 8 pages each at $2.00 per 1,000.

Get started in 3 steps

  1. Paste company domains or website URLs, one per line, e.g. sparkbox.com or https://www.welchllp.com.
  2. Optionally change Max pages per company (default 8), turn people off, or cap people per company.
  3. Click Start, then download JSON, CSV or Excel, or send the results to your CRM, Google Sheets, Zapier, Make or n8n through the API.

▶ Try it with the example input

The form opens with an example input already filled in: that run costs about $0.011 on the free plan.

How much does it cost to find company contact details?

Pay per event: you pay only for what the run returns, plus a small start fee. Bronze, Silver, Gold and higher Apify plans pay less per result.

CompaniesFree planPaid plans (Bronze, Silver, Gold)
100$0.30$0.21
1,000$3.00$2.10
10,000$30.00$21.00

Totals include the $0.002 start fee per run, rounded to the cent. Apify's free plan includes $5 of credit a month, enough for about 1,600 companies (without people; each person adds $0.50 per 1,000).

One price per company, not per page: the pages read (up to 25 per company) are included. Companies with no published contact data, unreachable sites, sites whose robots.txt disallows the crawl, suppressed domains and pages read are not charged.

Billing events

EventFree planPaid plans (Bronze, Silver, Gold)
company-result$3.00 per 1,000 companies$2.10 per 1,000 companies
person-result$0.50 per 1,000 people$0.35 per 1,000 people
apify-actor-start$0.002 per run$0.002 per run

Benchmarks: how we compare

TestSampleResult
Fill rate, small and mid-size firms1 cloud run, 28 domains (accountants, law firms, dentists, landscapers, software companies), up to 10 pages each25 companies returned and charged, 3 not (1 unreachable, 1 refused with HTTP 403, 1 with no contact data). Of the 25: phone 22, address 21, social page 16, email 13; 314 s
Fill rate, second set1 cloud run, 12 companies, up to 8 pages eachphone 12 of 12, social page 12 of 12, address 10 of 12, email 7 of 12; 138 s
Speed1 cloud run, 10 companies, default settings10 companies in 43 s
Unreachable or empty sites3 cloud runs: 1 dead domain; 10 domains, all unreachable or without contact data; 40 dead hostsnothing charged but the start fee; finished in 2.4 s, 20 s and 75 s
Run timeout set to 45 s6 cloud runs on the 28-domain listall finished SUCCEEDED in 38 to 40 s, with the companies done so far saved
Board, advisor and investor sections7 company sites with board or advisory pages0 of the 35 people listed there returned
Record accuracy, spot check10 random company records from the 28-domain run; 8 company records from a run on 8 new sites10 of 10 and 8 of 8 matched their source pages
Test-run success41 test runs39 succeeded; the 2 failures were run timeouts, fixed by stopping before the timeout
First run with the prefilled input1 run, 3 domains3 companies for $0.011

Measured on our own Apify cloud runs, plain HTTP with no proxy. Fill rate counts the companies that returned data; companies with nothing published are neither returned nor charged. It depends on what each company publishes, so expect it to vary by industry. Accuracy: each sampled record was checked field by field against its cited source pages.

What data you get

Contact Page Scraper turns a list of company domains into one row per company: published emails (info@, sales@, named addresses), phones in E.164, structured addresses, LinkedIn, Facebook, X, Instagram and YouTube company pages, and the team members the company publishes with name, title, seniority, function and the email, phone, LinkedIn and X profile on their card. It reads the homepage plus the contact, about, team, leadership and imprint pages each site links to (English and French), and every item carries the URL it was published on.

  • company_name, domain, website, primary_email, primary_phone, address
  • linkedin_url, facebook_url, x_url, instagram_url, youtube_url (company pages only)
  • emails [{email, source_url}]: every email the company publishes (info@, sales@, toronto@, jane.doe@, Gmail) that is not already attached to a person
  • phones [{number (E.164), display, type phone|fax, source_url}] and addresses [{full, street, city, region, postal_code, country, source_url}]
  • people [{name, title, seniority, function, work_email, work_phone, linkedin_url, twitter_url, source_url}] and people_count
  • pages_crawled, source_url, scraped_at (ISO 8601 UTC)
company_namedomainprimary_emailprimary_phoneaddresslinkedin_urlpeople_count
Lerners Lawyerslerners.calondon@lerners.ca+1888742111385 Dufferin Ave., Box 2335, London, ON N6A 4G4https://www.linkedin.com/company/lerners-llp0
Steam Whistle Brewingsteamwhistle.cainfo@steamwhistle.ca+14163622337255 Bremner Blvd., Toronto, Ontario0
Vigetviget.comhello@viget.com+17038910670105 West Broad Street, 4th Floor, Falls Church, VA 22046, UShttps://www.linkedin.com/company/viget-labs8
Welch LLPwelchllp.com+16132369191350 Albert Street, Suite 700, Ottawa, ON K1R 1A4https://www.linkedin.com/company/welchllp50
Downtown Dentaldowntowndentist.cainfo@downtowndentist.ca+14032641736215 9 Ave SW #150,, Calgary, AB T2P 1K33

One full company record, exactly as a real run returned it (long text and lists shortened here). From a real run:

{
"domain": "lerners.ca",
"website": "https://lerners.ca/",
"company_name": "Lerners Lawyers",
"primary_email": "london@lerners.ca",
"primary_phone": "+18887421113",
"address": "85 Dufferin Ave., Box 2335, London, ON N6A 4G4",
"linkedin_url": "https://www.linkedin.com/company/lerners-llp",
"facebook_url": "https://www.facebook.com/LernersLLP",
"x_url": null,
"instagram_url": "https://www.instagram.com/lernerslawyers",
"youtube_url": "https://www.youtube.com/@LernersLLP",
"emails": [
{
"email": "london@lerners.ca",
"source_url": "https://lerners.ca/"
},
{
"email": "toronto@lerners.ca",
"source_url": "https://lerners.ca/"
},
{
"email": "strathroy@lerners.ca",
"source_url": "https://lerners.ca/"
},
"... [1 more]"
],
"phones": [
{
"number": "+18887421113",
"display": "(888) 742-1113",
"type": "phone",
"source_url": "https://lerners.ca/"
},
{
"number": "+15196406344",
"display": "(519) 640-6344",
"type": "phone",
"source_url": "https://lerners.ca/"
},
{
"number": "+15196724510",
"display": "(519) 672-4510",
"type": "phone",
"source_url": "https://lerners.ca/"
},
"... [3 more]"
],
"addresses": [
{
"full": "85 Dufferin Ave., Box 2335, London, ON N6A 4G4",
"postal_code": "N6A 4G4",
"region": "ON",
"country": "CA",
"source_url": "https://lerners.ca/contact"
},
{
"full": "225 King Street West, Suite 1600, Toronto, ON M5V 3M2",
"postal_code": "M5V 3M2",
"region": "ON",
"country": "CA",
"source_url": "https://lerners.ca/contact"
},
{
"full": "305 King St. West, Suite 301, Kitchener, ON N2G 1B9",
"postal_code": "N2G 1B9",
"region": "ON",
"country": "CA",
"source_url": "https://lerners.ca/contact"
},
"... [1 more]"
],
"social_profiles": [
{
"network": "facebook",
"url": "https://www.facebook.com/LernersLLP",
"source_url": "https://lerners.ca/"
},
{
"network": "instagram",
"url": "https://www.instagram.com/lernerslawyers",
"source_url": "https://lerners.ca/"
},
{
"network": "linkedin",
"url": "https://www.linkedin.com/company/lerners-llp",
"source_url": "https://lerners.ca/"
},
"... [1 more]"
],
"people": [],
"people_count": 0,
"pages_crawled": [
"https://lerners.ca/",
"https://lerners.ca/lawyers",
"https://lerners.ca/contact",
"... [1 more]"
],
"input": "https://lerners.ca/",
"source_url": "https://lerners.ca/",
"scraped_at": "2026-11-04T11:26:08Z"
}

Use cases

  • Sales teams turning a list of target domains into published emails, phones and addresses
  • Agencies enriching a CRM export with company social pages and main phone numbers
  • Lead lists from Google Maps or Yellow Pages: run each website through for published company emails
  • B2B researchers seeing who a company lists on its own team and leadership pages

Use-case recipes

Add emails to a Google Maps lead list

For agencies building local lead lists. Run the Google Maps Business Scraper, then paste its website column into domains here with includePeople off. Join the results back on domain, and load primary_email and primary_phone into your CRM; emails holds every address found, each with its source_url.

{
"domains": [
"downtowndentist.ca",
"calgaryroofingpro.ca",
"austinroofingcompany.com"
],
"maxPagesPerDomain": 5,
"includePeople": false
}

Fill gaps in a CRM export

For sales ops teams whose account records lack phones, addresses or social pages. Export the account domains, run them with people off, and map primary_phone, address and linkedin_url back onto each account by domain. Accounts with nothing published are simply absent from the dataset and cost nothing.

{
"domains": [
"sparkbox.com",
"thoughtbot.com",
"metalab.com"
],
"maxPagesPerDomain": 5,
"includePeople": false
}

Route outreach to the right department inbox

For teams that want sales@ for a sales pitch and careers@ for recruiting partnerships, not a generic info@. The emails list keeps every mailbox the company publishes, each with the page it came from; pick the mailbox by its local part and keep source_url as proof of where it was published.

{
"domains": [
"welchllp.com",
"steamwhistle.ca"
],
"maxPagesPerDomain": 8,
"includePeople": false
}

Map a multi-office firm's branches

For territory planning across firms with several offices. Raise Max pages per company so more location pages are read. addresses lists up to 5 offices with street, city, region and postal code, and branch mailboxes named after a city (e.g. toronto@) appear in emails.

{
"domains": [
"lerners.ca",
"rlb.ca"
],
"maxPagesPerDomain": 15,
"includePeople": false
}

Input

FieldTypeWhat it doesDefault
domains (Company domains or URLs)arrayOne company per entry, e.g. ['sparkbox.com', 'https://www.welchllp.com'].["sparkbox.com", "welchllp.com", "steamwhistle.ca"]
maxPagesPerDomain (Max pages per company)integerPages read per company, homepage included, e.g. 8.8
maxPeoplePerCompany (Max people per company)integerCap on people returned (and charged) per company, e.g. 50.50
includePeople (Include people)booleanAdd the people published on team, leadership and about pages (name, title, seniority, function, work email and phone where the...true

All 4 fields, with examples: see the Input tab.

Use with AI agents (Apify MCP server, Claude, ChatGPT, n8n AI agent)

Contact Page Scraper is a ready-made tool for AI agents. Through the Apify MCP server an agent reads this Actor's input schema, fills in the input from your request, starts the run and reads the companies back. You pay the same per-result price as a run started by hand, from your own Apify account.

Example prompts

  • "Find the published contact emails and phone numbers for sparkbox.com, thoughtbot.com and metalab.com and give me a table with the page each one came from"
  • "Here are 30 company websites from my CRM export; add each company's LinkedIn page, main phone number and street address, company details only"
  • "Take the website column of my Google Maps lead list and find each business's info@ or sales@ email and its Facebook page"

Claude (claude.ai and Claude Desktop)

Open Settings > Connectors, choose Add custom connector, paste https://mcp.apify.com/?tools=aurelix/contact-details-scraper and sign in to Apify when asked. Then ask Claude one of the prompts above.

Claude Code, Cursor, VS Code and other MCP clients

$claude mcp add --transport http apify "https://mcp.apify.com/?tools=aurelix/contact-details-scraper"

Clients configured with JSON take the same URL:

{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com/?tools=aurelix/contact-details-scraper"
}
}
}

A client without Apify sign-in sends the header Authorization: Bearer <YOUR_APIFY_TOKEN>; to run the server locally instead, use npx -y @apify/actors-mcp-server --actors aurelix/contact-details-scraper with APIFY_TOKEN set.

ChatGPT

Where your ChatGPT plan offers custom connectors (developer mode), add https://mcp.apify.com/?tools=aurelix/contact-details-scraper as a connector, sign in to Apify, and ask for the data in plain words.

n8n AI agent

Give an AI Agent node an MCP Client Tool with the endpoint https://mcp.apify.com/?tools=aurelix/contact-details-scraper and a Bearer credential holding your Apify token. The agent can then call Contact Page Scraper whenever a workflow step needs companies; for a fixed, non-agent workflow use Apify's n8n node with Run Actor instead.

Use it from AI agents (MCP), the API or no-code

Copy this to your AI assistant

Use the Apify Actor aurelix/contact-details-scraper (Contact Page Scraper) through Apify's MCP server or API. Main input: domains (Company domains or URLs). Example input: {"domains": ["sparkbox.com", "welchllp.com", "steamwhistle.ca"], "maxPagesPerDomain": 8, "includePeople": true, "maxPeoplePerCompany": 50}. Each result is one company with fields such as domain, website, company_name, primary_email, primary_phone, address, linkedin_url, facebook_url. It costs $3.00 per 1,000 companies on Apify's free plan plus a $0.002 start fee per run, and needs no login.

MCP server URL for this Actor: https://mcp.apify.com/?tools=aurelix/contact-details-scraper (setup for each client in the section above).

API

Start a run and read the dataset with Apify's REST API or the Python and JavaScript clients:

from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("aurelix/contact-details-scraper").call(run_input={'domains': ['sparkbox.com', 'welchllp.com', 'steamwhistle.ca'], 'maxPagesPerDomain': 8, 'includePeople': True, 'maxPeoplePerCompany': 50})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)

No-code: schedule it in 3 clicks

Send the results to Google Sheets, Zapier, Make, n8n, Slack or any webhook URL.

  1. Fill in the input, then click Save as a new task.
  2. In the task, click Schedule and pick daily or weekly (Apify Schedules).
  3. Open the task's Integrations tab to send every run's results to Slack, Google Sheets, email or any webhook.

Prefer n8n or Make? Ask in the Issues tab and we will share a ready-made workflow for it.

FAQ

Can I find company contact details without login?

Yes. It never logs in, so you need no company website account, password or cookies; only a free Apify account to run it.

Is there a company contact details API?

You can use this Actor as one. Start it with Apify's REST API or the Python and JavaScript clients and read the results as JSON (see the code above), or call it from an AI agent through MCP.

How much does it cost to find company contact details?

About $3.00 for 1,000 companies on Apify's free plan and $2.10 on paid plans, start fee included. The free $5 monthly credit covers about 1,600 companies (without people; each person adds $0.50 per 1,000).

Can I export company contact details data to Excel or Google Sheets?

Yes. Download the results as Excel, CSV, JSON, XML or HTML from the run's Storage tab, or send them to Google Sheets with Apify's Google Sheets integration or the API.

It reads only public data any logged-out visitor can see: companies' own websites. It goes at a polite pace, respects robots.txt, never logs in and never solves CAPTCHAs. It returns the contact details the company publishes (emails, phones, addresses, social pages, team members with titles and the contact links on their cards) as shown on the page; no guessed emails, and anyone on our suppression list is withheld. To have a record removed, open an issue on this Actor's Issues tab; if a site owner formally asks us to stop, this Actor will stop. You are responsible for using the data lawfully, incl. anti-spam and privacy laws; this is not legal advice.

Can I find email addresses from a list of websites?

Yes. Give it company domains or website URLs; it returns the emails each company publishes on its own pages, each with the page it came from. Emails are never guessed or pinged.

Which pages does it read?

The homepage, then the pages the site links to as contact, about, team, leadership, staff or imprint (also French: nous joindre, à propos, équipe), best first, up to 'Max pages per company'. If the homepage links to none, it tries /contact, /about and /team. Individual profile pages are read last.

Which emails are returned?

Every email the company publishes on its own pages: role mailboxes (info@, sales@...), location mailboxes, named addresses such as jane.doe@ and free-mail addresses (Gmail, Outlook...). An address shown on a person's card whose mailbox spells that person's name goes in that person's work_email; every other address is in the company's emails list. Addresses at other companies' domains (e.g. the web designer) are left out. Nothing is guessed, generated or verified.

Which people are returned?

People the company publishes with a name and a job title on its own pages, e.g. a team or leadership page. Testimonials, reviews, blog authors, quotes and partner, customer and case-study pages are skipped. Board members, advisors and investors are excluded: nobody listed under a board, advisor or investor heading, and no board-only title such as Chair, is returned. A person whose title names another organisation or a past role (e.g. 'CEO of Telus', 'Vice President at SoftBank Investment Advisers', 'CEO (Telus)', 'President - Hootsuite', 'Former CTO of Shopify') is left out, whatever the role; a title naming a department, business line or region of the company itself (e.g. 'President, Retail Banking', 'Managing Director, North America') is kept. Work email, phone, linkedin_url and twitter_url are filled only when they appear on that person's own card (or in the page's structured data for that person); a link shared by two people is given to neither.

What is charged?

One company-result for each company that returns at least one email, phone, address, social page or person, plus one person-result per person included. Unreachable sites, sites that disallow crawling and companies with no published contact data are free apart from the run start fee.

Does it respect robots.txt?

Always, and it cannot be switched off. Disallowed pages are never requested, Crawl-delay is honoured, and redirects into disallowed paths are not followed.

How do I get my data removed?

Open an issue in the Issues tab with the domain, email or name. It is added to the shared suppression list within 7 days.

What happens if a site has no contact data or cannot be reached?

That company is left out of the dataset and not charged. The run's status message counts every company not charged by reason: site unreachable (with the error), blocked by robots.txt, no contact data found, stopped early, or suppressed on request. A run in which nothing is found costs only the $0.002 start fee.

How are duplicate or messy entries handled?

Entries for the same site (with or without www., https:// or a path) are crawled once and returned once. A full URL such as https://www.welchllp.com/contact is read along with the homepage. An email address is accepted and its domain is used. Entries that are not domains or URLs are skipped with a warning in the log.

How many domains can one run take, and how fast is it?

There is no fixed cap on the list. Five companies are crawled at a time, at most two requests per second per site, and each company gets at most 240 s of crawling. In our test runs, 10 companies took 43 s and 28 domains at up to 10 pages each took 314 s. For long lists, raise the run timeout: a run that nears it stops early and keeps the companies already done.

Can I get company details without people?

Yes. Set 'Include people' to false: no people are returned and no person-result is charged, only one company-result per company with data. You can also cap people with 'Max people per company'; people above the cap are neither returned nor charged.

What do seniority and function mean?

Both are read from the job title the company publishes. Seniority is one of founder_owner, c_suite, partner, vp, head, director, manager or staff. Function is one of executive, finance, hr, marketing, sales, engineering, product, legal, operations, customer_service or other. They are rule-based, so check the title itself before relying on them.

How are phone numbers and countries handled?

Numbers are validated with Google's libphonenumber; invalid ones are dropped and the rest are returned in E.164 and typed as phone or fax. A number written without a country code is read in the country of the site's domain ending: .ca as Canada, .uk as the UK, .com, .net, .org, .io and .co as the US, and other two-letter endings as that country. Page types are recognised in English and French, plus words such as Kontakt and Impressum.

Why do I get fewer emails than with a page-by-page scraper?

Every address the company publishes is kept; a person's own address sits inside that person, addresses at other companies' domains are left out, and file names, placeholders and tracking addresses are removed. Sites that show their email only through JavaScript return none.

Can I schedule it to track changes?

You can schedule it like any Actor, but there is no 'only new' mode: each run crawls every domain again and charges each company with data again. Schedule only the domains you want refreshed.

Lawful use

  • B2B use only: the data is contact information that companies publish on their own websites. Do not use it for consumer marketing.
  • No spam: contact people only with relevant, individual business messages, identify yourself, and honour every opt-out at once.
  • You are responsible for complying with the anti-spam and privacy laws that apply to you and to the people you contact, including Canada's CASL, the US CAN-SPAM Act and the EU/UK GDPR (lawful basis, transparency, the right to object).
  • Only data published on the company's own public pages is collected: no login, no guessed or generated emails, no email verification pings and no sensitive data.
  • Data is returned as shown publicly on the company's own pages; anyone can ask for removal by opening an issue in this Actor's Issues tab (see Removal requests).
  • No guessed emails and no verification pings; robots.txt is always obeyed.

Removal requests

Anyone can ask for their name, email or domain to be removed: open an issue in this Actor's Issues tab with the domain, email or name. Requests are honoured within 7 days: the entry is added to the suppression list that every Aurelix contact Actor checks before returning data, so it is dropped from all future runs. A suppressed person's direct phone and email are also left out of the company's own fields.

Limits (stated honestly)

  • People are detected with rules from the company's own pages (mainly team and leadership pages), so they are best-effort: verify each name and title before outreach. A title naming only an unfamiliar place (e.g. 'General Manager, Kelowna') can be read as another organisation and left out.
  • No JavaScript rendering: contact details that a site only shows through JavaScript (some Wix, Webflow and app-style sites) are not found, and those companies are not charged.
  • People detection reads names and titles from the page layout; unusual layouts can miss people or a title, and a person without a published job title is not returned.
  • Address parsing is tuned for Canadian and US formats; other countries' addresses are found mainly through the site's structured data.
  • At most two requests per second per site and up to 25 pages per company, so very large teams spread over many pages can be partly covered.
  • Social pages: LinkedIn company pages, plus Facebook, X, Instagram and YouTube accounts linked from the site's own header or footer (or its structured data), so a company whose social links sit elsewhere on the page returns none. Personal LinkedIn and X profiles are returned inside the person whose card links them.
  • People coverage: team cards with the name and title together are read reliably; people shown only in images, sliders, JavaScript widgets or long biography text without a title line are missed.
  • A domain that redirects to a domain on the suppression list is skipped and not charged.

Works great with

  • Before this: Google Maps Phone Scraper: its website column is this Actor's domains input: a local lead list with contacts in two runs
  • Then: Decision Maker Finder: run the same domains list to add the names and titles of the people who decide

Public Aurelix Actors, grouped by the data they collect. All are pay-per-result and need no login.

Leads and company data

  • Decision Maker Finder: Founders, CEOs, VPs and department heads from company team pages, with title, seniority and function.
  • Newly Funded Companies Hiring: Companies that just raised money (SEC Form D), with their open roles and business contacts, as a new-only monitor.
  • Google Maps Phone Scraper: Local business lists from Google Maps: phones, websites, ratings, hours, coordinates; optional website emails and socials.
  • Recently Funded Companies API: US companies that just filed an SEC Form D: amount raised, industry, state, executives, confirmed website.
  • Tech Stack API: CMS, e-commerce platform, analytics, ad pixels, chat, CDN and email provider for each domain you enter.

Jobs and hiring data

E-commerce and product data

Ad intelligence

  • Competitor Watch: One report per competitor with only what is new: Meta and TikTok ads, page changes, Shopify products and prices, jobs.
  • Facebook Ad Library Search & API: Facebook and Instagram business ads from the Meta Ad Library: copy, creatives, landing pages, dates, optional EU reach.

Canada and government data

  • Canada Building Permits: Building permits and development applications from 7 Canadian cities: address, type, status, dates, value, applicant, contractor and Toronto planner contact.

AI, content and SEO

More data tools

  • Tennis Betting Odds Scraper: Tennis results and upcoming matches with opening and closing odds per bookmaker and implied probabilities.

Recent changes

  • 0.1: Company names, LinkedIn or other social pages and personal Gmail-style addresses in the domain list are skipped and named in the status message; vdrmota-style input (startUrls, maxRequestsPerStartUrl) is read as-is; the prefill uses sparkbox.com.

The full history is on the Changelog tab.

Tested daily

An automated health check runs this Actor every day on a fixed input and checks that at least 3 companies come back with domain, website, company_name, primary_phone, source_url, scraped_at filled in; a failed check alerts the maintainer straight away.

Your feedback

Missing a field, found a bug or need another filter? Open an issue on the Issues tab; we aim to answer within a day. If this Actor saved you time, a short review helps other people find it.