TechCognita Website Contact Extractor v1
Pricing
Pay per usage
TechCognita Website Contact Extractor v1
Extracts emails, phone numbers, social media links, page metadata, and tech stack from starting URLs using Crawlee, Playwright, and headless Chrome.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
Atharv Shinde
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
14 days ago
Last modified
Categories
Share
An advanced, lightweight, and highly optimized TypeScript-based Apify Actor that scrapes websites to extract business contact details, social media links, page metadata, and technical stack details.
Built with Crawlee and Playwright, it executes headless Chrome navigations, handles dynamic content (single-page applications), respects depth/page limits per domain, and aggregates all results uniquely.
Features
- 📧 Regex & mailto: Email Extraction: Searches page HTML, text, and
mailto:links, while filtering out assets (.png,.svg) and dev tools (e.g.sentry.io). - 📞 Smart Phone Extraction: Extracts
tel:links and formats raw phone numbers while avoiding false positives (like timestamps, zip codes, or IDs). - 🔗 Social Media Finder: Automatically identifies and normalizes links to LinkedIn, Facebook, Instagram, Twitter/X, YouTube, and GitHub.
- ⚙️ Technology Detection: Automatically scans website source files to detect signatures of platforms and tools (WordPress, Shopify, React, Webflow, Google Analytics, Nuxt, HubSpot, etc.).
- 🧭 Intelligent Crawling Rules:
- Standardizes URLs and filters out tracking parameters (e.g.
utm_source). - Restricts crawls strictly to the input target domains.
- Controls crawl depth (
maxDepth) and maximum pages per website (maxPagesPerDomain). - Identifies and scores the best candidate for the
/contactor/aboutpage.
- Standardizes URLs and filters out tracking parameters (e.g.
- 💾 State-Safe Aggregation: Merges page-level contact and stack data into a consolidated record per website using Crawlee's state persistence.
Input Configuration
The Actor accepts the following JSON schema input parameters:
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
startUrls | array | Yes | [{"url": "https://techcognita.com"}] | List of starting URLs or domains. |
maxPagesPerDomain | integer | No | 10 | Maximum pages to scrape for each domain to control run length. |
maxDepth | integer | No | 2 | Link recursion depth limit (0 = only home page, 1 = homepage and its direct links). |
Example Input
{"startUrls": [{ "url": "https://techcognita.com" }],"maxPagesPerDomain": 10,"maxDepth": 2}
Output Structure
The Actor aggregates page data and exports a single clean JSON record per domain into the Apify dataset:
{"url": "https://techcognita.com","domain": "techcognita.com","emails": ["founder@techcognita.com"],"phones": ["+917558508876"],"socials": {"linkedin": "https://linkedin.com/company/techcognita","facebook": "https://facebook.com/techcognita","twitter": "https://twitter.com/techcognita"},"technologies": ["Google Analytics","React","Tailwind CSS"],"scrapedAt": "2026-07-02T17:05:11.687Z","title": "TechCognita | Enterprise Software Development & IT Services","description": "TechCognita delivers premium custom software engineering, business automation, and AI chatbots.","contactPage": "https://www.techcognita.com/about"}
Local Development & Setup
-
Install dependencies:
$npm install -
Run locally:
$npm start -
Check results: Review scraped output items in
storage/datasets/default/. -
Compile TypeScript:
$npm run build
Deployment to Apify Platform
Authenticate your local environment and push the code:
apify loginapify push
Your Actor will build on the Apify platform using the optimal Docker container configuration with headless Chrome and Playwright dependencies preset.