SPB Git forge

spb/fetcha

Public
11commits 1branches 0releases
1.5 MBsize
maindefault branch
16 days agolast push
TypeScript 97.5% SQL 1.4% Python 0.8%
2.2 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.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.