Fetcha

Fetcha

Intelligent Web Access Infrastructure
One API. Multiple proxy networks. Reliable web access.

```bash 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) ```bash 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:8220 ``` Tests: `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`.