Skip to main content
Use POST /web/scrape with formats.parse: true and parseParams: {"type": "prebuilt", "parser": "emails"}. Read the result in parsed.data, with parsed.type: "emails". See the Quickstart for authentication and SDK setup. Don’t send custom rules with this parser. For CSS selectors and rules, use the Custom parser.

Request

Use any supported page URL. The parser reads mailto: links, Cloudflare-obfuscated addresses, and visible text. It extracts from one page; it does not crawl linked pages.

Output

When parsed.success is true, the parsed output has this shape:

Fields

Addresses are trimmed, converted to lowercase, validated, and deduplicated. Known placeholder domains and placeholder or unmonitored local parts are excluded. Hidden text and script contents are not scanned as visible text.

Empty results and errors

No matching contact addresses produce emails: []. Read parsed.success before using the data. A failed parse has data: null and can coexist with successful outputs. parsed.type remains "emails" even when parsing fails. See timeouts and errors for handling failures.

Request options

This parser runs on page HTML after content filtering. Browser actions can change the page before extraction, and browser profiles can provide an authenticated session. Cached HTML can be reused; set maxAgeMs: 0 for fresh data. Timeouts and zero data retention also apply.