Contact Scraper avatar

Contact Scraper

Pricing

from $100.00 / 1,000 site analyzeds

Go to Apify Store
Contact Scraper

Contact Scraper

This scraper finds emails, phones, contact forms, chat widgets, and social links, then captures the page signals AI agents and browser automation tools can use to find them again. Built for Claude, Cursor, Codex, and similar agents to click, fill, and navigate reliably.

Pricing

from $100.00 / 1,000 site analyzeds

Rating

0.0

(0)

Developer

Akula

Akula

Maintained by Community

Actor stats

0

Bookmarked

5

Total users

3

Monthly active users

a month ago

Last modified

Share

AI Website Contact Scraper

This scraper finds not only emails and phone numbers, but also contact forms, chat widgets, social links, and the page signals a browser automation agent can use to find those elements again.

Built for browser automation, it helps agents like Claude, Cursor, Codex, and OpenClaw understand how to reach a site and what to click, fill, or submit.

What it does

For each website, the scraper can find:

  • emails
  • phone numbers
  • social profile URLs
  • contact forms
  • chat or support widgets
  • automation-friendly selector hints for forms and widgets

In plain English: it tells your AI agent who to contact, where to go, and what to click or fill.

Why this is useful

Most contact scrapers stop at collecting emails.

This one goes further. When it finds a form or widget, it also returns the clues an AI browser needs to locate that element on the live page later. That makes it useful for:

  • AI outreach agents
  • browser automation
  • lead enrichment
  • sales research
  • support workflow mapping
  • contact-flow QA

Input

Apify-style input

{
"startUrls": [
{ "url": "https://example.com" }
],
"maxPagesPerDomain": 20
}

Main input fields

  • startUrls — one or more seed URLs
  • maxPagesPerDomain — max pages to inspect per domain

Output

The scraper returns a JSON array. Each item contains the input URL and the contact targets found across that site.

[
{
"input_url": "https://example.com",
"domain": "example.com",
"targets": [
{
"page_url": "https://example.com/contact",
"confidence": { "level": "VERIFIED" },
"emails": [],
"phones": [],
"contact_forms": [],
"social_profiles": [],
"contact_widgets": []
}
],
"meta": {
"site": null,
"domain": null
}
}
]

What you get back

Emails

Direct email addresses found on the page.

[{ "value": "contact@example.com" }]

Phones

Phone numbers, normalized when possible.

[{ "value": "+18668323090" }]

Social profiles

Social URLs like X, LinkedIn, Facebook, Instagram, and others.

[{ "network": "x", "value": "https://twitter.com/example" }]

Contact forms

When a form is found, the scraper returns field and submit hints your automation can use later.

Typical fields include:

  • field_locator_hints
  • form_locator_hints
  • submit_locator_hints
  • form_signature
  • resolution_method
  • usage_notes

Short example:

{
"method": "POST",
"resolution_method": "snapshot_ref",
"field_locator_hints": {
"name": { "label": "Your Name", "id": "contact_form_Name" },
"email": { "label": "Email Address", "id": "contact_form_Email" },
"message": { "label": "Message", "id": "contact_form_Message" }
},
"submit_locator_hints": {
"tag": "button",
"control_type": "submit",
"text": "Send Message"
}
}

Contact widgets

When a live chat or messaging widget is found, the scraper returns provider and launcher hints.

Typical providers include:

  • LiveChat
  • Crisp
  • WhatsApp widget
  • Intercom
  • Drift
  • Zendesk
  • Tawk.to

Short example:

{
"provider": "LiveChat",
"resolution_method": "snapshot_ref",
"widget_locator_hints": {
"provider": "LiveChat",
"matched_by": ["script_host", "static_launcher"],
"launcher_text": "Chat with us"
}
}

How AI browsers should use the selectors

Do not treat scraped CSS paths as permanent selectors.

Best workflow:

  1. Open page_url
  2. Take a fresh browser snapshot
  3. Match elements using label, text, id, placeholder, name, role, or aria-label
  4. Use the matched live element for fill/click actions

debug_css_path is only a backup clue for debugging.

Confidence

Each contact target includes a confidence level.

  • VERIFIED — strong contact signals confirmed
  • LIKELY — good signal, but less certainty
  • POSSIBLE or PLAUSIBLE — weaker or indirect signal

This helps your agent choose the best contact path first.

Good use cases

  • find the best way to contact a company
  • map forms and chat widgets before automation
  • enrich leads with emails, phones, and socials
  • power AI outreach workflows
  • monitor whether contact paths changed on a site