TechCognita Website Contact Extractor v1 avatar

TechCognita Website Contact Extractor v1

Pricing

Pay per usage

Go to Apify Store
TechCognita Website Contact Extractor v1

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

Atharv Shinde

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

14 days ago

Last modified

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 /contact or /about page.
  • 💾 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:

FieldTypeRequiredDefaultDescription
startUrlsarrayYes[{"url": "https://techcognita.com"}]List of starting URLs or domains.
maxPagesPerDomainintegerNo10Maximum pages to scrape for each domain to control run length.
maxDepthintegerNo2Link 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

  1. Install dependencies:

    $npm install
  2. Run locally:

    $npm start
  3. Check results: Review scraped output items in storage/datasets/default/.

  4. Compile TypeScript:

    $npm run build

Deployment to Apify Platform

Authenticate your local environment and push the code:

apify login
apify push

Your Actor will build on the Apify platform using the optimal Docker container configuration with headless Chrome and Playwright dependencies preset.