SPB Git

spb/fetcha

Public
2.0 KB

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.1.0 — public preview)

Live: Fetch API, auto routing (residential network class), sticky sessions, Playground, request logs, usage metering, API keys, projects, admin console, docs, SDK source. Coming: managed browser, structured extraction, Stripe checkout, teams, webhooks. See /changelog.

Files · 6b215c2d5f54167737c2d57307f22c84bc934434
Menu

Theme