Skip to content

Repository files navigation

🌐 Public APIs

A beautifully designed, open-source registry of free public APIs for developers

License: MIT Next.js TypeScript Tailwind CSS

Live Demo · Report Bug · Request Feature


✨ Features

Feature Description
🔍 Smart Search Full-text search with real-time filtering by category, pricing, auth type, and status
🎮 API Playground Test APIs directly from the browser with the built-in playground
🌙 Dark Mode Beautiful light and dark themes with smooth transitions
⌨️ Command Palette Press Cmd/Ctrl + K for quick navigation and search
📊 Health Monitoring Automated daily health checks via GitHub Actions
📱 Responsive Design Optimized for all devices from mobile to desktop
🚀 60+ APIs Curated collection of working, tested public APIs

🖥️ Screenshots

View Screenshots

Home Page

The landing page features animated statistics, category browsing, and quick access to recently validated APIs.

Browse & Search

Advanced filtering with a responsive sidebar, real-time search, and card-based API display.

API Detail Page

Comprehensive API information including the interactive playground for testing endpoints.


🚀 Quick Start

Prerequisites

  • Node.js 18.17 or later
  • npm, yarn, or pnpm

Installation

# Clone the repository
git clone https://github.com/yourusername/public-apis.git
cd public-apis

# Install dependencies
npm install

# Start the development server
npm run dev

Open http://localhost:3000 to view the application.


📁 Project Structure

public-apis/
├── app/                          # Next.js App Router
│   ├── layout.tsx                # Root layout with providers
│   ├── page.tsx                  # Home page
│   ├── search/page.tsx           # Browse & search page
│   ├── api/[slug]/page.tsx       # API detail page
│   ├── contribute/page.tsx       # Contribution forms
│   ├── opengraph-image.tsx       # Dynamic OG images
│   └── globals.css               # Global styles & theme
├── components/                   # React components
│   ├── CommandPalette.tsx        # Cmd+K search
│   ├── APIPlayground.tsx         # API testing tool
│   ├── ThemeToggle.tsx           # Dark mode toggle
│   ├── APICard.tsx               # API display card
│   ├── FilterSidebar.tsx         # Search filters
│   └── ...                       # Other components
├── lib/                          # Utilities
│   ├── db.ts                     # Data layer
│   ├── types.ts                  # TypeScript types
│   └── utils.ts                  # Helper functions
├── data/                         # JSON data
│   ├── apis.json                 # API registry (60+ APIs)
│   └── categories.json           # Category metadata
├── scripts/                      # Automation scripts
│   ├── validate-apis.js          # Health checker
│   └── update-health-status.js   # Status updater
└── .github/
    ├── workflows/                # CI/CD workflows
    │   └── validate-apis.yml     # Daily health checks
    └── ISSUE_TEMPLATE/           # Issue templates

🛠️ Tech Stack

Category Technology
Framework Next.js 15 (App Router)
Language TypeScript (Strict Mode)
Styling Tailwind CSS + CSS Variables
Animation Framer Motion
Theming next-themes
Icons Lucide React
Command Palette cmdk
OG Images @vercel/og

📜 Available Scripts

npm run dev          # Start development server
npm run build        # Build for production
npm run start        # Start production server
npm run lint         # Run ESLint

🎨 Design System

Colors

Token Light Dark
bg-primary #ffffff #0a0a0f
bg-secondary #f5f5f7 #141419
text-primary #1a1a1a #fafafa
accent #3b82f6 #3b82f6

Typography

  • Display: IBM Plex Mono
  • Body: System fonts (SF Pro, Segoe UI, etc.)

🤝 Contributing

We welcome contributions! There are several ways to help:

1. Add a New API

Use our contribution form or create a GitHub Issue.

2. Report an Issue

Found a broken or outdated API? Report it here.

3. Code Contributions

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

🗺️ Roadmap

  • Dark mode support
  • Command palette (Cmd+K)
  • API playground
  • Automated health checks
  • Dynamic OG images
  • User authentication (GitHub OAuth)
  • API favorites & collections
  • API comparison tool
  • Real-time uptime monitoring dashboard
  • Database migration (PostgreSQL)

📊 API Categories

Category Count Description
Development Tools 15+ Testing, mock data, utilities
Entertainment 20+ Movies, TV, games, fun APIs
Finance & Markets 5+ Crypto, stocks, currency
Weather 3+ Forecasts, climate data
Education 5+ Dictionary, trivia, learning
Maps & Location 5+ Geocoding, countries, places

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.


🙏 Acknowledgments


⭐ Star this repo if you find it helpful!

Made with ❤️ for the developer community

About

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages