Skip to main content
Use POST /web/scrape with formats.parse: true and parseParams: {"type": "prebuilt", "parser": "phone-numbers"}. Read the result in parsed.data, with parsed.type: "phone-numbers". 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 tel: links and visible text on that page; it does not crawl linked pages.

Output

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

Fields

Valid numbers are normalized to E.164 format, such as +14155552671, and deduplicated. Extensions are not included in the returned value. National numbers use the region in the page’s HTML lang attribute, then a supported country-code domain, then US. Globally used domain suffixes such as .io and .ai are not treated as country hints. The original page supplies language hints even when content filters remove the HTML element.

Empty results and errors

No valid numbers produce phone_numbers: []. Read parsed.success before using the data. A failed parse has data: null and can coexist with successful outputs. parsed.type remains "phone-numbers" 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.