Website Email & Contact Scraper + Page Content Extractor avatar

Website Email & Contact Scraper + Page Content Extractor

Pricing

from $0.80 / 1,000 results

Go to Apify Store
Website Email & Contact Scraper + Page Content Extractor

Website Email & Contact Scraper + Page Content Extractor

Turn any list of URLs into clean Markdown text plus business contacts - emails, social profiles, WhatsApp, contact page, tech stack - in one pass. Fast HTTP fetch, no browser, one flat price per page. Built for RAG pipelines, lead lists and website audits.

Pricing

from $0.80 / 1,000 results

Rating

0.0

(0)

Developer

Umaid Ali

Umaid Ali

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Categories

Share

Website Content & Contact Extractor

Paste a list of URLs, get back clean Markdown text plus business contacts for every page - in one pass, from one fetch, at one flat price per page.

  • 📄 Content – title, description, language, headings, canonical URL and the page body as Markdown (headings, lists, links, code blocks kept) or plain text. Navigation, footers, scripts, cookie banners and forms are stripped.
  • 📬 Contacts – business emails (role addresses only), Facebook / Instagram / LinkedIn / X / YouTube / TikTok profiles, WhatsApp click-to-chat numbers, the contact-page URL and the detected tech stack (CMS, analytics, e-commerce, chat).
  • No browser – plain HTTP fetch, 5 pages in parallel by default, a few hundred milliseconds per page. That is why it costs a fraction of browser-based crawlers.
  • 🧾 Honest statuses – every URL comes back with a status, so you know exactly what you got: ok, thin (client-side rendered site, little server text), parked, http_error, not_html, unreachable, blocked, refused.

🎯 What can you do with it?

  • Feed an LLM / RAG pipeline – Markdown per URL, size-capped, with metadata.
  • Build a lead list from a list of websites – emails, socials and WhatsApp in a CSV.
  • Audit a portfolio of sites – tech stack, language, thin or parked pages.
  • Enrich a CRM – run it on the website column, merge the contacts back.

Pair it with Locomint - Local Business Data to go from "dentists in Lisbon" to every clinic's website and its contact points.


▶️ How to use it

  1. Paste full URLs (with https://) into Page URLs.
  2. Pick Markdown or Plain text, and a size cap per page.
  3. Run. Download the dataset as JSON, CSV, Excel or via the API.

⚙️ Input

FieldTypeDefaultNotes
startUrlslistFull URLs, up to 5,000 per run
outputFormatmarkdown / textmarkdown
maxCharsinteger50,000Longer pages are cut and marked truncated: true
includeContactsbooleantrueEmails, socials, WhatsApp, contact page, tech stack – no extra cost
includeLinksbooleanfalseAdd up to 500 outgoing links per page
concurrencyinteger5Parallel fetches (1–10)

🧾 Example output

{
"url": "https://acme.example/",
"final_url": "https://acme.example/",
"status": "ok",
"http_status": 200,
"title": "Acme Widgets",
"description": "Hand-made widgets since 1999.",
"language": "en",
"headings": ["Welcome to Acme", "Services"],
"content": "# Welcome to Acme\n\nWe build great widgets since 1999.\n\n## Services\n\n- Design\n- Repair",
"word_count": 412,
"truncated": false,
"emails": ["info@acme.example"],
"socials": {"facebook": "https://www.facebook.com/acme", "instagram": "https://www.instagram.com/acme"},
"whatsapp": "+971501234567",
"contact_form_url": "https://acme.example/contact",
"tech_stack": ["wordpress", "woocommerce", "google-analytics"],
"fetched_at": "2026-09-06T12:00:00+00:00"
}

💰 Pricing

One price per page delivered, whatever the page contains. No add-ons for contacts, no compute-unit surprises: a failed URL still returns a row (with its status) so you always know what happened, and a 5,000-URL run costs the same on a slow day as on a fast one.


🛡️ What it deliberately does not do

  • No personal data. Only role-based business mailboxes are kept (info@, sales@, bookings@…); mailboxes that look like a person's name are dropped, and nothing is collected from social profiles.
  • No JavaScript rendering. Sites that render everything client-side come back with status: "thin" rather than a fake result. If you need a browser, Apify's Website Content Crawler is the right tool; this one is the fast, cheap half.
  • No bypassing. If a site answers with a challenge or a block, the row says blocked and we back off. Private and internal addresses are refused.
  • Politeness. Redirects are followed (max 5), bodies are capped at 3 MB, and the same page is never hammered.

❓ FAQ

Does it crawl a whole site? No – one row per URL you give it. That keeps the price predictable. Put the pages you want in the list (sitemaps are a good source).

Why is a page thin? Fewer than ~40 words came back as server-rendered text. Typically a React/Vue single-page app. Contacts may still be found in the HTML.

Can I get the raw HTML? Not in this actor – it is designed to return clean, LLM-ready text. Ask if you need it.

Languages? Any. The language field reports what the page declares.


🧑‍💻 Support

Issues tab on this page, or hello@locomint.io. Part of the Locomint local business data toolkit – see the other actors by this developer.