Use Case

Enrich leads from
real websites

Most enrichment scripts fail on the modern web: Cloudflare, dynamic rendering, and geo quirks. browser.city gives you a stealth-by-default extraction primitive so your pipeline has fewer holes.

URL → Markdown

Convert company sites into clean markdown for enrichment, scoring, and LLM pipelines.

Stealth For Real Websites

Avoid bot walls that break “simple” enrichment scripts. Stealth defaults mean fewer missing fields.

Batch When It’s a Dataset

Move from a list of leads to a pipeline: batch endpoints + concurrency with predictable outputs.

Interactive Fallbacks

When a site needs clicks or login, switch to Sessions (Playwright connect) or Humanized REST tools.

Privacy Posture

Enrichment is sensitive. A zero-logs stance helps you keep customer and prospect data out of vendor systems.

Simple Primitives

Keep your enrichment logic in your stack. browser.city provides the browsing/extraction primitive, nothing else.

Extract emails (and other signals)

Fetch a lead’s website as markdown, then extract signals like emails, social links, pricing, and product keywords.

enrich.ts
const apiKey = process.env.BROWSERCITY_API_KEY!;const opts = { method: "POST", headers: { Authorization: `Bearer ${apiKey}` } };const res = await fetch("https://api.browser.city/v1/requests", {  ...opts,  body: JSON.stringify({ url: "https://example.com", markdown: true }),}).then((r) => r.json());const md = String(res.content ?? "");const emails = Array.from(  md.matchAll(/[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,}/gi),  (m) => m[0],);console.log({ emails: Array.from(new Set(emails)) });

Signals teams actually ship

Company description
Pricing model
Contact emails
Social links
Jobs/careers
Docs links
Security page
Changelog
[ 06 / 06 ] — Get Started

Start building in under a minute

Free tier. No credit card. Full stealth from day one.