Website Intelligence + Contact Extractor
Pricing
from $3.50 / 1,000 website record saveds
Website Intelligence + Contact Extractor
Enrich company websites with emails, phones, social links, tech stack, and EU compliance signals. Optional BYOK AI business classification. Works standalone or after Google Maps CEE Supplier Shortlist Builder.
Pricing
from $3.50 / 1,000 website record saveds
Rating
0.0
(0)
Developer
Viktor Kondas
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Enrich company websites with contacts, tech stack, and EU-aware compliance signals — then optionally classify with BYOK AI.
Standalone Apify actor. Works with any public website list worldwide. Pairs well with the Google Maps CEE Supplier Shortlist Builder website field, but does not require it.
Optional next step after Maps: feed shortlist website URLs into this actor for emails, phones, tech stack, and EU compliance flags.
What it does
- Fetches the homepage over HTTP (browser fallback + residential proxy for bot-walled sites).
- Crawls a small set of high-value pages (contact, about, imprint, privacy, careers).
- Returns structured JSON/CSV/Excel with contacts, social profiles, tech signals, and compliance flags.
- Extracts:
- Contacts: emails, phones, LinkedIn/Facebook/X/Instagram/YouTube/WhatsApp, contact form URL
- IDs: EU VAT heuristics, HU tax ID / PL NIP patterns when present
- Tech: CMS, shop, analytics, chat, booking, CRM, tag managers, cookie tools
- Compliance flags: cookie banner, privacy, imprint/impresszum, terms/ÁSZF, careers, newsletter
- Languages:
html lang+ hreflang
- Optional multi-provider AI enrichment (BYOK): Gemini, Claude, ChatGPT, or OpenRouter.
- Built for n8n, Make, Zapier, and vibe-coder agent workflows.
Who it's for
- Sales teams enriching SME lead lists after Maps or CRM exports.
- Procurement teams checking supplier website hygiene before outreach.
- Agencies running batch website intelligence for clients.
- Vibe coders powering enrichment steps in n8n / Make / Zapier / Apify.
- Market researchers auditing contactability and tech stack across a domain list.
What this actor is — and is not
This actor helps you extract public website signals useful for outreach and shortlist prep. It does not verify legal entity status, GDPR compliance quality, insurance, certifications, or formal vendor approval.
Use the output for:
- contact discovery
- tech / stack fingerprinting
- EU-style page hygiene checks (privacy, impresszum, terms)
- enrichment after Google Maps or CRM exports
Do not use it as the sole basis for KYB, contract award, or formal vendor qualification.
What data you get
| Field | Description |
|---|---|
website, domain, finalUrl | Input URL, normalized domain, final resolved URL |
statusCode, pagesCrawled | HTTP status and pages successfully fetched |
emails, phones | Contact channels found on crawled pages |
linkedin, facebook, twitter, instagram, youtube, whatsapp | Social profile URLs (posts/embeds filtered out) |
contactFormUrl | Detected contact form page when present |
vatNumbers, taxIds | EU VAT / local tax ID heuristics when present |
cms, shop, analytics, chat, booking, crm, tagManagers, cookies, otherTech | Tech stack signals |
hasPrivacyPage, hasImprintPage, hasTermsPage, hasCareerPage, hasCookieBanner, hasNewsletter | Compliance / page flags |
privacyPageUrl, imprintPageUrl, termsPageUrl, careerPageUrl, contactPageUrls | Matched page URLs |
languages | Detected language codes |
aiBusinessType, aiSummary | When AI enrichment is enabled |
error | Set when the site could not be fetched usefully |
How to use it
- Configure input — website list, max pages, concurrency, proxy.
- Run on Apify cloud (recommended) or locally with
apify run. - Download dataset as JSON, CSV, or Excel from the run page.
Input presets
Enrich company websites (Store example)
{"websites": ["https://www.vibecoderslife.com","https://www.projectisconsulting.com"],"maxPagesPerSite": 6,"concurrency": 2,"enableAIEnrichment": false,"proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"]}}
Published Store example: Enrich company websites — contacts & tech stack.
After Google Maps shortlist
{"websites": ["https://example-clinic.hu","https://example-supplier.ro"],"maxPagesPerSite": 6,"concurrency": 3,"enableAIEnrichment": false,"proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"]}}
Pipe website values from Google Maps CEE Supplier Shortlist Builder into this list.
With optional BYOK AI enrichment
{"websites": ["https://www.vibecoderslife.com","https://www.projectisconsulting.com"],"maxPagesPerSite": 6,"enableAIEnrichment": true,"aiProvider": "openrouter","openrouterApiKey": "YOUR_KEY","proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"]}}
Output example
{"website": "https://www.projectisconsulting.com","domain": "projectisconsulting.com","finalUrl": "https://www.projectisconsulting.com/","statusCode": 200,"pagesCrawled": 2,"emails": ["mariann@projectisconsulting.com"],"phones": [],"linkedin": ["https://www.linkedin.com/in/mariann-vamosi"],"facebook": [],"twitter": [],"instagram": [],"youtube": [],"whatsapp": [],"contactFormUrl": null,"vatNumbers": [],"taxIds": [],"languages": ["en", "hu"],"cms": ["Wix"],"analytics": ["GA4", "Google Analytics"],"hasCookieBanner": false,"hasPrivacyPage": true,"hasImprintPage": false,"hasTermsPage": false,"privacyPageUrl": "https://www.projectisconsulting.com/adatvedelem","scrapedAt": "2026-07-16T15:54:29.848Z","error": null,"aiBusinessType": null,"aiSummary": null}
AI enrichment (BYOK — bring your own key)
Scraping and contact/tech extraction work without any LLM key. AI is optional and classifies only the public evidence collected.
When enableAIEnrichment is true, choose aiProvider and paste your API key:
| Provider | Input key field | Get key |
|---|---|---|
| Gemini (default in auto) | geminiApiKey | Google AI Studio |
| Claude | anthropicApiKey | Anthropic Console |
| ChatGPT | openaiApiKey | OpenAI API keys |
| OpenRouter | openrouterApiKey | OpenRouter |
| auto | First available key above | Tries Gemini → Claude → OpenAI → OpenRouter |
OpenRouter model: override with aiModel when needed.
Proxy and blocked sites
| Feature | Support |
|---|---|
| Apify Proxy RESIDENTIAL | Recommended default for Cloudflare / Vercel / enterprise walls |
| Browser fallback | Retries with rotating residential sessions when HTTP is challenged |
| Plain HTTP sites | Work without a browser on most SME sites |
If a run shows HTTP 429 / bot challenge in error, confirm Proxy is Apify Proxy + RESIDENTIAL and re-run. The Console message “URL isn’t accessible” after a finished run usually refers to the temporary container URL — check the Dataset error field instead.
Recommended demo run:
{"websites": ["https://www.vibecoderslife.com","https://www.projectisconsulting.com"],"maxPagesPerSite": 6,"concurrency": 2,"enableAIEnrichment": false,"proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"]}}
Secrets and local development
- Never commit
apify/website-intelligence-contact-extractor/.env— it is listed in.gitignore. apify pushexcludes.envvia.gitignoreand.actorignore.- Docker builds exclude
.envvia.dockerignore. - On Apify cloud, customers paste keys into input fields (
openrouterApiKey, etc.) marked as secrets — not from your local.env. - For local runs only, copy
.env.example→.envand add optional BYOK keys (GEMINI_API_KEY, etc.). - Only
.env.example(placeholders, no real keys) is in git.
FAQ
How is this different from a generic email scraper?
This actor returns one enriched domain record with contacts, social profiles, tech stack, and EU-style compliance page flags — not a raw email dump.
Does it work outside CEE?
Yes. Marketing ICP is CEE/Europe; the scanner works on public websites worldwide.
What is AI enrichment and does it cost extra on Apify?
AI enrichment is optional and BYOK. You pay your LLM provider directly. The actor’s Apify fee is per saved website record. Extraction works with zero LLM keys.
Why are some enterprise sites empty or errored?
Heavy bot walls (Oracle-class) can still block residential exits intermittently. Re-run usually rotates to a working node; SME sites are the primary sweet spot.
Local development
cd apify/website-intelligence-contact-extractornpm installnpm testnpm run buildapify run --input-file=INPUT.smoke-mix.json
Pricing
Pay-per-event: $3.50 per 1,000 website records (website event @ $0.0035), minimum charge $0.10 per run.
Enable Pay per event + usage in Apify Console so platform compute/proxy costs are passed through to users.
AI enrichment does not add an Apify AI event fee.
Related actors (suite)
| Actor | Role |
|---|---|
| Google Maps CEE Supplier Shortlist | Discover local suppliers |
| Website Intelligence + Contact (this Actor) | Enrich websites (contacts, tech, compliance) |
| Dealer / Distributor Locator | Expand brand locator pages |
| PDF Procurement Document Extractor | Find certs / reports / datasheets |
| Website Change Monitor | Watch pages for changes |
Each Actor runs standalone; use them as an optional suite when chaining discovery → enrichment → monitoring.
Feedback
Open an issue on the actor’s Apify page or contact Vibe Coder's Life.