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 · 44 lines markdown
Rendered Raw Blame History
1<p align="center"><img src="apps/web/public/icon.svg" width="56" alt="Fetcha" /></p>2<h1 align="center">Fetcha</h1>3<p align="center"><strong>Intelligent Web Access Infrastructure</strong><br/>One API. Multiple proxy networks. Reliable web access.</p>45```bash6curl https://www.fetcha.co/v1/fetch -X POST \7  -H "Authorization: Bearer $FETCHA_API_KEY" \8  -H "Content-Type: application/json" \9  -d '{"url": "https://example.com", "country": "CA"}'10```1112Fetcha takes a URL and figures out how to access it: which network class, which geography, whether a sticky session is13needed, when to retry and how to escalate — behind a single, provider-agnostic API with request IDs, usage metering,14a Playground and full request logs.1516## Monorepo17| Path | What |18|---|---|19| `apps/web` | Next.js 16 — marketing site, docs, auth (Better Auth), dashboard, admin |20| `apps/api` | Fastify — public `/v1/*` API, health, internal endpoints for the dashboard |21| `packages/core` | Schemas, errors, SSRF policy, plans, ids |22| `packages/db` | Drizzle ORM schema + migrations (PostgreSQL) |23| `packages/providers` | Provider adapters (interchangeable, isolated) |24| `packages/routing` | Routing score, circuit breakers, execution engine |25| `packages/email` | Resend abstraction + React Email templates |26| `packages/sdk`, `sdk-python` | Official SDKs (JS/TS, Python) |2728## Quick start (local)29```bash30pnpm install31cp .env.example .env            # fill DATABASE_URL, REDIS_URL, AUTH_SECRET, RESEND_API_KEY, provider credentials32createdb fetcha && pnpm db:migrate && pnpm db:seed33pnpm dev:api &                  # http://127.0.0.1:822134pnpm dev:web                    # http://localhost:822035```36Tests: `pnpm test` · Typecheck: `pnpm typecheck` · Build: `pnpm build`.3738## Status (v0.2.0 — private platform)39Live: Fetch API, auto routing (residential network class), sticky sessions, Playground, request logs, usage metering,40API keys, projects, admin console, docs, SDK source, managed browser rendering (`browser: true`, automatic escalation),41`format: "markdown"` + page metadata/links, crawl & map jobs (`/v1/crawl`, `/v1/map`). Private platform: invitation-only42signup, one unlimited plan, no billing. Coming: scripted browser actions, structured extraction,43teams, webhooks. See `/changelog`.44