Skip to content

mnco25/public-apis

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

8 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

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

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors