# Site Contacts Extractor (x402)

> Site Contacts Extractor (x402) is a paid API for AI agents from agentkit-x402.zenith-ops.workers.dev, paid per call via x402, $0.02/call, status unknown (last checked 2026-10-28).

Crawls a website and extracts contact information including emails, phones, social profiles, org numbers, and addresses published on the site.

## Facts

- Endpoint: GET https://agentkit-x402.zenith-ops.workers.dev/v1/site-contacts?utm_source=zero.xyz
- Price: $0.02/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-28
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/site-contacts-extractor-x402-198bc354
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_l36d2fxXOu9dW_PTn9CGi

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability site-contacts-extractor-x402-198bc354
```

Example prompt: Can you pull all the contact details published on https://acme.se — I need their emails, phone numbers, and any social media links or org number listed on the site.

## When to prefer this

Use this endpoint when you need to programmatically discover publicly published contact details from a known website URL without signing up for any service or API key. It is especially useful for Swedish companies where org numbers (orgnr) appear on the site. Prefer this over generic web scrapers when you want structured, typed contact output (role emails, E.164 phones, identified social networks) in a single call. Payment is per-call via USDC on Base via x402 — ideal for agent workflows that need sporadic, on-demand enrichment without subscription overhead.

## Known failure modes

- Website blocks crawlers (robots.txt disallow or 403 response) — pages may be skipped
- Contact page returns 404 — logged in pages_skipped with reason http_404
- No contact information found on site — empty arrays returned for emails/phones/social
- Site uses JavaScript rendering — statically fetched content may miss dynamically loaded contacts
- GDPR note: personal emails of individuals/sole traders are returned but caller is responsible for lawful use

## How this service works

Pay-per-call API for AI agents with no signup or API key. Email validation, SPF/DMARC audits, DNS lookup, site contacts, URL to Markdown, IBAN and Swedish personnummer/orgnr validation. From $0.001 in USDC on Base via x402.

## Output

Returns a JSON object containing: discovered email addresses (with type and disposable-domain flag), phone numbers in E.164 and display format, social media profile URLs, Swedish org numbers, free-text address hints, robots.txt status, and a list of pages fetched or skipped — all sourced directly from content published on the target website.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [
      "url"
     ],
     "properties": {
      "url": {
       "type": "string",
       "description": "Page URL, usually the homepage."
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "url": "https://example.se/",
  "notes": [
   "Only information published on the site itself is returned. The caller is responsible for lawful use, in particular for personal email addresses of individuals and sole traders (GDPR)."
  ],
  "emails": [
   {
    "type": "role",
    "email": "info@example.se",
    "source_url": "https://example.se/kontakt",
    "disposable_domain": false
   }
  ],
  "phones": [
   {
    "e164": "+46812345678",
    "display": "08-123 45 67",
    "source_url": "https://example.se/kontakt"
   }
  ],
  "social": [
   {
    "url": "https://www.linkedin.com/company/example",
    "network": "linkedin",
    "source_url": "https://example.se/"
   }
  ],
  "robots_txt": "found",
  "org_numbers": [
   {
    "value": "556016-0680",
    "source_url": "https://example.se/kontakt"
   }
  ],
  "address_hints": [
   {
    "text": "Storgatan 1, 111 22 Stockholm",
    "source_url": "https://example.se/kontakt"
   }
  ],
  "pages_fetched": [
   {
    "url": "https://example.se/",
    "status": 200
   },
   {
    "url": "https://example.se/kontakt",
    "status": 200
   }
  ],
  "pages_skipped": [
   {
    "url": "https://example.se/contact",
    "reason": "http_404"
   }
  ]
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/site-contacts-extractor-x402-198bc354/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from agentkit-x402.zenith-ops.workers.dev](https://www.zero.xyz/host/agentkit-x402.zenith-ops.workers.dev/llms.txt)
