A full‑stack API discovery platform to discover, compare, review, and bookmark APIs faster.
- Overview
- Architecture
- Features
- Tech Stack
- API Reference (quick)
- Local Development
- Docker
- Contributing
- License
ApiScout centralizes API discovery: search, compare, review, and bookmark APIs across categories so developers can choose the right provider faster and with confidence.
Key goals:
- Fast search and filters
- Clear, developer-focused UI
- Community reviews and ratings
- Lightweight admin workflows for maintaining API entries
Frontend (Next.js) → Backend (NestJS REST API) → PostgreSQL (Prisma ORM)
Simple pipeline:
- Next.js handles SSR pages, client interactions, and admin UI
- NestJS implements controllers, services, and Prisma access layers
- PostgreSQL stores normalized data with relations for tags, categories, and users
- Authentication: JWT-based auth with role-based access (Admin / User)
- API Discovery: search, filter, pagination, and category/tag browsing
- Reviews & Ratings: community feedback for API entries
- Bookmarks: users can save APIs to their profile
- Admin: create/update API entries (admin only)
- Docker-ready for production
- Frontend: Next.js, TypeScript, TailwindCSS, shadcn/ui
- Backend: NestJS, TypeScript, Prisma ORM
- Database: PostgreSQL
- Infrastructure: Docker, docker-compose, Vercel (frontend)
- POST /auth/register — Register a user
- POST /auth/login — Login and receive JWT
- GET /apis — List APIs (supports pagination and query filters)
- GET /apis?category=&page= — Filtered APIs
- POST /apis — Create API entry (Admin only)
- POST /bookmark — Bookmark an API (authenticated)
Backend
- Install dependencies and run dev server:
cd apps/backend
npm install
npm run start:dev- Environment variables
Create a .env with at least:
DATABASE_URL=postgresql://user:password@localhost:5432/apiscout
JWT_SECRET=your_jwt_secret_here
Frontend
cd apps/frontend
npm install
npm run devStart both services with docker-compose:
docker-compose up --buildEnsure .env is configured for the database before bringing up containers.
Contributions are welcome. Suggested workflow:
- Fork the repository
- Create a feature branch:
git checkout -b feat/your-feature - Commit changes with clear messages
- Open a Pull Request
This project is licensed under the MIT License. See the LICENSE file for details.
Made with ❤️ to help developers choose better APIs, faster.