Contact Page Scraper | Company Details, Emails, Phone Number
Pricing
from $2.10 / 1,000 company results
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
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
37 minutes ago
Last modified
Categories
Security
Limited permissionsShare
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).
| Input | Company domains or website URLs |
| Pages read | Homepage plus contact, about, team, leadership and imprint pages; 8 per company by default, up to 25 |
| Output | 21 fields per company; JSON, CSV, Excel, API |
| Automate | Schedules, 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 needed | No |
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
- Paste company domains or website URLs, one per line, e.g. sparkbox.com or https://www.welchllp.com.
- Optionally change Max pages per company (default 8), turn people off, or cap people per company.
- 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.
| Companies | Free plan | Paid 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
| Event | Free plan | Paid 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
| Test | Sample | Result |
|---|---|---|
| Fill rate, small and mid-size firms | 1 cloud run, 28 domains (accountants, law firms, dentists, landscapers, software companies), up to 10 pages each | 25 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 set | 1 cloud run, 12 companies, up to 8 pages each | phone 12 of 12, social page 12 of 12, address 10 of 12, email 7 of 12; 138 s |
| Speed | 1 cloud run, 10 companies, default settings | 10 companies in 43 s |
| Unreachable or empty sites | 3 cloud runs: 1 dead domain; 10 domains, all unreachable or without contact data; 40 dead hosts | nothing charged but the start fee; finished in 2.4 s, 20 s and 75 s |
| Run timeout set to 45 s | 6 cloud runs on the 28-domain list | all finished SUCCEEDED in 38 to 40 s, with the companies done so far saved |
| Board, advisor and investor sections | 7 company sites with board or advisory pages | 0 of the 35 people listed there returned |
| Record accuracy, spot check | 10 random company records from the 28-domain run; 8 company records from a run on 8 new sites | 10 of 10 and 8 of 8 matched their source pages |
| Test-run success | 41 test runs | 39 succeeded; the 2 failures were run timeouts, fixed by stopping before the timeout |
| First run with the prefilled input | 1 run, 3 domains | 3 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_name | domain | primary_email | primary_phone | address | linkedin_url | people_count |
|---|---|---|---|---|---|---|
| Lerners Lawyers | lerners.ca | london@lerners.ca | +18887421113 | 85 Dufferin Ave., Box 2335, London, ON N6A 4G4 | https://www.linkedin.com/company/lerners-llp | 0 |
| Steam Whistle Brewing | steamwhistle.ca | info@steamwhistle.ca | +14163622337 | 255 Bremner Blvd., Toronto, Ontario | 0 | |
| Viget | viget.com | hello@viget.com | +17038910670 | 105 West Broad Street, 4th Floor, Falls Church, VA 22046, US | https://www.linkedin.com/company/viget-labs | 8 |
| Welch LLP | welchllp.com | +16132369191 | 350 Albert Street, Suite 700, Ottawa, ON K1R 1A4 | https://www.linkedin.com/company/welchllp | 50 | |
| Downtown Dental | downtowndentist.ca | info@downtowndentist.ca | +14032641736 | 215 9 Ave SW #150,, Calgary, AB T2P 1K3 | 3 |
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
| Field | Type | What it does | Default |
|---|---|---|---|
domains (Company domains or URLs) | array | One company per entry, e.g. ['sparkbox.com', 'https://www.welchllp.com']. | ["sparkbox.com", "welchllp.com", "steamwhistle.ca"] |
maxPagesPerDomain (Max pages per company) | integer | Pages read per company, homepage included, e.g. 8. | 8 |
maxPeoplePerCompany (Max people per company) | integer | Cap on people returned (and charged) per company, e.g. 50. | 50 |
includePeople (Include people) | boolean | Add 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 ApifyClientclient = 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.
- Fill in the input, then click Save as a new task.
- In the task, click Schedule and pick daily or weekly (Apify Schedules).
- 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.
Is it legal to find company contact details?
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
websitecolumn is this Actor'sdomainsinput: a local lead list with contacts in two runs - Then: Decision Maker Finder: run the same
domainslist to add the names and titles of the people who decide
Related Aurelix tools
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
- Greenhouse Jobs Scraper: Live jobs from a company's Greenhouse, Lever, Ashby or SmartRecruiters board, with salary and Canadian province tags.
- LinkedIn Jobs Country Filter Scraper: Public LinkedIn job postings by keyword and country: title, company, location, seniority, job type, salary text, description.
- Multiple Job Boards Scraper: LinkedIn, about 50 company career sites, Remote OK and We Work Remotely jobs in one deduplicated list.
- Remote Job Board Scraper API: Remote OK and We Work Remotely jobs in one deduplicated list with salary, regions and tags.
E-commerce and product data
- AliExpress Scraper API: AliExpress search results by keyword: price, discount, rating, units sold, ship-from country and sponsored flag.
- Amazon New Releases & Best Sellers: Amazon Best Sellers and New Releases top 100 on 10 marketplaces: rank, ASIN, price, rating, rank change.
- Shopify Product Export Scraper: Every public product of any Shopify store with variants, SKUs, prices, barcodes, stock counts and collections.
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
- Google Trends by Region: Google Trends interest over time, by region and rising queries for any number of keywords, plus trending searches.
- Google Autocomplete API: Expands seed keywords into hundreds of real Google and YouTube autocomplete phrases, tagged by search intent.
- PDF Table Extraction & PDF to Markdown OCR: Turns linked PDF and Word files into Markdown per page, with tables as JSON rows, RAG chunks and OCR.
- Broken Link Crawler & SEO Audit: Audits a whole site: one row per page with SEO checks and broken links, plus a ranked issues summary.
- Website to Markdown API: Crawls a site and returns one row of clean main-content Markdown per page, with title, headings and links.
- YouTube Transcript Scraper: Returns YouTube video transcripts as text, timed segments and AI chunks, from videos, channels, playlists or searches.
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.

