import * as React from "react"; import { cn } from "@/lib/utils"; /** Dashed, animated connector. Vertical on small screens, horizontal from lg. Decorative only. */ function Flow({ className }: { className?: string }) { return (
{/* vertical (mobile) */} {/* horizontal (desktop) */}
); } function Node({ step, title, subtitle, children, className, highlight }: { step: string; title: string; subtitle: string; children?: React.ReactNode; className?: string; highlight?: boolean }) { return (
{step} {highlight ? : null}
{title}
{subtitle}
{children ?
{children}
: null}
); } const NETWORKS: Array<{ label: string; live: boolean }> = [ { label: "Datacenter", live: false }, { label: "Residential", live: true }, { label: "ISP", live: false }, { label: "Mobile", live: false }, { label: "Browser", live: true }, ]; export function ArchitectureDiagram() { return (
POST /v1/fetch
{"{"} url, country {"}"}
  • Bearer key · scopes
  • Request ID on every call
  • Redacted logging
    {NETWORKS.map((n) => (
  • {n.label} {!n.live ? (coming soon) : null}
  • ))}

Residential and the managed browser are live today. Other classes are coming soon; auto resolves to the best available and escalates to the browser on JavaScript challenges.

200 example.com
residential · CA · 842 ms
Your app → Fetcha API → Smart routing → Global web. You never manage proxies, IP pools or retries yourself.
); }