Extract contacts from a website
extract_contactsCrawl a company website and extract emails, phone numbers and social profiles. Accepts a bare domain or a full URL; max_pages (1-20, default 5) bounds the crawl.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"website": "<website>"
},
"name": "extract_contacts"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| website | Yes | The website to crawl: a bare domain ('example.com') or a full URL ('https://example.com'). | |
| max_pages | No | Maximum number of pages to crawl (1-20, default 5). |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | The start URL crawled. | |
| error | No | Set only when there is no answer (empty_query, invalid_cui, data_unavailable, plan_required ...); such a call is not counted. | |
| domain | No | The site's registrable domain. | |
| emails | No | Addresses on the site's own domain. | |
| github | No | GitHub profile. | |
| phones | No | Phone numbers found. | |
| message | No | A sentence for the caller. | |
| No | X / Twitter profile. | ||
| youtube | No | YouTube channel. | |
| No | Facebook profile. | ||
| No | LinkedIn page. | ||
| No | Instagram profile. | ||
| otherEmails | No | Other addresses found on the site. | |
| socialLinks | No | Every social link found, best first. | |
| pagesCrawled | No | Pages read. | |
| personalEmails | No | Addresses shaped like a person's (firstname.lastname@): personal data, so GDPR art. 14 and Law 506/2004 apply. Role addresses (office@) rank first. |