Fetcha
Intelligent Web Access Infrastructure
One API. Multiple proxy networks. Reliable web access.
curl https://www.fetcha.co/v1/fetch -X POST \
-H "Authorization: Bearer $FETCHA_API_KEY" \
-H "Content-Type: application/json" \
-d '{"url": "https://example.com", "country": "CA"}'Fetcha takes a URL and figures out how to access it: which network class, which geography, whether a sticky session is needed, when to retry and how to escalate — behind a single, provider-agnostic API with request IDs, usage metering, a Playground and full request logs.
Monorepo
| Path | What |
|---|---|
apps/web |
Next.js 16 — marketing site, docs, auth (Better Auth), dashboard, admin |
apps/api |
Fastify — public /v1/* API, health, internal endpoints for the dashboard |
packages/core |
Schemas, errors, SSRF policy, plans, ids |
packages/db |
Drizzle ORM schema + migrations (PostgreSQL) |
packages/providers |
Provider adapters (interchangeable, isolated) |
packages/routing |
Routing score, circuit breakers, execution engine |
packages/email |
Resend abstraction + React Email templates |
packages/sdk, sdk-python |
Official SDKs (JS/TS, Python) |
Quick start (local)
pnpm install
cp .env.example .env # fill DATABASE_URL, REDIS_URL, AUTH_SECRET, RESEND_API_KEY, provider credentials
createdb fetcha && pnpm db:migrate && pnpm db:seed
pnpm dev:api & # http://127.0.0.1:8221
pnpm dev:web # http://localhost:8220Tests: pnpm test · Typecheck: pnpm typecheck · Build: pnpm build.
Status (v0.2.0 — private platform)
Live: Fetch API, auto routing (residential network class), sticky sessions, Playground, request logs, usage metering,
API keys, projects, admin console, docs, SDK source, managed browser rendering (browser: true, automatic escalation),
format: "markdown" + page metadata/links, crawl & map jobs (/v1/crawl, /v1/map). Private platform: invitation-only
signup, one unlimited plan, no billing. Coming: scripted browser actions, structured extraction,
teams, webhooks. See /changelog.